cxgbe: replace some offload flags with packet type
authorHelin Zhang <helin.zhang@intel.com>
Thu, 9 Jul 2015 16:31:31 +0000 (00:31 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 15 Jul 2015 22:57:39 +0000 (00:57 +0200)
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_NEXT_ABI.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
drivers/net/cxgbe/sge.c

index b737183..1a10278 100644 (file)
@@ -1299,14 +1299,22 @@ int t4_ethrx_handler(struct sge_rspq *q, const __be64 *rsp,
 
        mbuf->port = pkt->iff;
        if (pkt->l2info & htonl(F_RXF_IP)) {
+#ifdef RTE_NEXT_ABI
+               mbuf->packet_type = RTE_PTYPE_L3_IPV4;
+#else
                mbuf->ol_flags |= PKT_RX_IPV4_HDR;
+#endif
                if (unlikely(!csum_ok))
                        mbuf->ol_flags |= PKT_RX_IP_CKSUM_BAD;
 
                if ((pkt->l2info & htonl(F_RXF_UDP | F_RXF_TCP)) && !csum_ok)
                        mbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD;
        } else if (pkt->l2info & htonl(F_RXF_IP6)) {
+#ifdef RTE_NEXT_ABI
+               mbuf->packet_type = RTE_PTYPE_L3_IPV6;
+#else
                mbuf->ol_flags |= PKT_RX_IPV6_HDR;
+#endif
        }
 
        mbuf->port = pkt->iff;
@@ -1411,7 +1419,11 @@ static int process_responses(struct sge_rspq *q, int budget,
                        unmap_rx_buf(&rxq->fl);
 
                        if (cpl->l2info & htonl(F_RXF_IP)) {
+#ifdef RTE_NEXT_ABI
+                               pkt->packet_type = RTE_PTYPE_L3_IPV4;
+#else
                                pkt->ol_flags |= PKT_RX_IPV4_HDR;
+#endif
                                if (unlikely(!csum_ok))
                                        pkt->ol_flags |= PKT_RX_IP_CKSUM_BAD;
 
@@ -1419,7 +1431,11 @@ static int process_responses(struct sge_rspq *q, int budget,
                                     htonl(F_RXF_UDP | F_RXF_TCP)) && !csum_ok)
                                        pkt->ol_flags |= PKT_RX_L4_CKSUM_BAD;
                        } else if (cpl->l2info & htonl(F_RXF_IP6)) {
+#ifdef RTE_NEXT_ABI
+                               pkt->packet_type = RTE_PTYPE_L3_IPV6;
+#else
                                pkt->ol_flags |= PKT_RX_IPV6_HDR;
+#endif
                        }
 
                        if (!rss_hdr->filter_tid && rss_hdr->hash_type) {