From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id D9FDFC792 for ; Tue, 23 Jun 2015 03:51:09 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 22 Jun 2015 18:51:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,663,1427785200"; d="scan'208";a="715865125" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by orsmga001.jf.intel.com with ESMTP; 22 Jun 2015 18:51:08 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id t5N1ox3O024356; Tue, 23 Jun 2015 09:50:59 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id t5N1ouLO019566; Tue, 23 Jun 2015 09:50:58 +0800 Received: (from hzhan75@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t5N1ourB019562; Tue, 23 Jun 2015 09:50:56 +0800 From: Helin Zhang To: dev@dpdk.org Date: Tue, 23 Jun 2015 09:50:24 +0800 Message-Id: <1435024235-19483-8-git-send-email-helin.zhang@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1435024235-19483-1-git-send-email-helin.zhang@intel.com> References: <1434701661-9943-1-git-send-email-helin.zhang@intel.com> <1435024235-19483-1-git-send-email-helin.zhang@intel.com> Subject: [dpdk-dev] [PATCH v8 07/18] enic: replace bit mask based packet type with unified packet type X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Jun 2015 01:51:10 -0000 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, which is disabled by default. Signed-off-by: Helin Zhang --- drivers/net/enic/enic_main.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 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. v7 changes: * Renamed RTE_UNIFIED_PKT_TYPE to RTE_NEXT_ABI. diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index 15313c2..f47e96c 100644 --- a/drivers/net/enic/enic_main.c +++ b/drivers/net/enic/enic_main.c @@ -423,7 +423,11 @@ static int enic_rq_indicate_buf(struct vnic_rq *rq, rx_pkt->pkt_len = bytes_written; if (ipv4) { +#ifdef RTE_NEXT_ABI + rx_pkt->packet_type = RTE_PTYPE_L3_IPV4; +#else rx_pkt->ol_flags |= PKT_RX_IPV4_HDR; +#endif if (!csum_not_calc) { if (unlikely(!ipv4_csum_ok)) rx_pkt->ol_flags |= PKT_RX_IP_CKSUM_BAD; @@ -432,7 +436,11 @@ static int enic_rq_indicate_buf(struct vnic_rq *rq, rx_pkt->ol_flags |= PKT_RX_L4_CKSUM_BAD; } } else if (ipv6) +#ifdef RTE_NEXT_ABI + rx_pkt->packet_type = RTE_PTYPE_L3_IPV6; +#else rx_pkt->ol_flags |= PKT_RX_IPV6_HDR; +#endif } else { /* Header split */ if (sop && !eop) { @@ -445,7 +453,11 @@ static int enic_rq_indicate_buf(struct vnic_rq *rq, *rx_pkt_bucket = rx_pkt; rx_pkt->pkt_len = bytes_written; if (ipv4) { +#ifdef RTE_NEXT_ABI + rx_pkt->packet_type = RTE_PTYPE_L3_IPV4; +#else rx_pkt->ol_flags |= PKT_RX_IPV4_HDR; +#endif if (!csum_not_calc) { if (unlikely(!ipv4_csum_ok)) rx_pkt->ol_flags |= @@ -457,13 +469,22 @@ static int enic_rq_indicate_buf(struct vnic_rq *rq, PKT_RX_L4_CKSUM_BAD; } } else if (ipv6) +#ifdef RTE_NEXT_ABI + rx_pkt->packet_type = RTE_PTYPE_L3_IPV6; +#else rx_pkt->ol_flags |= PKT_RX_IPV6_HDR; +#endif } else { /* Payload */ hdr_rx_pkt = *rx_pkt_bucket; hdr_rx_pkt->pkt_len += bytes_written; if (ipv4) { +#ifdef RTE_NEXT_ABI + hdr_rx_pkt->packet_type = + RTE_PTYPE_L3_IPV4; +#else hdr_rx_pkt->ol_flags |= PKT_RX_IPV4_HDR; +#endif if (!csum_not_calc) { if (unlikely(!ipv4_csum_ok)) hdr_rx_pkt->ol_flags |= @@ -475,7 +496,12 @@ static int enic_rq_indicate_buf(struct vnic_rq *rq, PKT_RX_L4_CKSUM_BAD; } } else if (ipv6) +#ifdef RTE_NEXT_ABI + hdr_rx_pkt->packet_type = + RTE_PTYPE_L3_IPV6; +#else hdr_rx_pkt->ol_flags |= PKT_RX_IPV6_HDR; +#endif } } -- 1.9.3