* [dpdk-users] UDP packet transmission issue - DPDK 18.08 @ 2019-04-20 4:11 Anupama Laxmi 2019-05-08 6:41 ` hirok borah 0 siblings, 1 reply; 5+ messages in thread From: Anupama Laxmi @ 2019-04-20 4:11 UTC (permalink / raw) To: users We have recently upgraded to DPDK 18.08 version. After upgrading to the latest version observing issue with UDP packets transmission errors for few packets ( UDP size 736 bytes) .With older version of DPDK we never faced this issue. Attaching the filtered tcpdump which shows "Bad UDP length > IP payload length" for one such packet. No issue observed while transferring UDP packets with size 28 bytes and 48 bytes. I tried to print the packet length calculation in my program just before sending it out to the Kernel using rte_kni_tx_burst. The packet length calculation seems correct to me. 1.) size_udp:48 sizeof(struct udp_hdr):8 size_ApplMsg:40 udphdr->dgram_len:12288 m->data_len:82 size_ip:68 l2_data_shift:14 2.) size_udp:28 sizeof(struct udp_hdr):8 size_ApplMsg:20 udphdr->dgram_len:7168 m->data_len:62 ip->total_length:12288 size_ip:48 l2_data_shift:14 *** Packets with UDP size 736 are not getting transmitted to the receiving end and getting dropped. 3.) size_udp:736 sizeof(struct udp_hdr):8 size_ApplMsg:728 udphdr->dgram_len:57346 m->data_len:770 size_ip:756 l2_data_shift:14 Also MTU is set to 1500 in my program. So it shouldn't be an issue to transfer 736 bytes UDP data which is less than 1500 bytes MTU. Looks like the kernel is dropping this packet. So I tried to increase the kernel buffer size but that didn't help. netstat -su -> output shows 0 send/receive buffer errors. What has changed in DPDK 18.08 with respect to UDP packets? Please suggest if I need to consider tuning udp ( using new API ) , offloading udp traffic(new offload flags) to resolve this issue. Thanks, -------------- next part -------------- A non-text attachment was scrubbed... Name: bad_udp_length.png Type: image/png Size: 56015 bytes Desc: not available URL: <http://mails.dpdk.org/archives/users/attachments/20190420/f5dd6779/attachment.png> ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-users] UDP packet transmission issue - DPDK 18.08 2019-04-20 4:11 [dpdk-users] UDP packet transmission issue - DPDK 18.08 Anupama Laxmi @ 2019-05-08 6:41 ` hirok borah 2019-05-08 13:58 ` Wiles, Keith 0 siblings, 1 reply; 5+ messages in thread From: hirok borah @ 2019-05-08 6:41 UTC (permalink / raw) To: Anupama Laxmi; +Cc: users Hi All, Do we have any resolution for this issue yet ? This looks like a defect in DPDK 18.08. Plz share if anyone have any inputs on this issue. Regards Hirok On Sat, Apr 20, 2019 at 9:41 AM Anupama Laxmi <anupamalaxmi4@gmail.com> wrote: > We have recently upgraded to DPDK 18.08 version. After upgrading to the > latest version observing issue with UDP packets transmission errors for few > packets ( UDP size 736 bytes) .With older version of DPDK we never faced > this issue. > > Attaching the filtered tcpdump which shows "Bad UDP length > IP payload > length" for one such packet. > > No issue observed while transferring UDP packets with size 28 bytes and 48 > bytes. I tried to print the packet length calculation in my program just > before sending it out to the Kernel using rte_kni_tx_burst. The packet > length calculation seems correct to me. > > 1.) > size_udp:48 > sizeof(struct udp_hdr):8 > size_ApplMsg:40 > udphdr->dgram_len:12288 > m->data_len:82 > size_ip:68 > l2_data_shift:14 > > 2.) > size_udp:28 > sizeof(struct udp_hdr):8 > size_ApplMsg:20 > udphdr->dgram_len:7168 > m->data_len:62 > ip->total_length:12288 > size_ip:48 > l2_data_shift:14 > > *** Packets with UDP size 736 are not getting transmitted to the > receiving end and getting dropped. > > 3.) > size_udp:736 > sizeof(struct udp_hdr):8 > size_ApplMsg:728 > udphdr->dgram_len:57346 > m->data_len:770 > size_ip:756 > l2_data_shift:14 > > Also MTU is set to 1500 in my program. So it shouldn't be an issue to > transfer 736 bytes UDP data which is less than 1500 bytes MTU. > > Looks like the kernel is dropping this packet. > > So I tried to increase the kernel buffer size but that didn't help. > > netstat -su -> output shows 0 send/receive buffer errors. > > > What has changed in DPDK 18.08 with respect to UDP packets? Please suggest > if I need to consider tuning udp ( using new API ) , offloading udp > traffic(new offload flags) to resolve this issue. > > Thanks, > -------------- next part -------------- > A non-text attachment was scrubbed... > Name: bad_udp_length.png > Type: image/png > Size: 56015 bytes > Desc: not available > URL: < > http://mails.dpdk.org/archives/users/attachments/20190420/f5dd6779/attachment.png > > > -- Regards, -Hirok ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-users] UDP packet transmission issue - DPDK 18.08 2019-05-08 6:41 ` hirok borah @ 2019-05-08 13:58 ` Wiles, Keith 2019-05-08 14:28 ` hirok borah 0 siblings, 1 reply; 5+ messages in thread From: Wiles, Keith @ 2019-05-08 13:58 UTC (permalink / raw) To: hirok borah; +Cc: Anupama Laxmi, users > On May 8, 2019, at 1:41 AM, hirok borah <hirok.gen@gmail.com> wrote: > > Hi All, > > Do we have any resolution for this issue yet ? > This looks like a defect in DPDK 18.08. DPDK does not understand UDP/TCP or any L4 Packet per say, it only sends the packets constructed in the application. It will send the packets as defined and the only place DPDK tries to determine the packet type is when it receives the packet which in this case is the kernel. I do not use testpmd much, but use pktgen-dpdk for my work. Please try with testpmd or pktgen or TRex or moongen and see if the problem still exists. > > Plz share if anyone have any inputs on this issue. > > Regards > Hirok > > On Sat, Apr 20, 2019 at 9:41 AM Anupama Laxmi <anupamalaxmi4@gmail.com> > wrote: > >> We have recently upgraded to DPDK 18.08 version. After upgrading to the >> latest version observing issue with UDP packets transmission errors for few >> packets ( UDP size 736 bytes) .With older version of DPDK we never faced >> this issue. >> >> Attaching the filtered tcpdump which shows "Bad UDP length > IP payload >> length" for one such packet. >> >> No issue observed while transferring UDP packets with size 28 bytes and 48 >> bytes. I tried to print the packet length calculation in my program just >> before sending it out to the Kernel using rte_kni_tx_burst. The packet >> length calculation seems correct to me. >> >> 1.) >> size_udp:48 >> sizeof(struct udp_hdr):8 >> size_ApplMsg:40 >> udphdr->dgram_len:12288 >> m->data_len:82 >> size_ip:68 >> l2_data_shift:14 >> >> 2.) >> size_udp:28 >> sizeof(struct udp_hdr):8 >> size_ApplMsg:20 >> udphdr->dgram_len:7168 >> m->data_len:62 >> ip->total_length:12288 >> size_ip:48 >> l2_data_shift:14 >> >> *** Packets with UDP size 736 are not getting transmitted to the >> receiving end and getting dropped. >> >> 3.) >> size_udp:736 >> sizeof(struct udp_hdr):8 >> size_ApplMsg:728 >> udphdr->dgram_len:57346 >> m->data_len:770 >> size_ip:756 >> l2_data_shift:14 >> >> Also MTU is set to 1500 in my program. So it shouldn't be an issue to >> transfer 736 bytes UDP data which is less than 1500 bytes MTU. >> >> Looks like the kernel is dropping this packet. >> >> So I tried to increase the kernel buffer size but that didn't help. >> >> netstat -su -> output shows 0 send/receive buffer errors. >> >> >> What has changed in DPDK 18.08 with respect to UDP packets? Please suggest >> if I need to consider tuning udp ( using new API ) , offloading udp >> traffic(new offload flags) to resolve this issue. >> >> Thanks, >> -------------- next part -------------- >> A non-text attachment was scrubbed... >> Name: bad_udp_length.png >> Type: image/png >> Size: 56015 bytes >> Desc: not available >> URL: < >> http://mails.dpdk.org/archives/users/attachments/20190420/f5dd6779/attachment.png >>> >> > > > -- > Regards, > -Hirok Regards, Keith ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-users] UDP packet transmission issue - DPDK 18.08 2019-05-08 13:58 ` Wiles, Keith @ 2019-05-08 14:28 ` hirok borah 2019-05-08 15:03 ` Wiles, Keith 0 siblings, 1 reply; 5+ messages in thread From: hirok borah @ 2019-05-08 14:28 UTC (permalink / raw) To: Wiles, Keith; +Cc: Anupama Laxmi, users Thanks Keith for sharing the info. But as also stated by Anupama, the problem here is with KNI. When UDP packet of certain length, say 730, is written to kni, it is getting dropped. Whereas UDP of length say 60, does not have any issues, it goes to kernel. And this issue was not seen with previous versions, only seen when we upgraded to v18.08 Regards -Hirok On Wed, May 8, 2019, 7:28 PM Wiles, Keith <keith.wiles@intel.com> wrote: > > > > On May 8, 2019, at 1:41 AM, hirok borah <hirok.gen@gmail.com> wrote: > > > > Hi All, > > > > Do we have any resolution for this issue yet ? > > This looks like a defect in DPDK 18.08. > > DPDK does not understand UDP/TCP or any L4 Packet per say, it only sends > the packets constructed in the application. It will send the packets as > defined and the only place DPDK tries to determine the packet type is when > it receives the packet which in this case is the kernel. > > I do not use testpmd much, but use pktgen-dpdk for my work. Please try > with testpmd or pktgen or TRex or moongen and see if the problem still > exists. > > > > Plz share if anyone have any inputs on this issue. > > > > Regards > > Hirok > > > > On Sat, Apr 20, 2019 at 9:41 AM Anupama Laxmi <anupamalaxmi4@gmail.com> > > wrote: > > > >> We have recently upgraded to DPDK 18.08 version. After upgrading to the > >> latest version observing issue with UDP packets transmission errors for > few > >> packets ( UDP size 736 bytes) .With older version of DPDK we never > faced > >> this issue. > >> > >> Attaching the filtered tcpdump which shows "Bad UDP length > IP payload > >> length" for one such packet. > >> > >> No issue observed while transferring UDP packets with size 28 bytes and > 48 > >> bytes. I tried to print the packet length calculation in my program just > >> before sending it out to the Kernel using rte_kni_tx_burst. The packet > >> length calculation seems correct to me. > >> > >> 1.) > >> size_udp:48 > >> sizeof(struct udp_hdr):8 > >> size_ApplMsg:40 > >> udphdr->dgram_len:12288 > >> m->data_len:82 > >> size_ip:68 > >> l2_data_shift:14 > >> > >> 2.) > >> size_udp:28 > >> sizeof(struct udp_hdr):8 > >> size_ApplMsg:20 > >> udphdr->dgram_len:7168 > >> m->data_len:62 > >> ip->total_length:12288 > >> size_ip:48 > >> l2_data_shift:14 > >> > >> *** Packets with UDP size 736 are not getting transmitted to the > >> receiving end and getting dropped. > >> > >> 3.) > >> size_udp:736 > >> sizeof(struct udp_hdr):8 > >> size_ApplMsg:728 > >> udphdr->dgram_len:57346 > >> m->data_len:770 > >> size_ip:756 > >> l2_data_shift:14 > >> > >> Also MTU is set to 1500 in my program. So it shouldn't be an issue to > >> transfer 736 bytes UDP data which is less than 1500 bytes MTU. > >> > >> Looks like the kernel is dropping this packet. > >> > >> So I tried to increase the kernel buffer size but that didn't help. > >> > >> netstat -su -> output shows 0 send/receive buffer errors. > >> > >> > >> What has changed in DPDK 18.08 with respect to UDP packets? Please > suggest > >> if I need to consider tuning udp ( using new API ) , offloading udp > >> traffic(new offload flags) to resolve this issue. > >> > >> Thanks, > >> -------------- next part -------------- > >> A non-text attachment was scrubbed... > >> Name: bad_udp_length.png > >> Type: image/png > >> Size: 56015 bytes > >> Desc: not available > >> URL: < > >> > http://mails.dpdk.org/archives/users/attachments/20190420/f5dd6779/attachment.png > >>> > >> > > > > > > -- > > Regards, > > -Hirok > > Regards, > Keith > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-users] UDP packet transmission issue - DPDK 18.08 2019-05-08 14:28 ` hirok borah @ 2019-05-08 15:03 ` Wiles, Keith 0 siblings, 0 replies; 5+ messages in thread From: Wiles, Keith @ 2019-05-08 15:03 UTC (permalink / raw) To: hirok borah; +Cc: Anupama Laxmi, users Hi Hirok, > On May 8, 2019, at 9:28 AM, hirok borah <hirok.gen@gmail.com> wrote: > > Thanks Keith for sharing the info. > > But as also stated by Anupama, the problem here is with KNI. > > When UDP packet of certain length, say 730, is written to kni, it is getting dropped. > > Whereas UDP of length say 60, does not have any issues, it goes to kernel. > > And this issue was not seen with previous versions, only seen when we upgraded to v18.08 I have not used KNI per say, but it also does not seem to understand UDP or TCP or any another protocol sent only mbufs. Unless I am wrong that means the application must construct the UDP frame to be sent to the kernel and setup the mbuf headers correctly, right? Even the KNI test code does not seem to understand UDP frames, just looking at the code anyway. Using testpmd or traffic generators to send a UDP frame to KNI interface and see if the problem still exists does seem like a reasonable direction to eliminate possible problems. Beyond that I can not help, take my suggestions as you see fit. Thanks > > Regards > -Hirok > > > On Wed, May 8, 2019, 7:28 PM Wiles, Keith <keith.wiles@intel.com> wrote: > > > > On May 8, 2019, at 1:41 AM, hirok borah <hirok.gen@gmail.com> wrote: > > > > Hi All, > > > > Do we have any resolution for this issue yet ? > > This looks like a defect in DPDK 18.08. > > DPDK does not understand UDP/TCP or any L4 Packet per say, it only sends the packets constructed in the application. It will send the packets as defined and the only place DPDK tries to determine the packet type is when it receives the packet which in this case is the kernel. > > I do not use testpmd much, but use pktgen-dpdk for my work. Please try with testpmd or pktgen or TRex or moongen and see if the problem still exists. > > > > Plz share if anyone have any inputs on this issue. > > > > Regards > > Hirok > > > > On Sat, Apr 20, 2019 at 9:41 AM Anupama Laxmi <anupamalaxmi4@gmail.com> > > wrote: > > > >> We have recently upgraded to DPDK 18.08 version. After upgrading to the > >> latest version observing issue with UDP packets transmission errors for few > >> packets ( UDP size 736 bytes) .With older version of DPDK we never faced > >> this issue. > >> > >> Attaching the filtered tcpdump which shows "Bad UDP length > IP payload > >> length" for one such packet. > >> > >> No issue observed while transferring UDP packets with size 28 bytes and 48 > >> bytes. I tried to print the packet length calculation in my program just > >> before sending it out to the Kernel using rte_kni_tx_burst. The packet > >> length calculation seems correct to me. > >> > >> 1.) > >> size_udp:48 > >> sizeof(struct udp_hdr):8 > >> size_ApplMsg:40 > >> udphdr->dgram_len:12288 > >> m->data_len:82 > >> size_ip:68 > >> l2_data_shift:14 > >> > >> 2.) > >> size_udp:28 > >> sizeof(struct udp_hdr):8 > >> size_ApplMsg:20 > >> udphdr->dgram_len:7168 > >> m->data_len:62 > >> ip->total_length:12288 > >> size_ip:48 > >> l2_data_shift:14 > >> > >> *** Packets with UDP size 736 are not getting transmitted to the > >> receiving end and getting dropped. > >> > >> 3.) > >> size_udp:736 > >> sizeof(struct udp_hdr):8 > >> size_ApplMsg:728 > >> udphdr->dgram_len:57346 > >> m->data_len:770 > >> size_ip:756 > >> l2_data_shift:14 > >> > >> Also MTU is set to 1500 in my program. So it shouldn't be an issue to > >> transfer 736 bytes UDP data which is less than 1500 bytes MTU. > >> > >> Looks like the kernel is dropping this packet. > >> > >> So I tried to increase the kernel buffer size but that didn't help. > >> > >> netstat -su -> output shows 0 send/receive buffer errors. > >> > >> > >> What has changed in DPDK 18.08 with respect to UDP packets? Please suggest > >> if I need to consider tuning udp ( using new API ) , offloading udp > >> traffic(new offload flags) to resolve this issue. > >> > >> Thanks, > >> -------------- next part -------------- > >> A non-text attachment was scrubbed... > >> Name: bad_udp_length.png > >> Type: image/png > >> Size: 56015 bytes > >> Desc: not available > >> URL: < > >> http://mails.dpdk.org/archives/users/attachments/20190420/f5dd6779/attachment.png > >>> > >> > > > > > > -- > > Regards, > > -Hirok > > Regards, > Keith > Regards, Keith ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-05-08 15:04 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-04-20 4:11 [dpdk-users] UDP packet transmission issue - DPDK 18.08 Anupama Laxmi 2019-05-08 6:41 ` hirok borah 2019-05-08 13:58 ` Wiles, Keith 2019-05-08 14:28 ` hirok borah 2019-05-08 15:03 ` Wiles, Keith
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).