ansyun / dpdk-ans

ANS(Accelerated Network Stack) on DPDK, DPDK native TCP/IP stack.
https://ansyun.com
BSD 3-Clause "New" or "Revised" License
1.15k stars 322 forks source link

udp cannot send more than 5924B. #114

Closed up0617 closed 4 years ago

up0617 commented 4 years ago

Hi ANS!

I have below code

    int sent_len = anssock_sendto(datafd, sendFrame, sendFrameSize, 0, dest_addr, dest_addrlen);

and the problem is, packet is dropped when sendFrameSize>=5924B,

For more info, if I send 100 times with sendFrameSize>=5924B, anscli > udp stats show total output packets +=100

anscli > ip stats show Frags dropped (dups, out of space) +=100

and it is work when sendFrameSize<=5896B, also it is work with kernel when sendFrameSize>=5924B,

It may the prob of ans sendto has some kind of limits in sending bytes. Any question or answer will be welcome!

bluenet13 commented 4 years ago

The limitation of IP fragment size is about 58xxx.

up0617 commented 4 years ago

Thanks for the quick answer. However, I cannot link the info "IP fragment size limitation" and my prob. As I know the limitation of UDP datagram over IPv4 is 65507, which is 10 times higher than my app limitation, 5924.

bluenet13 commented 4 years ago

dpdk libs define the limitaion.

up0617 commented 4 years ago

Thanks! I'll close the issue.