On 210807 1019, Philippe Mathieu-Daudé wrote: > On 8/7/21 12:23 AM, Alexander Bulekov wrote: > > Encapsulation offload (offload mode 1) is a valid mode present in the > > kernel that isn't implemented in QEMU, yet. > > > > https://lore.kernel.org/lkml/20200528015426.8285-4-dos...@vmware.com/ > > > > Add a stub for this mode, to avoid the guest-triggerable assertion. > > > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/517 > > Signed-off-by: Alexander Bulekov <alx...@bu.edu> > > --- > > hw/net/vmxnet3.c | 5 +++++ > > hw/net/vmxnet3.h | 1 + > > 2 files changed, 6 insertions(+) > > > > diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c > > index 41f796a247..62e11d0e3e 100644 > > --- a/hw/net/vmxnet3.c > > +++ b/hw/net/vmxnet3.c > > @@ -443,6 +443,11 @@ vmxnet3_setup_tx_offloads(VMXNET3State *s) > > net_tx_pkt_build_vheader(s->tx_pkt, false, false, 0); > > break; > > > > + case VMXNET3_OM_ENCAP: > > + VMW_PKPRN("Encapsulation offload requested, but not available\n"); > > + return false; > > + break; > > No need to break if you returned (unreachable).
I included it in case the feature ends up being added, so there is one less thing to worry about, but I can remove it. There are a couple of places in QEMU where this occurs, so I wasn't sure about the best practice. -Alex > > > + > > case VMXNET3_OM_CSUM: > > net_tx_pkt_build_vheader(s->tx_pkt, false, true, 0); > > VMW_PKPRN("L4 CSO requested\n"); > > diff --git a/hw/net/vmxnet3.h b/hw/net/vmxnet3.h > > index 5b3b76ba7a..36a17b82aa 100644 > > --- a/hw/net/vmxnet3.h > > +++ b/hw/net/vmxnet3.h > > @@ -273,6 +273,7 @@ struct Vmxnet3_TxDesc { > > > > /* TxDesc.OM values */ > > #define VMXNET3_OM_NONE 0 > > +#define VMXNET3_OM_ENCAP 1 > > #define VMXNET3_OM_CSUM 2 > > #define VMXNET3_OM_TSO 3 > > > > >