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