From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Daley Subject: [PATCH v4 4/8] net/enic: flow API mark and flag support Date: Wed, 17 May 2017 15:38:07 -0700 Message-ID: <20170517223811.6150-5-johndale@cisco.com> References: <1480ef9e-a5fd-6fd9-a990-df3bed147bfc@intel.com> <20170517223811.6150-1-johndale@cisco.com> Cc: dev@dpdk.org, John Daley To: ferruh.yigit@intel.com Return-path: Received: from rcdn-iport-9.cisco.com (rcdn-iport-9.cisco.com [173.37.86.80]) by dpdk.org (Postfix) with ESMTP id 2C685324A for ; Thu, 18 May 2017 00:38:15 +0200 (CEST) In-Reply-To: <20170517223811.6150-1-johndale@cisco.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" For VICs with filter tagging, support the MARK and FLAG actions by setting appropriate mbuf ol_flags if there is a filter match. Signed-off-by: John Daley Reviewed-by: Nelson Escobar --- drivers/net/enic/enic_rxtx.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/net/enic/enic_rxtx.c b/drivers/net/enic/enic_rxtx.c index ba0cfd01a..5867acf19 100644 --- a/drivers/net/enic/enic_rxtx.c +++ b/drivers/net/enic/enic_rxtx.c @@ -253,8 +253,20 @@ enic_cq_rx_to_pkt_flags(struct cq_desc *cqd, struct rte_mbuf *mbuf) } mbuf->vlan_tci = vlan_tci; - /* RSS flag */ - if (enic_cq_rx_desc_rss_type(cqrd)) { + if ((cqd->type_color & CQ_DESC_TYPE_MASK) == CQ_DESC_TYPE_CLASSIFIER) { + struct cq_enet_rq_clsf_desc *clsf_cqd; + uint16_t filter_id; + clsf_cqd = (struct cq_enet_rq_clsf_desc *)cqd; + filter_id = clsf_cqd->filter_id; + if (filter_id) { + pkt_flags |= PKT_RX_FDIR; + if (filter_id != ENIC_MAGIC_FILTER_ID) { + mbuf->hash.fdir.hi = clsf_cqd->filter_id; + pkt_flags |= PKT_RX_FDIR_ID; + } + } + } else if (enic_cq_rx_desc_rss_type(cqrd)) { + /* RSS flag */ pkt_flags |= PKT_RX_RSS_HASH; mbuf->hash.rss = enic_cq_rx_desc_rss_hash(cqrd); } -- 2.12.0