[dpdk-users] UDP packet transmission issue - DPDK 18.08
Anupama Laxmi
anupamalaxmi4 at gmail.com
Sat Apr 20 06:11:35 CEST 2019
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>
More information about the users
mailing list