From patchwork Thu Jul 9 16:31:28 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Zhang, Helin" X-Patchwork-Id: 6254 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 0A2056849; Thu, 9 Jul 2015 18:32:23 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 389E15AA0 for ; Thu, 9 Jul 2015 18:32:21 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP; 09 Jul 2015 09:32:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,441,1432623600"; d="scan'208";a="743789759" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by fmsmga001.fm.intel.com with ESMTP; 09 Jul 2015 09:32:04 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id t69GW1NB005445; Fri, 10 Jul 2015 00:32:01 +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 t69GVw6e014250; Fri, 10 Jul 2015 00:32:00 +0800 Received: (from hzhan75@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t69GVwsX014246; Fri, 10 Jul 2015 00:31:58 +0800 From: Helin Zhang To: dev@dpdk.org Date: Fri, 10 Jul 2015 00:31:28 +0800 Message-Id: <1436459501-14173-7-git-send-email-helin.zhang@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1436459501-14173-1-git-send-email-helin.zhang@intel.com> References: <1435912347-19499-1-git-send-email-helin.zhang@intel.com> <1436459501-14173-1-git-send-email-helin.zhang@intel.com> Subject: [dpdk-dev] [PATCH v10 06/19] 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 } }