[PATCH 7/8] vmxnet3: Set packet for fragmented packet
Andrew Rybchenko
andrew.rybchenko at oktetlabs.ru
Thu May 5 10:45:30 CEST 2022
Hi Pankaj,
On 5/4/22 23:40, Pankaj Gupta wrote:
>
> Hi Andrew,
>
> Packet type was not set for fragmented packets so we are trying to set
> it in all possible scenarios.
>
> I believe TCP packets can be fragmented.
>
Theoretically it is possible, yes. OK, my main goal was to check that
we are really talking about L3 fragmentation, not scattering on Rx
and I've got the answer.
Thanks,
Andrew.
>
> Thanks,
>
> Pankaj
>
> *From: *Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> *Date: *Wednesday, May 4, 2022 at 8:08 AM
> *To: *Pankaj Gupta <pagupta at vmware.com>, Jochen Behrens
> <jbehrens at vmware.com>, Yong Wang <yongwang at vmware.com>
> *Cc: *dev at dpdk.org <dev at dpdk.org>
> *Subject: *Re: [PATCH 7/8] vmxnet3: Set packet for fragmented packet
>
> ⚠External Email
>
> On 5/3/22 07:22, Pankaj Gupta wrote:
> > The packet type is set even if it is a fragmented packet
>
> I'm wondering if is really IPv4/IPv6 fragmented packets or just
> scattered on Rx across many Rx buffers.
> I'm asking since fragmented sounds weird with TCP, since TCP
> spec forbids fragmentation.
>
> >
> > Tested, using testpmd, for different hardware versions on
> > ESXi 7.0 Update 2.
> >
> > Signed-off-by: Pankaj Gupta <pagupta at vmware.com>
> > ---
> > drivers/net/vmxnet3/vmxnet3_rxtx.c | 17 +++++++++++++++++
> > 1 file changed, 17 insertions(+)
> >
> > diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c
> b/drivers/net/vmxnet3/vmxnet3_rxtx.c
> > index a6665fbf70..5e177400c0 100644
> > --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
> > +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
> > @@ -759,6 +759,23 @@ vmxnet3_rx_offload(struct vmxnet3_hw *hw, const
> Vmxnet3_RxCompDesc *rcd,
> > /* Check packet type, checksum errors, etc. */
> > if (rcd->cnc) {
> > ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN;
> > +
> > + if (rcd->v4) {
> > + packet_type |=
> RTE_PTYPE_L3_IPV4_EXT_UNKNOWN;
> > + if (rcd->tcp)
> > + packet_type |= RTE_PTYPE_L4_TCP;
> > + else if (rcd->udp)
> > + packet_type |= RTE_PTYPE_L4_UDP;
> > + } else if (rcd->v6) {
> > + packet_type |=
> RTE_PTYPE_L3_IPV6_EXT_UNKNOWN;
> > + if (rcd->tcp)
> > + packet_type |= RTE_PTYPE_L4_TCP;
> > + else if (rcd->udp)
> > + packet_type |= RTE_PTYPE_L4_UDP;
> > + } else {
> > + packet_type |= RTE_PTYPE_UNKNOWN;
> > + }
> > +
> > } else {
> > if (rcd->v4) {
> > packet_type |=
> RTE_PTYPE_L3_IPV4_EXT_UNKNOWN;
>
>
> ________________________________
>
> ⚠External Email: This email originated from outside of the
> organization. Do not click links or open attachments unless you
> recognize the sender.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20220505/9d8fdb0a/attachment.htm>
More information about the dev
mailing list