To unify packet types among all PMDs, bit masks of packet type for
'ol_flags' are replaced by unified packet type.
To avoid breaking ABI compatibility, all the changes would be
enabled by RTE_UNIFIED_PKT_TYPE, which is disabled by default.

Signed-off-by: Helin Zhang <helin.zhang at intel.com>
---
 drivers/net/vmxnet3/vmxnet3_rxtx.c | 8 ++++++++
 1 file changed, 8 insertions(+)

v2 changes:
* Used redefined packet types and enlarged packet_type field in mbuf.

v5 changes:
* Re-worded the commit logs.

v6 changes:
* Disabled the code changes for unified packet type by default, to
  avoid breaking ABI compatibility.

diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c 
b/drivers/net/vmxnet3/vmxnet3_rxtx.c
index a1eac45..89b600b 100644
--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
@@ -649,9 +649,17 @@ vmxnet3_recv_pkts(void *rx_queue, struct rte_mbuf 
**rx_pkts, uint16_t nb_pkts)
                        struct ipv4_hdr *ip = (struct ipv4_hdr *)(eth + 1);

                        if (((ip->version_ihl & 0xf) << 2) > (int)sizeof(struct 
ipv4_hdr))
+#ifdef RTE_UNIFIED_PKT_TYPE
+                               rxm->packet_type = RTE_PTYPE_L3_IPV4_EXT;
+#else
                                rxm->ol_flags |= PKT_RX_IPV4_HDR_EXT;
+#endif
                        else
+#ifdef RTE_UNIFIED_PKT_TYPE
+                               rxm->packet_type = RTE_PTYPE_L3_IPV4;
+#else
                                rxm->ol_flags |= PKT_RX_IPV4_HDR;
+#endif

                        if (!rcd->cnc) {
                                if (!rcd->ipc)
-- 
1.9.3

Reply via email to