DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS
@ 2020-12-14  6:49 Junfeng Guo
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 1/5] common/iavf: add proto hdr flds support for eCPRI Junfeng Guo
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Junfeng Guo @ 2020-12-14  6:49 UTC (permalink / raw)
  To: qi.z.zhang, jingjing.wu, beilei.xing
  Cc: dev, junfeng.guo, simei.su, yahui.cao

This patch set enables eCPRI Message Type 0 with input set physical
channel ID in rte_flow for AVF FDIR and RSS.

[PATCH 1/5] common/iavf: add proto hdr flds support for eCPRI.
[PATCH 2/5] net/iavf: support flow patterns for eCPRI.
[PATCH 3/5] net/iavf: define new bits for eCPRI.
[PATCH 4/5] net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR.
[PATCH 5/5] net/iavf: support eCPRI MSG TYPE 0 for RSS.

Junfeng Guo (3):
  common/iavf: add proto hdr flds support for eCPRI
  net/iavf: define new bits for eCPRI
  net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR

Simei Su (2):
  net/iavf: support flow patterns for eCPRI
  net/iavf: support eCPRI MSG TYPE 0 for RSS

 drivers/common/iavf/virtchnl.h       |  5 ++++
 drivers/net/iavf/iavf_fdir.c         | 32 ++++++++++++++++++++++++++
 drivers/net/iavf/iavf_generic_flow.c | 15 ++++++++++++
 drivers/net/iavf/iavf_generic_flow.h |  8 ++++++-
 drivers/net/iavf/iavf_hash.c         | 34 ++++++++++++++++++++++++++++
 5 files changed, 93 insertions(+), 1 deletion(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] [PATCH 1/5] common/iavf: add proto hdr flds support for eCPRI
  2020-12-14  6:49 [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS Junfeng Guo
@ 2020-12-14  6:49 ` Junfeng Guo
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 2/5] net/iavf: support flow patterns " Junfeng Guo
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Junfeng Guo @ 2020-12-14  6:49 UTC (permalink / raw)
  To: qi.z.zhang, jingjing.wu, beilei.xing
  Cc: dev, junfeng.guo, simei.su, yahui.cao

Add eCPRI header and its field selectors, including MSG_TYPE, PCID
and RTCID. Since the offset of PCID is same as RTCID, we just add one
MACRO for these two fields. For MSG Type 0, ecpriRtcid/ecpriPcid field
within the eCPRI header will be extracted to Field Vector for FDIR and
RSS.

SPEC for eCPRI:
http://www.cpri.info/downloads/eCPRI_v_2.0_2019_05_10c.pdf

Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>
---
 drivers/common/iavf/virtchnl.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/common/iavf/virtchnl.h b/drivers/common/iavf/virtchnl.h
index b931da61e5..fcbaa31fa8 100644
--- a/drivers/common/iavf/virtchnl.h
+++ b/drivers/common/iavf/virtchnl.h
@@ -890,6 +890,7 @@ enum virtchnl_proto_hdr_type {
 	VIRTCHNL_PROTO_HDR_AH,
 	VIRTCHNL_PROTO_HDR_PFCP,
 	VIRTCHNL_PROTO_HDR_GTPC,
+	VIRTCHNL_PROTO_HDR_ECPRI,
 };
 
 /* Protocol header field within a protocol header. */
@@ -970,6 +971,10 @@ enum virtchnl_proto_hdr_field {
 	/* GTPC */
 	VIRTCHNL_PROTO_HDR_GTPC_TEID =
 		PROTO_HDR_FIELD_START(VIRTCHNL_PROTO_HDR_GTPC),
+	/* ECPRI */
+	VIRTCHNL_PROTO_HDR_ECPRI_MSG_TYPE =
+		PROTO_HDR_FIELD_START(VIRTCHNL_PROTO_HDR_ECPRI),
+	VIRTCHNL_PROTO_HDR_ECPRI_PC_RTC_ID,
 };
 
 struct virtchnl_proto_hdr {
-- 
2.25.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] [PATCH 2/5] net/iavf: support flow patterns for eCPRI
  2020-12-14  6:49 [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS Junfeng Guo
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 1/5] common/iavf: add proto hdr flds support for eCPRI Junfeng Guo
@ 2020-12-14  6:49 ` Junfeng Guo
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 3/5] net/iavf: define new bits " Junfeng Guo
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Junfeng Guo @ 2020-12-14  6:49 UTC (permalink / raw)
  To: qi.z.zhang, jingjing.wu, beilei.xing
  Cc: dev, junfeng.guo, simei.su, yahui.cao

From: Simei Su <simei.su@intel.com>

Add patterns support for eCPRI.
Added patterns are as follows:
        eth_ecpri
        eth_ipv4_ecpri

Signed-off-by: Simei Su <simei.su@intel.com>
---
 drivers/net/iavf/iavf_generic_flow.c | 15 +++++++++++++++
 drivers/net/iavf/iavf_generic_flow.h |  3 +++
 2 files changed, 18 insertions(+)

diff --git a/drivers/net/iavf/iavf_generic_flow.c b/drivers/net/iavf/iavf_generic_flow.c
index 00e7f15c33..aabbcf34c2 100644
--- a/drivers/net/iavf/iavf_generic_flow.c
+++ b/drivers/net/iavf/iavf_generic_flow.c
@@ -783,6 +783,21 @@ enum rte_flow_item_type iavf_pattern_eth_ipv6_pfcp[] = {
 	RTE_FLOW_ITEM_TYPE_END,
 };
 
+/* ECPRI */
+enum rte_flow_item_type iavf_pattern_eth_ecpri[] = {
+	RTE_FLOW_ITEM_TYPE_ETH,
+	RTE_FLOW_ITEM_TYPE_ECPRI,
+	RTE_FLOW_ITEM_TYPE_END,
+};
+
+enum rte_flow_item_type iavf_pattern_eth_ipv4_ecpri[] = {
+	RTE_FLOW_ITEM_TYPE_ETH,
+	RTE_FLOW_ITEM_TYPE_IPV4,
+	RTE_FLOW_ITEM_TYPE_UDP,
+	RTE_FLOW_ITEM_TYPE_ECPRI,
+	RTE_FLOW_ITEM_TYPE_END,
+};
+
 typedef struct iavf_flow_engine * (*parse_engine_t)(struct iavf_adapter *ad,
 		struct rte_flow *flow,
 		struct iavf_parser_list *parser_list,
diff --git a/drivers/net/iavf/iavf_generic_flow.h b/drivers/net/iavf/iavf_generic_flow.h
index efc7f2200e..9e518bd14c 100644
--- a/drivers/net/iavf/iavf_generic_flow.h
+++ b/drivers/net/iavf/iavf_generic_flow.h
@@ -262,6 +262,9 @@ extern enum rte_flow_item_type iavf_pattern_eth_ipv6_l2tpv3[];
 extern enum rte_flow_item_type iavf_pattern_eth_ipv4_pfcp[];
 extern enum rte_flow_item_type iavf_pattern_eth_ipv6_pfcp[];
 
+/* ECPRI */
+extern enum rte_flow_item_type iavf_pattern_eth_ecpri[];
+extern enum rte_flow_item_type iavf_pattern_eth_ipv4_ecpri[];
 
 extern const struct rte_flow_ops iavf_flow_ops;
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] [PATCH 3/5] net/iavf: define new bits for eCPRI
  2020-12-14  6:49 [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS Junfeng Guo
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 1/5] common/iavf: add proto hdr flds support for eCPRI Junfeng Guo
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 2/5] net/iavf: support flow patterns " Junfeng Guo
@ 2020-12-14  6:49 ` Junfeng Guo
  2021-01-05 12:28   ` Ferruh Yigit
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 4/5] net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR Junfeng Guo
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: Junfeng Guo @ 2020-12-14  6:49 UTC (permalink / raw)
  To: qi.z.zhang, jingjing.wu, beilei.xing
  Cc: dev, junfeng.guo, simei.su, yahui.cao

Define new bits of protocol header, field and input set for eCPRI.

Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>
---
 drivers/net/iavf/iavf_generic_flow.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/iavf/iavf_generic_flow.h b/drivers/net/iavf/iavf_generic_flow.h
index 9e518bd14c..0ccf5901b4 100644
--- a/drivers/net/iavf/iavf_generic_flow.h
+++ b/drivers/net/iavf/iavf_generic_flow.h
@@ -34,6 +34,7 @@
 #define IAVF_PROT_AH		    (1ULL << 23)
 #define IAVF_PROT_L2TPV3OIP	    (1ULL << 24)
 #define IAVF_PROT_PFCP		    (1ULL << 25)
+#define IAVF_PROT_ECPRI		    (1ULL << 26)
 
 
 /* field */
@@ -59,6 +60,7 @@
 #define IAVF_L2TPV3OIP_SESSION_ID   (1ULL << 45)
 #define IAVF_PFCP_S_FIELD	    (1ULL << 44)
 #define IAVF_PFCP_SEID		    (1ULL << 43)
+#define IAVF_ECPRI_PC_RTC_ID	    (1ULL << 42)
 
 /* input set */
 
@@ -135,7 +137,8 @@
 	(IAVF_PROT_PFCP | IAVF_PFCP_S_FIELD)
 #define IAVF_INSET_PFCP_SEID \
 	(IAVF_PROT_PFCP | IAVF_PFCP_S_FIELD | IAVF_PFCP_SEID)
-
+#define IAVF_INSET_ECPRI \
+	(IAVF_PROT_ECPRI | IAVF_ECPRI_PC_RTC_ID)
 
 /* empty pattern */
 extern enum rte_flow_item_type iavf_pattern_empty[];
-- 
2.25.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] [PATCH 4/5] net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR
  2020-12-14  6:49 [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS Junfeng Guo
                   ` (2 preceding siblings ...)
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 3/5] net/iavf: define new bits " Junfeng Guo
@ 2020-12-14  6:49 ` Junfeng Guo
  2021-01-05 12:30   ` Ferruh Yigit
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 5/5] net/iavf: support eCPRI MSG TYPE 0 for RSS Junfeng Guo
  2020-12-23 11:07 ` [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS Zhang, Qi Z
  5 siblings, 1 reply; 9+ messages in thread
From: Junfeng Guo @ 2020-12-14  6:49 UTC (permalink / raw)
  To: qi.z.zhang, jingjing.wu, beilei.xing
  Cc: dev, junfeng.guo, simei.su, yahui.cao

For eCPRI MSG Type 0, ecpriRtcid/ecpriPcid field within the eCPRI
header will be extracted to Field Vector for AVF FDIR.

SPEC for eCPRI:
http://www.cpri.info/downloads/eCPRI_v_2.0_2019_05_10c.pdf

Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>
---
 drivers/net/iavf/iavf_fdir.c | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c
index 7054bde0b9..e92ca17581 100644
--- a/drivers/net/iavf/iavf_fdir.c
+++ b/drivers/net/iavf/iavf_fdir.c
@@ -104,6 +104,9 @@
 #define IAVF_FDIR_INSET_PFCP (\
 	IAVF_INSET_PFCP_S_FIELD)
 
+#define IAVF_FDIR_INSET_ECPRI (\
+	IAVF_INSET_ECPRI)
+
 static struct iavf_pattern_match_item iavf_fdir_pattern[] = {
 	{iavf_pattern_ethertype,		IAVF_FDIR_INSET_ETH,			IAVF_INSET_NONE},
 	{iavf_pattern_eth_ipv4,			IAVF_FDIR_INSET_ETH_IPV4,		IAVF_INSET_NONE},
@@ -128,6 +131,8 @@ static struct iavf_pattern_match_item iavf_fdir_pattern[] = {
 	{iavf_pattern_eth_ipv6_udp_esp,		IAVF_FDIR_INSET_IPV6_NATT_ESP,		IAVF_INSET_NONE},
 	{iavf_pattern_eth_ipv4_pfcp,		IAVF_FDIR_INSET_PFCP,			IAVF_INSET_NONE},
 	{iavf_pattern_eth_ipv6_pfcp,		IAVF_FDIR_INSET_PFCP,			IAVF_INSET_NONE},
+	{iavf_pattern_eth_ecpri,		IAVF_FDIR_INSET_ECPRI,			IAVF_INSET_NONE},
+	{iavf_pattern_eth_ipv4_ecpri,		IAVF_FDIR_INSET_ECPRI,			IAVF_INSET_NONE},
 };
 
 static struct iavf_flow_parser iavf_fdir_parser;
@@ -469,6 +474,8 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
 	const struct rte_flow_item_esp *esp_spec, *esp_mask;
 	const struct rte_flow_item_ah *ah_spec, *ah_mask;
 	const struct rte_flow_item_pfcp *pfcp_spec, *pfcp_mask;
+	const struct rte_flow_item_ecpri *ecpri_spec, *ecpri_mask;
+	struct rte_ecpri_common_hdr ecpri_common;
 	uint64_t input_set = IAVF_INSET_NONE;
 
 	enum rte_flow_item_type next_type;
@@ -906,6 +913,31 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
 			filter->add_fltr.rule_cfg.proto_hdrs.count = ++layer;
 			break;
 
+		case RTE_FLOW_ITEM_TYPE_ECPRI:
+			ecpri_spec = item->spec;
+			ecpri_mask = item->mask;
+
+			ecpri_common.u32 = rte_be_to_cpu_32(ecpri_spec->hdr.common.u32);
+
+			hdr = &filter->add_fltr.rule_cfg.proto_hdrs.proto_hdr[layer];
+
+			VIRTCHNL_SET_PROTO_HDR_TYPE(hdr, ECPRI);
+
+			if (ecpri_spec && ecpri_mask) {
+				if (ecpri_common.type == RTE_ECPRI_MSG_TYPE_IQ_DATA
+				    && ecpri_mask->hdr.type0.pc_id == UINT16_MAX) {
+					input_set |= IAVF_ECPRI_PC_RTC_ID;
+					VIRTCHNL_ADD_PROTO_HDR_FIELD_BIT(hdr, ECPRI,
+									 PC_RTC_ID);
+				}
+
+				rte_memcpy(hdr->buffer, ecpri_spec,
+					sizeof(*ecpri_spec));
+			}
+
+			filter->add_fltr.rule_cfg.proto_hdrs.count = ++layer;
+			break;
+
 		case RTE_FLOW_ITEM_TYPE_VOID:
 			break;
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] [PATCH 5/5] net/iavf: support eCPRI MSG TYPE 0 for RSS
  2020-12-14  6:49 [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS Junfeng Guo
                   ` (3 preceding siblings ...)
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 4/5] net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR Junfeng Guo
@ 2020-12-14  6:49 ` Junfeng Guo
  2020-12-23 11:07 ` [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS Zhang, Qi Z
  5 siblings, 0 replies; 9+ messages in thread
From: Junfeng Guo @ 2020-12-14  6:49 UTC (permalink / raw)
  To: qi.z.zhang, jingjing.wu, beilei.xing
  Cc: dev, junfeng.guo, simei.su, yahui.cao

From: Simei Su <simei.su@intel.com>

This patch enables eCPRI Message Type 0 with input set physical
channel ID in rte_flow for RSS.

Signed-off-by: Simei Su <simei.su@intel.com>
---
 drivers/net/iavf/iavf_hash.c | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c
index c4c73e6644..a20c33e7fb 100644
--- a/drivers/net/iavf/iavf_hash.c
+++ b/drivers/net/iavf/iavf_hash.c
@@ -152,6 +152,10 @@ iavf_hash_parse_pattern_action(struct iavf_adapter *ad,
 #define proto_hdr_gtpc { \
 	VIRTCHNL_PROTO_HDR_GTPC, 0, {BUFF_NOUSED} }
 
+#define proto_hdr_ecpri { \
+	VIRTCHNL_PROTO_HDR_ECPRI, \
+	FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_ECPRI_PC_RTC_ID), {BUFF_NOUSED} }
+
 #define TUNNEL_LEVEL_OUTER		0
 #define TUNNEL_LEVEL_INNER		1
 
@@ -288,6 +292,14 @@ struct virtchnl_proto_hdrs ipv6_udp_gtpc_tmplt = {
 	TUNNEL_LEVEL_OUTER, 3, {proto_hdr_ipv6, proto_hdr_udp, proto_hdr_gtpc}
 };
 
+struct virtchnl_proto_hdrs eth_ecpri_tmplt = {
+	TUNNEL_LEVEL_OUTER, 2, {proto_hdr_eth, proto_hdr_ecpri}
+};
+
+struct virtchnl_proto_hdrs ipv4_ecpri_tmplt = {
+	TUNNEL_LEVEL_OUTER, 3, {proto_hdr_ipv4, proto_hdr_udp, proto_hdr_ecpri}
+};
+
 /* rss type super set */
 
 /* IPv4 outer */
@@ -399,6 +411,8 @@ static struct iavf_pattern_match_item iavf_hash_pattern_list[] = {
 	{iavf_pattern_eth_ipv4_l2tpv3,			IAVF_RSS_TYPE_IPV4_L2TPV3,	&ipv4_l2tpv3_tmplt},
 	{iavf_pattern_eth_ipv4_pfcp,			IAVF_RSS_TYPE_IPV4_PFCP,	&ipv4_pfcp_tmplt},
 	{iavf_pattern_eth_ipv4_gtpc,			ETH_RSS_IPV4,			&ipv4_udp_gtpc_tmplt},
+	{iavf_pattern_eth_ecpri,			ETH_RSS_ECPRI,			&eth_ecpri_tmplt},
+	{iavf_pattern_eth_ipv4_ecpri,			ETH_RSS_ECPRI,			&ipv4_ecpri_tmplt},
 	/* IPv6 */
 	{iavf_pattern_eth_ipv6,				IAVF_RSS_TYPE_OUTER_IPV6,	&outer_ipv6_tmplt},
 	{iavf_pattern_eth_ipv6_udp,			IAVF_RSS_TYPE_OUTER_IPV6_UDP,	&outer_ipv6_udp_tmplt},
@@ -525,6 +539,8 @@ iavf_hash_parse_pattern(const struct rte_flow_item pattern[], uint64_t *phint,
 {
 	const struct rte_flow_item *item = pattern;
 	const struct rte_flow_item_gtp_psc *psc;
+	const struct rte_flow_item_ecpri *ecpri;
+	struct rte_ecpri_common_hdr ecpri_common;
 
 	for (item = pattern; item->type != RTE_FLOW_ITEM_TYPE_END; item++) {
 		if (item->last) {
@@ -556,6 +572,20 @@ iavf_hash_parse_pattern(const struct rte_flow_item pattern[], uint64_t *phint,
 			else if (psc->pdu_type == IAVF_GTPU_EH_DWNLINK)
 				*phint |= IAVF_PHINT_GTPU_EH_DWN;
 			break;
+		case RTE_FLOW_ITEM_TYPE_ECPRI:
+			ecpri = item->spec;
+			ecpri_common.u32 = rte_be_to_cpu_32(
+						ecpri->hdr.common.u32);
+			if (!ecpri)
+				break;
+			else if (ecpri_common.type !=
+				 RTE_ECPRI_MSG_TYPE_IQ_DATA) {
+				rte_flow_error_set(error, EINVAL,
+					RTE_FLOW_ERROR_TYPE_ITEM, item,
+					"Unsupported common type.");
+				return -rte_errno;
+			}
+			break;
 		default:
 			break;
 		}
@@ -711,6 +741,10 @@ iavf_refine_proto_hdrs_l234(struct virtchnl_proto_hdrs *proto_hdrs,
 			if (!(rss_type & ETH_RSS_PFCP))
 				hdr->field_selector = 0;
 			break;
+		case VIRTCHNL_PROTO_HDR_ECPRI:
+			if (!(rss_type & ETH_RSS_ECPRI))
+				hdr->field_selector = 0;
+			break;
 		default:
 			break;
 		}
-- 
2.25.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS
  2020-12-14  6:49 [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS Junfeng Guo
                   ` (4 preceding siblings ...)
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 5/5] net/iavf: support eCPRI MSG TYPE 0 for RSS Junfeng Guo
@ 2020-12-23 11:07 ` Zhang, Qi Z
  5 siblings, 0 replies; 9+ messages in thread
From: Zhang, Qi Z @ 2020-12-23 11:07 UTC (permalink / raw)
  To: Guo, Junfeng, Wu, Jingjing, Xing, Beilei; +Cc: dev, Su, Simei, Cao, Yahui



> -----Original Message-----
> From: Guo, Junfeng <junfeng.guo@intel.com>
> Sent: Monday, December 14, 2020 2:49 PM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>;
> Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Guo, Junfeng <junfeng.guo@intel.com>; Su, Simei
> <simei.su@intel.com>; Cao, Yahui <yahui.cao@intel.com>
> Subject: [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS
> 
> This patch set enables eCPRI Message Type 0 with input set physical channel ID
> in rte_flow for AVF FDIR and RSS.
> 
> [PATCH 1/5] common/iavf: add proto hdr flds support for eCPRI.
> [PATCH 2/5] net/iavf: support flow patterns for eCPRI.
> [PATCH 3/5] net/iavf: define new bits for eCPRI.
> [PATCH 4/5] net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR.
> [PATCH 5/5] net/iavf: support eCPRI MSG TYPE 0 for RSS.
> 
> Junfeng Guo (3):
>   common/iavf: add proto hdr flds support for eCPRI
>   net/iavf: define new bits for eCPRI
>   net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR
> 
> Simei Su (2):
>   net/iavf: support flow patterns for eCPRI
>   net/iavf: support eCPRI MSG TYPE 0 for RSS
> 
>  drivers/common/iavf/virtchnl.h       |  5 ++++
>  drivers/net/iavf/iavf_fdir.c         | 32 ++++++++++++++++++++++++++
>  drivers/net/iavf/iavf_generic_flow.c | 15 ++++++++++++
> drivers/net/iavf/iavf_generic_flow.h |  8 ++++++-
>  drivers/net/iavf/iavf_hash.c         | 34 ++++++++++++++++++++++++++++
>  5 files changed, 93 insertions(+), 1 deletion(-)
> 
> --
> 2.25.1

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH 3/5] net/iavf: define new bits for eCPRI
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 3/5] net/iavf: define new bits " Junfeng Guo
@ 2021-01-05 12:28   ` Ferruh Yigit
  0 siblings, 0 replies; 9+ messages in thread
From: Ferruh Yigit @ 2021-01-05 12:28 UTC (permalink / raw)
  To: Junfeng Guo, qi.z.zhang, jingjing.wu, beilei.xing
  Cc: dev, simei.su, yahui.cao

On 12/14/2020 6:49 AM, Junfeng Guo wrote:
> Define new bits of protocol header, field and input set for eCPRI.
> 
> Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>
> ---
>   drivers/net/iavf/iavf_generic_flow.h | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/iavf/iavf_generic_flow.h b/drivers/net/iavf/iavf_generic_flow.h
> index 9e518bd14c..0ccf5901b4 100644
> --- a/drivers/net/iavf/iavf_generic_flow.h
> +++ b/drivers/net/iavf/iavf_generic_flow.h
> @@ -34,6 +34,7 @@
>   #define IAVF_PROT_AH		    (1ULL << 23)
>   #define IAVF_PROT_L2TPV3OIP	    (1ULL << 24)
>   #define IAVF_PROT_PFCP		    (1ULL << 25)
> +#define IAVF_PROT_ECPRI		    (1ULL << 26)
>   
>   
>   /* field */
> @@ -59,6 +60,7 @@
>   #define IAVF_L2TPV3OIP_SESSION_ID   (1ULL << 45)
>   #define IAVF_PFCP_S_FIELD	    (1ULL << 44)
>   #define IAVF_PFCP_SEID		    (1ULL << 43)
> +#define IAVF_ECPRI_PC_RTC_ID	    (1ULL << 42)
>   
>   /* input set */
>   
> @@ -135,7 +137,8 @@
>   	(IAVF_PROT_PFCP | IAVF_PFCP_S_FIELD)
>   #define IAVF_INSET_PFCP_SEID \
>   	(IAVF_PROT_PFCP | IAVF_PFCP_S_FIELD | IAVF_PFCP_SEID)
> -
> +#define IAVF_INSET_ECPRI \
> +	(IAVF_PROT_ECPRI | IAVF_ECPRI_PC_RTC_ID)
>   
>   /* empty pattern */
>   extern enum rte_flow_item_type iavf_pattern_empty[];
> 

Squashed into next commit [1], where these defines used.

[1] net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH 4/5] net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR
  2020-12-14  6:49 ` [dpdk-dev] [PATCH 4/5] net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR Junfeng Guo
@ 2021-01-05 12:30   ` Ferruh Yigit
  0 siblings, 0 replies; 9+ messages in thread
From: Ferruh Yigit @ 2021-01-05 12:30 UTC (permalink / raw)
  To: Junfeng Guo, qi.z.zhang, jingjing.wu, beilei.xing
  Cc: dev, simei.su, yahui.cao

On 12/14/2020 6:49 AM, Junfeng Guo wrote:
> For eCPRI MSG Type 0, ecpriRtcid/ecpriPcid field within the eCPRI
> header will be extracted to Field Vector for AVF FDIR.
> 
> SPEC for eCPRI:
> http://www.cpri.info/downloads/eCPRI_v_2.0_2019_05_10c.pdf
> 
> Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>

fixed following checkpatch warning while merging:

  CHECK:LOGICAL_CONTINUATIONS: Logical continuations should be on the previous  line
  #121: FILE: drivers/net/iavf/iavf_fdir.c:928:
  +	if (ecpri_common.type == RTE_ECPRI_MSG_TYPE_IQ_DATA
  +				&& ecpri_mask->hdr.type0.pc_id == UINT16_MAX) {

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-01-05 12:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-14  6:49 [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS Junfeng Guo
2020-12-14  6:49 ` [dpdk-dev] [PATCH 1/5] common/iavf: add proto hdr flds support for eCPRI Junfeng Guo
2020-12-14  6:49 ` [dpdk-dev] [PATCH 2/5] net/iavf: support flow patterns " Junfeng Guo
2020-12-14  6:49 ` [dpdk-dev] [PATCH 3/5] net/iavf: define new bits " Junfeng Guo
2021-01-05 12:28   ` Ferruh Yigit
2020-12-14  6:49 ` [dpdk-dev] [PATCH 4/5] net/iavf: support eCPRI MSG TYPE 0 for AVF FDIR Junfeng Guo
2021-01-05 12:30   ` Ferruh Yigit
2020-12-14  6:49 ` [dpdk-dev] [PATCH 5/5] net/iavf: support eCPRI MSG TYPE 0 for RSS Junfeng Guo
2020-12-23 11:07 ` [dpdk-dev] [PATCH 0/5] support eCPRI MSG TYPE 0 for AVF FDIR and RSS Zhang, Qi Z

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git