* [dpdk-dev] Exception Path issue with AF Packet PMD for fragmented packets
@ 2015-07-09 6:58 Prashant Upadhyaya
0 siblings, 0 replies; only message in thread
From: Prashant Upadhyaya @ 2015-07-09 6:58 UTC (permalink / raw)
To: dev
Hi,
I have a DPDK based application where the core 0 is handling the exception
path and rest of the cores are bringing in the data from the NIC via the
PMD.
For the exception path handling I use the tun/tap interface.
So the flow is like this –
Fast path cores bring in the data from NIC, classify it as exception path
data, write to tap. (eg. ICMP ping data)
Kernel responds and sends data out of tap
My application is listening to tap in a thread running on core 0 itself,
takes the data and writes to NIC via PMD
The above works very well when I use PMD which takes the NIC over eg. ixgbe
PMD with Intel 82599 NIC.
However when I use the AF Packet PMD, I face an issue that while non
fragmented ping’s work fine, the fragmented ping’s (pings with big
payloads) don’t work. I see, via tcpdump on tap, that the fast path cores
write all the fragments to tap, but the kernel does not respond.
Interestingly, the fragmented usecase works if I put small delays at the
following two places –
Just before writing to the tap
Just after reading from tap and immediately before sending to NIC with the
tx burst PMD API
I believe the problem may not be related to DPDK at all and may have
something to do with linux kernel or tun/tap driver, but has anybody faced
a similar issue or root-caused it.
Regards
-Prashant
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-07-09 6:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-09 6:58 [dpdk-dev] Exception Path issue with AF Packet PMD for fragmented packets Prashant Upadhyaya
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).