DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] ixgbe and UDP with zero checksum
@ 2021-01-27 13:49 Paolo Valerio
  2021-01-27 17:26 ` Wang, Haiyue
  0 siblings, 1 reply; 9+ messages in thread
From: Paolo Valerio @ 2021-01-27 13:49 UTC (permalink / raw)
  To: dev; +Cc: jia.guo, haiyue.wang, Aaron Conole

Hi,

performing some tests, I noticed that on ixgbe when receiving UDP
packets with zero checksum (no checksum) over IPv4, the corresponding
ol_flag for the l4 checksum is set to PKT_RX_L4_CKSUM_BAD.

In particular, this apparently has an impact on OvS using ct() action
where UDP packets with zero checksum are not tracked because of that.

I also verified it using testpmd (on 20.11 and using the latest sources):

# lshw -businfo -c network
Bus info          Device     Class          Description
=======================================================
pci@0000:01:00.0  em1        network        82599ES 10-Gigabit SFI/SFP+ Network Connection
pci@0000:01:00.1  em2        network        82599ES 10-Gigabit SFI/SFP+ Network Connection

testpmd -l 2,4 -w 0000:01:00.0 -- -i --port-topology=chained --enable-rx-cksum
testpmd> show device info all

********************* Infos for device 0000:01:00.0 *********************
Bus name: pci
Driver name: net_ixgbe
Devargs: 
Connect to socket: 0

        Port id: 0 
        MAC address: EC:F4:BB:DB:FC:18
        Device name: 0000:01:00.0
        Device speed capability: 1 Gbps   10 Gbps


testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start

and sending packets from a tester machine using scapy (w/ non zero and zero checksum):

sendp(Ether(src="ec:f4:bb:dc:09:d0",dst="ec:f4:bb:db:fc:18")/IP(src="192.168.30.200", dst="192.168.30.100")/UDP()/Raw("a"*100), iface="em1")

sendp(Ether(src="ec:f4:bb:dc:09:d0",dst="ec:f4:bb:db:fc:18")/IP(src="192.168.30.200", dst="192.168.30.100")/UDP(chksum=0)/Raw("a"*100), iface="em1")

the results are respectively:

port 0/queue 0: received 1 packets
  src=EC:F4:BB:DC:09:D0 - dst=EC:F4:BB:DB:FC:18 - type=0x0800 - length=142 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4 L4_UDP  - sw ptype: L2_ETHER L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - Receive queue=0x0
  ol_flags: PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN

port 0/queue 0: received 1 packets
  src=EC:F4:BB:DC:09:D0 - dst=EC:F4:BB:DB:FC:18 - type=0x0800 - length=142 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4 L4_UDP  - sw ptype: L2_ETHER L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - Receive queue=0x0
  ol_flags: PKT_RX_L4_CKSUM_BAD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN

Considering that the checksum for UDP over IPv4 can be optionally
disabled by the sender (although usually computed and transmitted),
is this behavior expected?

For completeness sake, I found an old patch [1] in the ixgbe linux
driver that seems to be related to what I'm seeing. The code changed a
little, but it's still there.

[1] https://patchwork.ozlabs.org/project/netdev/patch/20090724040031.30202.1531.stgit@localhost.localdomain/

Regards,
Paolo


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] ixgbe and UDP with zero checksum
  2021-01-27 13:49 [dpdk-dev] ixgbe and UDP with zero checksum Paolo Valerio
@ 2021-01-27 17:26 ` Wang, Haiyue
  2021-01-27 18:21   ` Aaron Conole
  2021-01-27 21:35   ` Paolo Valerio
  0 siblings, 2 replies; 9+ messages in thread
From: Wang, Haiyue @ 2021-01-27 17:26 UTC (permalink / raw)
  To: Paolo Valerio, dev; +Cc: Guo, Jia, Aaron Conole

Hi Paolo,

> -----Original Message-----
> From: Paolo Valerio <pvalerio@redhat.com>
> Sent: Wednesday, January 27, 2021 21:50
> To: dev@dpdk.org
> Cc: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Aaron Conole
> <aconole@redhat.com>
> Subject: ixgbe and UDP with zero checksum
> 
> Hi,
> 
> performing some tests, I noticed that on ixgbe when receiving UDP
> packets with zero checksum (no checksum) over IPv4, the corresponding
> ol_flag for the l4 checksum is set to PKT_RX_L4_CKSUM_BAD.
> 
> In particular, this apparently has an impact on OvS using ct() action
> where UDP packets with zero checksum are not tracked because of that.


> 
> [1]
> https://patchwork.ozlabs.org/project/netdev/patch/20090724040031.30202.1531.stgit@localhost.localdomai
> n/

About 12 years old patch, it is hardware errata. For fixing this,
have to always disable vector Rx path for 82599, it seems not a
good idea to bring in this workaround. :(

+		/*
+		 * 82599 errata, UDP frames with a 0 checksum can be marked as
+		 * checksum errors.
+		 */
+		if ((pkt_info & IXGBE_RXDADV_PKTTYPE_UDP) &&
+		    (adapter->hw.mac.type == ixgbe_mac_82599EB))
+			return;

> 
> Regards,
> Paolo


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] ixgbe and UDP with zero checksum
  2021-01-27 17:26 ` Wang, Haiyue
@ 2021-01-27 18:21   ` Aaron Conole
  2021-01-27 21:35   ` Paolo Valerio
  1 sibling, 0 replies; 9+ messages in thread
From: Aaron Conole @ 2021-01-27 18:21 UTC (permalink / raw)
  To: Wang\, Haiyue; +Cc: Paolo Valerio, dev\, Guo\, Jia

"Wang, Haiyue" <haiyue.wang@intel.com> writes:

> Hi Paolo,
>
>> -----Original Message-----
>> From: Paolo Valerio <pvalerio@redhat.com>
>> Sent: Wednesday, January 27, 2021 21:50
>> To: dev@dpdk.org
>> Cc: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Aaron Conole
>> <aconole@redhat.com>
>> Subject: ixgbe and UDP with zero checksum
>> 
>> Hi,
>> 
>> performing some tests, I noticed that on ixgbe when receiving UDP
>> packets with zero checksum (no checksum) over IPv4, the corresponding
>> ol_flag for the l4 checksum is set to PKT_RX_L4_CKSUM_BAD.
>> 
>> In particular, this apparently has an impact on OvS using ct() action
>> where UDP packets with zero checksum are not tracked because of that.
>
>
>> 
>> [1]
>> https://patchwork.ozlabs.org/project/netdev/patch/20090724040031.30202.1531.stgit@localhost.localdomai
>> n/
>
> About 12 years old patch, it is hardware errata. For fixing this,
> have to always disable vector Rx path for 82599, it seems not a
> good idea to bring in this workaround. :(

Just wondering that it means here - there's a user of DPDK who has an
ixgbe card exhibiting this behavior.  What do DPDK engineers tell them
to do?  Change the hardware?  Upgrade the firmware?

> +		/*
> +		 * 82599 errata, UDP frames with a 0 checksum can be marked as
> +		 * checksum errors.
> +		 */
> +		if ((pkt_info & IXGBE_RXDADV_PKTTYPE_UDP) &&
> +		    (adapter->hw.mac.type == ixgbe_mac_82599EB))
> +			return;
>
>> 
>> Regards,
>> Paolo


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] ixgbe and UDP with zero checksum
  2021-01-27 17:26 ` Wang, Haiyue
  2021-01-27 18:21   ` Aaron Conole
@ 2021-01-27 21:35   ` Paolo Valerio
  2021-01-29  2:02     ` Wang, Haiyue
  1 sibling, 1 reply; 9+ messages in thread
From: Paolo Valerio @ 2021-01-27 21:35 UTC (permalink / raw)
  To: Wang, Haiyue; +Cc: Guo, Jia, Aaron Conole, dev

"Wang, Haiyue" <haiyue.wang@intel.com> writes:

> Hi Paolo,
>
>> -----Original Message-----
>> From: Paolo Valerio <pvalerio@redhat.com>
>> Sent: Wednesday, January 27, 2021 21:50
>> To: dev@dpdk.org
>> Cc: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Aaron Conole
>> <aconole@redhat.com>
>> Subject: ixgbe and UDP with zero checksum
>> 
>> Hi,
>> 
>> performing some tests, I noticed that on ixgbe when receiving UDP
>> packets with zero checksum (no checksum) over IPv4, the corresponding
>> ol_flag for the l4 checksum is set to PKT_RX_L4_CKSUM_BAD.
>> 
>> In particular, this apparently has an impact on OvS using ct() action
>> where UDP packets with zero checksum are not tracked because of that.
>
>
>> 
>> [1]
>> https://patchwork.ozlabs.org/project/netdev/patch/20090724040031.30202.1531.stgit@localhost.localdomai
>> n/
>
> About 12 years old patch, it is hardware errata. For fixing this,
> have to always disable vector Rx path for 82599, it seems not a
> good idea to bring in this workaround. :(
>

Thanks for the answer.
Yes, as I mentioned, the patch is old although still meaningful.
I linked it mostly because it mentions the hw errata.

I would refer to Aaron's questions because they bring up the point.

> +		/*
> +		 * 82599 errata, UDP frames with a 0 checksum can be marked as
> +		 * checksum errors.
> +		 */
> +		if ((pkt_info & IXGBE_RXDADV_PKTTYPE_UDP) &&
> +		    (adapter->hw.mac.type == ixgbe_mac_82599EB))
> +			return;
>
>> 
>> Regards,
>> Paolo


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] ixgbe and UDP with zero checksum
  2021-01-27 21:35   ` Paolo Valerio
@ 2021-01-29  2:02     ` Wang, Haiyue
  2021-01-29  2:59       ` Wang, Haiyue
  0 siblings, 1 reply; 9+ messages in thread
From: Wang, Haiyue @ 2021-01-29  2:02 UTC (permalink / raw)
  To: Paolo Valerio; +Cc: Guo, Jia, Aaron Conole, dev

> -----Original Message-----
> From: Paolo Valerio <pvalerio@redhat.com>
> Sent: Thursday, January 28, 2021 05:35
> To: Wang, Haiyue <haiyue.wang@intel.com>
> Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole <aconole@redhat.com>; dev@dpdk.org
> Subject: RE: ixgbe and UDP with zero checksum
> 
> "Wang, Haiyue" <haiyue.wang@intel.com> writes:
> 
> > Hi Paolo,
> >
> >> -----Original Message-----
> >> From: Paolo Valerio <pvalerio@redhat.com>
> >> Sent: Wednesday, January 27, 2021 21:50
> >> To: dev@dpdk.org
> >> Cc: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Aaron Conole
> >> <aconole@redhat.com>
> >> Subject: ixgbe and UDP with zero checksum
> >>
> >> Hi,
> >>
> >> performing some tests, I noticed that on ixgbe when receiving UDP
> >> packets with zero checksum (no checksum) over IPv4, the corresponding
> >> ol_flag for the l4 checksum is set to PKT_RX_L4_CKSUM_BAD.
> >>
> >> In particular, this apparently has an impact on OvS using ct() action
> >> where UDP packets with zero checksum are not tracked because of that.
> >
> >
> >>
> >> [1]
> >>
> https://patchwork.ozlabs.org/project/netdev/patch/20090724040031.30202.1531.stgit@localhost.localdomai
> >> n/
> >
> > About 12 years old patch, it is hardware errata. For fixing this,
> > have to always disable vector Rx path for 82599, it seems not a
> > good idea to bring in this workaround. :(
> >
> 
> Thanks for the answer.
> Yes, as I mentioned, the patch is old although still meaningful.
> I linked it mostly because it mentions the hw errata.
> 

What's your PCI device ID ? My worked ixgbe:

86:00.0 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)

I'm wondering if people will complain that the patch will mark the real bad checksum UDP as
GOOD. For handling this correctly, looks like driver needs to check the UDP's checksum value,
if zero, then skip the error information, but this makes driver do the network stack things ...




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] ixgbe and UDP with zero checksum
  2021-01-29  2:02     ` Wang, Haiyue
@ 2021-01-29  2:59       ` Wang, Haiyue
  2021-01-29 14:19         ` Paolo Valerio
  0 siblings, 1 reply; 9+ messages in thread
From: Wang, Haiyue @ 2021-01-29  2:59 UTC (permalink / raw)
  To: Paolo Valerio, Yang, Qiming; +Cc: Guo, Jia, Aaron Conole, dev

Hi Paolo,

> -----Original Message-----
> From: Wang, Haiyue
> Sent: Friday, January 29, 2021 10:02
> To: Paolo Valerio <pvalerio@redhat.com>
> Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole <aconole@redhat.com>; dev@dpdk.org
> Subject: RE: ixgbe and UDP with zero checksum
> 
> > -----Original Message-----
> > From: Paolo Valerio <pvalerio@redhat.com>
> > Sent: Thursday, January 28, 2021 05:35
> > To: Wang, Haiyue <haiyue.wang@intel.com>
> > Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole <aconole@redhat.com>; dev@dpdk.org
> > Subject: RE: ixgbe and UDP with zero checksum
> >
> > "Wang, Haiyue" <haiyue.wang@intel.com> writes:
> >
> > > Hi Paolo,
> > >
> > >> -----Original Message-----
> > >> From: Paolo Valerio <pvalerio@redhat.com>
> > >> Sent: Wednesday, January 27, 2021 21:50
> > >> To: dev@dpdk.org
> > >> Cc: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Aaron Conole
> > >> <aconole@redhat.com>
> > >> Subject: ixgbe and UDP with zero checksum
> > >>
> > >> Hi,
> > >>
> > >> performing some tests, I noticed that on ixgbe when receiving UDP
> > >> packets with zero checksum (no checksum) over IPv4, the corresponding
> > >> ol_flag for the l4 checksum is set to PKT_RX_L4_CKSUM_BAD.
> > >>
> > >> In particular, this apparently has an impact on OvS using ct() action
> > >> where UDP packets with zero checksum are not tracked because of that.
> > >
> > >
> > >>
> > >> [1]
> > >>
> >
> https://patchwork.ozlabs.org/project/netdev/patch/20090724040031.30202.1531.stgit@localhost.localdomai
> > >> n/
> > >
> > > About 12 years old patch, it is hardware errata. For fixing this,
> > > have to always disable vector Rx path for 82599, it seems not a
> > > good idea to bring in this workaround. :(
> > >
> >
> > Thanks for the answer.
> > Yes, as I mentioned, the patch is old although still meaningful.
> > I linked it mostly because it mentions the hw errata.
> >
> 
> What's your PCI device ID ? My worked ixgbe:
> 

Sorry, I missed the PKT_RX_L4_CKSUM_BAD information, yes, my NIC have the issue.

> 86:00.0 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection
> [8086:10fb] (rev 01)
> 
> I'm wondering if people will complain that the patch will mark the real bad checksum UDP as

Zero checksum is more popular case, please file a bug on https://bugs.dpdk.org/ to trace the fix.

Thanks for pointing it out.

> GOOD. For handling this correctly, looks like driver needs to check the UDP's checksum value,
> if zero, then skip the error information, but this makes driver do the network stack things ...
> 
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] ixgbe and UDP with zero checksum
  2021-01-29  2:59       ` Wang, Haiyue
@ 2021-01-29 14:19         ` Paolo Valerio
  2021-02-02  7:41           ` Wang, Haiyue
  0 siblings, 1 reply; 9+ messages in thread
From: Paolo Valerio @ 2021-01-29 14:19 UTC (permalink / raw)
  To: Wang, Haiyue, Yang, Qiming; +Cc: Guo, Jia, Aaron Conole, dev

"Wang, Haiyue" <haiyue.wang@intel.com> writes:

> Hi Paolo,
>
>> -----Original Message-----
>> From: Wang, Haiyue
>> Sent: Friday, January 29, 2021 10:02
>> To: Paolo Valerio <pvalerio@redhat.com>
>> Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole <aconole@redhat.com>; dev@dpdk.org
>> Subject: RE: ixgbe and UDP with zero checksum
>> 
>> > -----Original Message-----
>> > From: Paolo Valerio <pvalerio@redhat.com>
>> > Sent: Thursday, January 28, 2021 05:35
>> > To: Wang, Haiyue <haiyue.wang@intel.com>
>> > Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole <aconole@redhat.com>; dev@dpdk.org
>> > Subject: RE: ixgbe and UDP with zero checksum
>> >
>> > "Wang, Haiyue" <haiyue.wang@intel.com> writes:
>> >
>> > > Hi Paolo,
>> > >
>> > >> -----Original Message-----
>> > >> From: Paolo Valerio <pvalerio@redhat.com>
>> > >> Sent: Wednesday, January 27, 2021 21:50
>> > >> To: dev@dpdk.org
>> > >> Cc: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Aaron Conole
>> > >> <aconole@redhat.com>
>> > >> Subject: ixgbe and UDP with zero checksum
>> > >>
>> > >> Hi,
>> > >>
>> > >> performing some tests, I noticed that on ixgbe when receiving UDP
>> > >> packets with zero checksum (no checksum) over IPv4, the corresponding
>> > >> ol_flag for the l4 checksum is set to PKT_RX_L4_CKSUM_BAD.
>> > >>
>> > >> In particular, this apparently has an impact on OvS using ct() action
>> > >> where UDP packets with zero checksum are not tracked because of that.
>> > >
>> > >
>> > >>
>> > >> [1]
>> > >>
>> >
>> https://patchwork.ozlabs.org/project/netdev/patch/20090724040031.30202.1531.stgit@localhost.localdomai
>> > >> n/
>> > >
>> > > About 12 years old patch, it is hardware errata. For fixing this,
>> > > have to always disable vector Rx path for 82599, it seems not a
>> > > good idea to bring in this workaround. :(
>> > >
>> >
>> > Thanks for the answer.
>> > Yes, as I mentioned, the patch is old although still meaningful.
>> > I linked it mostly because it mentions the hw errata.
>> >
>> 
>> What's your PCI device ID ? My worked ixgbe:
>> 
>
> Sorry, I missed the PKT_RX_L4_CKSUM_BAD information, yes, my NIC have the issue.
>
>> 86:00.0 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection
>> [8086:10fb] (rev 01)
>> 
>> I'm wondering if people will complain that the patch will mark the real bad checksum UDP as
>
> Zero checksum is more popular case, please file a bug on https://bugs.dpdk.org/ to trace the fix.
>
> Thanks for pointing it out.
>

ack, I'm going to file it.

Thanks,
Paolo

>> GOOD. For handling this correctly, looks like driver needs to check the UDP's checksum value,
>> if zero, then skip the error information, but this makes driver do the network stack things ...
>> 
>> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] ixgbe and UDP with zero checksum
  2021-01-29 14:19         ` Paolo Valerio
@ 2021-02-02  7:41           ` Wang, Haiyue
  2021-02-02  9:33             ` [dpdk-dev] 回复: " Feifei Wang
  0 siblings, 1 reply; 9+ messages in thread
From: Wang, Haiyue @ 2021-02-02  7:41 UTC (permalink / raw)
  To: Feifei Wang, Ruifeng Wang
  Cc: Guo, Jia, Aaron Conole, dev, Yang, Qiming, Paolo Valerio

+ ARM experts, Feifei and Ruifeng.

Need your further support for ARM NEON path.

https://patchwork.dpdk.org/patch/87617/

> -----Original Message-----
> From: Paolo Valerio <pvalerio@redhat.com>
> Sent: Friday, January 29, 2021 22:20
> To: Wang, Haiyue <haiyue.wang@intel.com>; Yang, Qiming <qiming.yang@intel.com>
> Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole <aconole@redhat.com>; dev@dpdk.org
> Subject: RE: ixgbe and UDP with zero checksum
> 
> "Wang, Haiyue" <haiyue.wang@intel.com> writes:
> 
> > Hi Paolo,
> >
> >> -----Original Message-----
> >> From: Wang, Haiyue
> >> Sent: Friday, January 29, 2021 10:02
> >> To: Paolo Valerio <pvalerio@redhat.com>
> >> Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole <aconole@redhat.com>; dev@dpdk.org
> >> Subject: RE: ixgbe and UDP with zero checksum
> >>
> >> > -----Original Message-----
> >> > From: Paolo Valerio <pvalerio@redhat.com>
> >> > Sent: Thursday, January 28, 2021 05:35
> >> > To: Wang, Haiyue <haiyue.wang@intel.com>
> >> > Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole <aconole@redhat.com>; dev@dpdk.org
> >> > Subject: RE: ixgbe and UDP with zero checksum
> >> >
> >> > "Wang, Haiyue" <haiyue.wang@intel.com> writes:
> >> >
> >> > > Hi Paolo,
> >> > >
> >> > >> -----Original Message-----
> >> > >> From: Paolo Valerio <pvalerio@redhat.com>
> >> > >> Sent: Wednesday, January 27, 2021 21:50
> >> > >> To: dev@dpdk.org
> >> > >> Cc: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Aaron Conole
> >> > >> <aconole@redhat.com>
> >> > >> Subject: ixgbe and UDP with zero checksum
> >> > >>
> >> > >> Hi,
> >> > >>
> >> > >> performing some tests, I noticed that on ixgbe when receiving UDP
> >> > >> packets with zero checksum (no checksum) over IPv4, the corresponding
> >> > >> ol_flag for the l4 checksum is set to PKT_RX_L4_CKSUM_BAD.
> >> > >>
> >> > >> In particular, this apparently has an impact on OvS using ct() action
> >> > >> where UDP packets with zero checksum are not tracked because of that.
> >> > >
> >> > >
> >> > >>
> >> > >> [1]
> >> > >>
> >> >
> >>
> https://patchwork.ozlabs.org/project/netdev/patch/20090724040031.30202.1531.stgit@localhost.localdomai
> >> > >> n/
> >> > >
> >> > > About 12 years old patch, it is hardware errata. For fixing this,
> >> > > have to always disable vector Rx path for 82599, it seems not a
> >> > > good idea to bring in this workaround. :(
> >> > >
> >> >
> >> > Thanks for the answer.
> >> > Yes, as I mentioned, the patch is old although still meaningful.
> >> > I linked it mostly because it mentions the hw errata.
> >> >
> >>
> >> What's your PCI device ID ? My worked ixgbe:
> >>
> >
> > Sorry, I missed the PKT_RX_L4_CKSUM_BAD information, yes, my NIC have the issue.
> >
> >> 86:00.0 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network
> Connection
> >> [8086:10fb] (rev 01)
> >>
> >> I'm wondering if people will complain that the patch will mark the real bad checksum UDP as
> >
> > Zero checksum is more popular case, please file a bug on https://bugs.dpdk.org/ to trace the fix.
> >
> > Thanks for pointing it out.
> >
> 
> ack, I'm going to file it.
> 
> Thanks,
> Paolo
> 
> >> GOOD. For handling this correctly, looks like driver needs to check the UDP's checksum value,
> >> if zero, then skip the error information, but this makes driver do the network stack things ...
> >>
> >>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] 回复: ixgbe and UDP with zero checksum
  2021-02-02  7:41           ` Wang, Haiyue
@ 2021-02-02  9:33             ` Feifei Wang
  0 siblings, 0 replies; 9+ messages in thread
From: Feifei Wang @ 2021-02-02  9:33 UTC (permalink / raw)
  To: Wang, Haiyue, Ruifeng Wang
  Cc: Guo, Jia, Aaron Conole, dev, Yang, Qiming, Paolo Valerio, nd

Hi, Haiyue

We will release the patch to support zero checksum  in arm neon path later.

Best Regards
Feifei

> -----邮件原件-----
> 发件人: Wang, Haiyue <haiyue.wang@intel.com>
> 发送时间: 2021年2月2日 15:42
> 收件人: Feifei Wang <Feifei.Wang2@arm.com>; Ruifeng Wang
> <Ruifeng.Wang@arm.com>
> 抄送: Guo, Jia <jia.guo@intel.com>; Aaron Conole <aconole@redhat.com>;
> dev@dpdk.org; Yang, Qiming <qiming.yang@intel.com>; Paolo Valerio
> <pvalerio@redhat.com>
> 主题: RE: ixgbe and UDP with zero checksum
> 
> + ARM experts, Feifei and Ruifeng.
> 
> Need your further support for ARM NEON path.
> 
> https://patchwork.dpdk.org/patch/87617/
> 
> > -----Original Message-----
> > From: Paolo Valerio <pvalerio@redhat.com>
> > Sent: Friday, January 29, 2021 22:20
> > To: Wang, Haiyue <haiyue.wang@intel.com>; Yang, Qiming
> > <qiming.yang@intel.com>
> > Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole <aconole@redhat.com>;
> > dev@dpdk.org
> > Subject: RE: ixgbe and UDP with zero checksum
> >
> > "Wang, Haiyue" <haiyue.wang@intel.com> writes:
> >
> > > Hi Paolo,
> > >
> > >> -----Original Message-----
> > >> From: Wang, Haiyue
> > >> Sent: Friday, January 29, 2021 10:02
> > >> To: Paolo Valerio <pvalerio@redhat.com>
> > >> Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole
> > >> <aconole@redhat.com>; dev@dpdk.org
> > >> Subject: RE: ixgbe and UDP with zero checksum
> > >>
> > >> > -----Original Message-----
> > >> > From: Paolo Valerio <pvalerio@redhat.com>
> > >> > Sent: Thursday, January 28, 2021 05:35
> > >> > To: Wang, Haiyue <haiyue.wang@intel.com>
> > >> > Cc: Guo, Jia <jia.guo@intel.com>; Aaron Conole
> > >> > <aconole@redhat.com>; dev@dpdk.org
> > >> > Subject: RE: ixgbe and UDP with zero checksum
> > >> >
> > >> > "Wang, Haiyue" <haiyue.wang@intel.com> writes:
> > >> >
> > >> > > Hi Paolo,
> > >> > >
> > >> > >> -----Original Message-----
> > >> > >> From: Paolo Valerio <pvalerio@redhat.com>
> > >> > >> Sent: Wednesday, January 27, 2021 21:50
> > >> > >> To: dev@dpdk.org
> > >> > >> Cc: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue
> > >> > >> <haiyue.wang@intel.com>; Aaron Conole <aconole@redhat.com>
> > >> > >> Subject: ixgbe and UDP with zero checksum
> > >> > >>
> > >> > >> Hi,
> > >> > >>
> > >> > >> performing some tests, I noticed that on ixgbe when receiving
> > >> > >> UDP packets with zero checksum (no checksum) over IPv4, the
> > >> > >> corresponding ol_flag for the l4 checksum is set to
> PKT_RX_L4_CKSUM_BAD.
> > >> > >>
> > >> > >> In particular, this apparently has an impact on OvS using ct()
> > >> > >> action where UDP packets with zero checksum are not tracked
> because of that.
> > >> > >
> > >> > >
> > >> > >>
> > >> > >> [1]
> > >> > >>
> > >> >
> > >>
> >
> https://patchwork.ozlabs.org/project/netdev/patch/20090724040031.30202
> > .1531.stgit@localhost.localdomai
> > >> > >> n/
> > >> > >
> > >> > > About 12 years old patch, it is hardware errata. For fixing
> > >> > > this, have to always disable vector Rx path for 82599, it seems
> > >> > > not a good idea to bring in this workaround. :(
> > >> > >
> > >> >
> > >> > Thanks for the answer.
> > >> > Yes, as I mentioned, the patch is old although still meaningful.
> > >> > I linked it mostly because it mentions the hw errata.
> > >> >
> > >>
> > >> What's your PCI device ID ? My worked ixgbe:
> > >>
> > >
> > > Sorry, I missed the PKT_RX_L4_CKSUM_BAD information, yes, my NIC
> have the issue.
> > >
> > >> 86:00.0 Ethernet controller [0200]: Intel Corporation 82599ES
> > >> 10-Gigabit SFI/SFP+ Network
> > Connection
> > >> [8086:10fb] (rev 01)
> > >>
> > >> I'm wondering if people will complain that the patch will mark the
> > >> real bad checksum UDP as
> > >
> > > Zero checksum is more popular case, please file a bug on
> https://bugs.dpdk.org/ to trace the fix.
> > >
> > > Thanks for pointing it out.
> > >
> >
> > ack, I'm going to file it.
> >
> > Thanks,
> > Paolo
> >
> > >> GOOD. For handling this correctly, looks like driver needs to check
> > >> the UDP's checksum value, if zero, then skip the error information, but
> this makes driver do the network stack things ...
> > >>
> > >>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-02-02  9:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-27 13:49 [dpdk-dev] ixgbe and UDP with zero checksum Paolo Valerio
2021-01-27 17:26 ` Wang, Haiyue
2021-01-27 18:21   ` Aaron Conole
2021-01-27 21:35   ` Paolo Valerio
2021-01-29  2:02     ` Wang, Haiyue
2021-01-29  2:59       ` Wang, Haiyue
2021-01-29 14:19         ` Paolo Valerio
2021-02-02  7:41           ` Wang, Haiyue
2021-02-02  9:33             ` [dpdk-dev] 回复: " Feifei Wang

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git