[dpdk-users] UDP packet transmission issue - DPDK 18.08

Wiles, Keith keith.wiles at intel.com
Wed May 8 15:58:48 CEST 2019



> On May 8, 2019, at 1:41 AM, hirok borah <hirok.gen at 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 at 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



More information about the users mailing list