Comments (4)
The max IP fragmentaion is defined in DPDK.
What is ans verson do you use? Your version is very old.
Shall use ans_iface_set_mtu to set MTU.
from dpdk-ans.
Thanks for the quick answering.
(I'm using the latest version. I saw old API netdp*** at the old issue in 2016.)
For the fragmentation,
I ran DPDK IP fragmentation example and it well fragments packet as its MTU configured.
As I know, IP fragmentation is not a sort of EAL option but can be enabled by related API like 'rte_ip_frag.h->rte_ipv4_fragment_packet()'.
Following the ans.map file, 'rte_ip_frag.h' and 'rte_ipv4_fragment_packet()' are already imported and used.
Also anscli shows mtu is set as 1500, in below
ans> ip addr show veth0: mtu 1500
Then what I anticipate is that, 5800B data should be fragmented to 1500B size and sent.
But it doesn't as shown anscli stats
ans> ip stats show
Total packets received :7448
Checksum bad :0
Packet too short :0
Not enough data :0
IP header length < data size :0
IP length < ip header length :0
Fragments received :0
Frags dropped (dups, out of space) :0
Fragments timed out :0
Packets forwarded :2320
Packets fast forwarded :0
Packets rcvd for unreachable dest :0
Packets forwarded on same net :2320
Unknown or unsupported protocol :0
Datagrams delivered to upper level :5128
Total ip packets generated here :3608
Lost packets due to nobufs, etc. :0
Total packets reassembled ok :0
Datagrams successfully fragmented :0
Output fragments created :0
Don't fragment flag was set, etc. :0
Error in option processing :0
Packets discarded due to no route :0
IP version != 4 :0
Total raw ip packets generated :0
IP length > max ip packet size :0
Multicasts for unregistered grps :0
No match gif found :0
Invalid address on header :0
Packets filtered :0
from dpdk-ans.
The limitaion in DPDK:
/* ip_fragmentation defines */
#define RTE_LIBRTE_IP_FRAG_MAX_FRAG 4
You may try 3000B.
from dpdk-ans.
Oh Thanks very much for your answer.
IP Fragmentation is actually works at 5800B, for exactly up to 5912B packet Send.
5912B = (1514(mtu)-34(header) ) * 4(max frag) - 8(udp header of reassembled packet)
Wireshark shows UDP+ IPv4 packets are well fragmented up to 1514.
but anscli only shows stats about Frags only when there are drops, like below::
//when send more then mtu*maxFrag
Frags dropped (dups, out of space) :1816
//when recv kernel dump shows ip fragmented well but cli is not.
Datagrams successfully fragmented :0
Output fragments created :0
It's all clear about IP fragmentation.
Thanks for your help again!
from dpdk-ans.
Related Issues (20)
- Low TCP TX performance HOT 1
- ans configuration. HOT 5
- Build ANS on corei7 architecture. HOT 2
- pointtopoint howto ? HOT 1
- Fast path TCP stack? HOT 1
- Need armv8 support
- Congestion Control supports HOT 7
- tcp slowdown when recv large stream
- There are no code to generate librte_ans for core-avx2
- LCORE [-1] Default gateway address is unreachable
- librte_ans source code
- run ans failed (nb_tx_desc(=2048), should be: <= 1024, = 128) HOT 1
- ans not run ? why?
- Failed to run ans
- ANS support for CentOS-7.5 or any later version
- Compiling deps for Epyc
- Skylake arch HOT 3
- 你们是哪个公司的?
- NFV Selection Based on ONF HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dpdk-ans.