From e7df2fda1fec3fa598d77cff6f33b3f64c48a40f Mon Sep 17 00:00:00 2001 From: Helin Zhang Date: Fri, 10 Jul 2015 00:31:31 +0800 Subject: [PATCH] cxgbe: replace some offload flags with packet type 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 Acked-by: Konstantin Ananyev --- drivers/net/cxgbe/sge.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/cxgbe/sge.c b/drivers/net/cxgbe/sge.c index b737183db5..1a10278f24 100644 --- a/drivers/net/cxgbe/sge.c +++ b/drivers/net/cxgbe/sge.c @@ -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) { -- 2.20.1