The packet type is set even if it is a fragmented packet.
Tested, using testpmd, for different hardware versions on ESXi 7.0
Update 2.
Signed-off-by: Pankaj Gupta <pagupta@vmware.com>
Reviewed-by: Jochen Behrens <jbehrens@vmware.com>
/* Check packet type, checksum errors, etc. */
if (rcd->cnc) {
ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN;
+
+ if (rcd->v4) {
+ packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN;
+ if (rcd->tcp)
+ packet_type |= RTE_PTYPE_L4_TCP;
+ else if (rcd->udp)
+ packet_type |= RTE_PTYPE_L4_UDP;
+ } else if (rcd->v6) {
+ packet_type |= RTE_PTYPE_L3_IPV6_EXT_UNKNOWN;
+ if (rcd->tcp)
+ packet_type |= RTE_PTYPE_L4_TCP;
+ else if (rcd->udp)
+ packet_type |= RTE_PTYPE_L4_UDP;
+ } else {
+ packet_type |= RTE_PTYPE_UNKNOWN;
+ }
+
} else {
if (rcd->v4) {
packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN;