[dpdk-users] IPV4 and VLAN RX packets from NIC donot have the mbuf offload flag set resulting in packet drop - DPDK

Suchetha p suchetha2005 at gmail.com
Wed Jun 26 15:45:01 CEST 2019

After upgrading the DPDK and RHEL OS to latest version I observe that
offload flags were not set in the packets received from NIC for eth type
VLAN and IPV4.Can this be a Driver issue ?How to fix this? It was required
to explicitly set the offload flags in the ingress VLAN and IPV4 packets.
if (ETHER_TYPE_VLAN == eth_type) { m->ol_flags |= PKT_RX_VLAN_PKT;

if (ETHER_TYPE_IPv4 == eth_type) {
      m->ol_flags |= PKT_RX_IPV4_HDR;

If these offload flags were not set in the mbuf the packet would get
dropped and will not be forwarded to the Tap device. But the offload flag
setting per NIC received packet in the application is causing some
performance issue and delay in data transfer. TCP segment
loss,retransmissions and TX Tap drops were observed. These changes with
respect to offload flag setting for RX VLAN and IPV4 packets were not
required with old DPDK and RHEL6 and packets were getting forwarded from
NIC to Tap device and vice versa without any issue. So is anything changed
with respect to DPDK and RHEL 7 for ingress packets ?Any configuration
changes required with new DPDK to instruct the Hardware to set the offload
flags ? Is it required to set CKSUM/ offload flags for TCP packets with new
DPDK 18.08 to avoid TCP segment loss /DUP ACK and retransmissions? Please

More information about the users mailing list