patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype
@ 2020-12-11  9:01 Steve Yang
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix flow director initialisation Steve Yang
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Steve Yang @ 2020-12-11  9:01 UTC (permalink / raw)
  To: stable; +Cc: beilei.xing, jia.guo, Shougang Wang

From: Shougang Wang <shougangx.wang@intel.com>

[ upstream commit 11b58ac709690cb4086a0a01f979b3d3f8ea7d21 ]

The i40e_filter_pctype TCP_SYN_NO_ACK, UNICAST_IPV4_UDP and
MULTICAST_IPV4_UDP for x722 were missing when translating RSS type to
i40e_filter_pctype. This patch fixes it.

Fixes: da7018ec29d4 ("net/i40e: fix queue region in RSS flow")
Cc: stable@dpdk.org

Reviewed-by: Wei Zhao <wei.zhao1@intel.com>

Signed-off-by: Shougang Wang <shougangx.wang@intel.com>
---
 drivers/net/i40e/i40e_flow.c | 51 +++++++++++++++++++++++++++++++-----
 1 file changed, 44 insertions(+), 7 deletions(-)

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index c04dfe79fc..0202e1701e 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -4301,14 +4301,33 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
 	const struct rte_flow_action *act;
 	const struct rte_flow_action_rss *rss;
 	struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
+	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	struct i40e_queue_regions *info = &pf->queue_region;
 	struct i40e_rte_flow_rss_conf *rss_config =
 			&filter->rss_conf;
 	struct i40e_rte_flow_rss_conf *rss_info = &pf->rss_info;
-	uint16_t i, j, n, tmp;
+	uint16_t i, j, n, m, tmp;
 	uint32_t index = 0;
 	uint64_t hf_bit = 1;
 
+	static const struct {
+		uint64_t rss_type;
+		enum i40e_filter_pctype pctype;
+	} pctype_match_table_x722[] = {
+		{ETH_RSS_NONFRAG_IPV4_TCP,
+			I40E_FILTER_PCTYPE_NONF_IPV4_TCP_SYN_NO_ACK},
+		{ETH_RSS_NONFRAG_IPV4_UDP,
+			I40E_FILTER_PCTYPE_NONF_UNICAST_IPV4_UDP},
+		{ETH_RSS_NONFRAG_IPV4_UDP,
+			I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV4_UDP},
+		{ETH_RSS_NONFRAG_IPV6_TCP,
+			I40E_FILTER_PCTYPE_NONF_IPV6_TCP_SYN_NO_ACK},
+		{ETH_RSS_NONFRAG_IPV6_UDP,
+			I40E_FILTER_PCTYPE_NONF_UNICAST_IPV6_UDP},
+		{ETH_RSS_NONFRAG_IPV6_UDP,
+			I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV6_UDP},
+	};
+
 	NEXT_ITEM_OF_ACTION(act, actions, index);
 	rss = act->conf;
 
@@ -4333,6 +4352,18 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
 				break;
 			}
 		}
+
+		if (hw->mac.type == I40E_MAC_X722)
+			for (j = 0; j < RTE_DIM(pctype_match_table_x722); j++) {
+				if (rss->types &
+				    pctype_match_table_x722[j].rss_type) {
+					m = conf_info->region[0].flowtype_num;
+					conf_info->region[0].hw_flowtype[m] =
+					    pctype_match_table_x722[j].pctype;
+					conf_info->region[0].flowtype_num++;
+					conf_info->queue_region_number = 1;
+				}
+			}
 	}
 
 	/**
@@ -4430,9 +4461,12 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
 					info->region[i].user_priority_num++;
 				}
 
-				j = info->region[i].flowtype_num;
-				tmp = conf_info->region[n].hw_flowtype[0];
-				if (conf_info->region[n].flowtype_num) {
+				for (m = 0;
+				     m < conf_info->region[n].flowtype_num;
+				     m++) {
+					j = info->region[i].flowtype_num;
+					tmp =
+					  conf_info->region[n].hw_flowtype[m];
 					info->region[i].hw_flowtype[j] = tmp;
 					info->region[i].flowtype_num++;
 				}
@@ -4445,9 +4479,12 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
 					info->region[i].user_priority_num++;
 				}
 
-				j = info->region[i].flowtype_num;
-				tmp = conf_info->region[n].hw_flowtype[0];
-				if (conf_info->region[n].flowtype_num) {
+				for (m = 0;
+				     m < conf_info->region[n].flowtype_num;
+				     m++) {
+					j = info->region[i].flowtype_num;
+					tmp =
+					  conf_info->region[n].hw_flowtype[m];
 					info->region[i].hw_flowtype[j] = tmp;
 					info->region[i].flowtype_num++;
 				}
-- 
2.17.1


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

* [dpdk-stable] [DPDK 18.11] net/i40e: fix flow director initialisation
  2020-12-11  9:01 [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype Steve Yang
@ 2020-12-11  9:01 ` Steve Yang
  2020-12-11  9:46   ` Kevin Traynor
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix link status Steve Yang
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Steve Yang @ 2020-12-11  9:01 UTC (permalink / raw)
  To: stable; +Cc: beilei.xing, jia.guo, Bernard Iremonger

From: Bernard Iremonger <bernard.iremonger@intel.com>

[ upstream commit ae08c73e6f55e62e402fcdbfa6e8e967bf4bc5cc ]

Remove references to struct rte_fdir_conf which is deprecated,
in i40e_flow_parse_fdir_filter(), i40e_flow_destroy() and
i40e_flow_add_del_fdir_filter().

Fixes: c3be43817cfb ("net/i40e: fix unexpected skip FDIR setup")
Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically")
Fixes: 4149825bbdb9 ("net/i40e: finish integration FDIR with generic flow API")
Cc: stable@dpdk.org

Acked-by: Beilei Xing <beilei.xing@intel.com>
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 drivers/net/i40e/i40e_fdir.c |  4 ++--
 drivers/net/i40e/i40e_flow.c | 11 +----------
 2 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
index 35be846fbd..314cb2ae5e 100644
--- a/drivers/net/i40e/i40e_fdir.c
+++ b/drivers/net/i40e/i40e_fdir.c
@@ -1549,8 +1549,8 @@ i40e_flow_add_del_fdir_filter(struct rte_eth_dev *dev,
 	struct i40e_fdir_filter check_filter; /* Check if the filter exists */
 	int ret = 0;
 
-	if (dev->data->dev_conf.fdir_conf.mode != RTE_FDIR_MODE_PERFECT) {
-		PMD_DRV_LOG(ERR, "FDIR is not enabled, please check the mode in fdir_conf.");
+	if (pf->fdir.fdir_vsi == NULL) {
+		PMD_DRV_LOG(ERR, "FDIR is not enabled");
 		return -ENOTSUP;
 	}
 
diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index 2198473411..c04dfe79fc 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -3191,8 +3191,7 @@ i40e_flow_parse_fdir_filter(struct rte_eth_dev *dev,
 
 	cons_filter_type = RTE_ETH_FILTER_FDIR;
 
-	if (dev->data->dev_conf.fdir_conf.mode != RTE_FDIR_MODE_PERFECT ||
-		pf->fdir.fdir_vsi == NULL) {
+	if (pf->fdir.fdir_vsi == NULL) {
 		/* Enable fdir when fdir flow is added at first time. */
 		ret = i40e_fdir_setup(pf);
 		if (ret != I40E_SUCCESS) {
@@ -3208,8 +3207,6 @@ i40e_flow_parse_fdir_filter(struct rte_eth_dev *dev,
 					   NULL, "Failed to configure fdir.");
 			goto err;
 		}
-
-		dev->data->dev_conf.fdir_conf.mode = RTE_FDIR_MODE_PERFECT;
 	}
 
 	return 0;
@@ -4771,12 +4768,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev,
 	case RTE_ETH_FILTER_FDIR:
 		ret = i40e_flow_add_del_fdir_filter(dev,
 		       &((struct i40e_fdir_filter *)flow->rule)->fdir, 0);
-
-		/* If the last flow is destroyed, disable fdir. */
-		if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) {
-			dev->data->dev_conf.fdir_conf.mode =
-				   RTE_FDIR_MODE_NONE;
-		}
 		break;
 	case RTE_ETH_FILTER_HASH:
 		ret = i40e_config_rss_filter_del(dev,
-- 
2.17.1


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

* [dpdk-stable] [DPDK 18.11] net/i40e: fix link status
  2020-12-11  9:01 [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype Steve Yang
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix flow director initialisation Steve Yang
@ 2020-12-11  9:01 ` Steve Yang
  2020-12-11  9:46   ` Kevin Traynor
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix queue region in RSS flow Steve Yang
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Steve Yang @ 2020-12-11  9:01 UTC (permalink / raw)
  To: stable; +Cc: beilei.xing, jia.guo, Guinan Sun

From: Guinan Sun <guinanx.sun@intel.com>

[ upstream commit 3db12449e119587648adf0b189c0e45502b71285 ]

If the PF driver supports the new speed reporting capabilities
then use link_event_adv instead of link_event to get the speed.

Fixes: 2a73125b7041 ("i40evf: fix link info update")
Cc: stable@dpdk.org

Acked-by: Jeff Guo <jia.guo@intel.com>
Tested-by: Jiaqi Min <jiaqix.min@intel.com>

Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/virtchnl.h  | 16 ++++++++++++-
 drivers/net/i40e/i40e_ethdev_vf.c | 38 ++++++++++++++++++++++++++++---
 2 files changed, 50 insertions(+), 4 deletions(-)

diff --git a/drivers/net/i40e/base/virtchnl.h b/drivers/net/i40e/base/virtchnl.h
index 483020d4e5..09efd878a2 100644
--- a/drivers/net/i40e/base/virtchnl.h
+++ b/drivers/net/i40e/base/virtchnl.h
@@ -229,7 +229,8 @@ VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_vsi_resource);
 #define VIRTCHNL_VF_OFFLOAD_ENCAP		0X00100000
 #define VIRTCHNL_VF_OFFLOAD_ENCAP_CSUM		0X00200000
 #define VIRTCHNL_VF_OFFLOAD_RX_ENCAP_CSUM	0X00400000
-
+/* Define below the capability flags that are not offloads */
+#define VIRTCHNL_VF_CAP_ADV_LINK_SPEED		0x00000080
 #define VF_BASE_MODE_OFFLOADS (VIRTCHNL_VF_OFFLOAD_L2 | \
 			       VIRTCHNL_VF_OFFLOAD_VLAN | \
 			       VIRTCHNL_VF_OFFLOAD_RSS_PF)
@@ -518,10 +519,23 @@ enum virtchnl_event_codes {
 struct virtchnl_pf_event {
 	enum virtchnl_event_codes event;
 	union {
+		/* If the PF driver does not support the new speed reporting
+		 * capabilities then use link_event else use link_event_adv to
+		 * get the speed and link information. The ability to understand
+		 * new speeds is indicated by setting the capability flag
+		 * VIRTCHNL_VF_CAP_ADV_LINK_SPEED in vf_cap_flags parameter
+		 * in virtchnl_vf_resource struct and can be used to determine
+		 * which link event struct to use below.
+		 */
 		struct {
 			enum virtchnl_link_speed link_speed;
 			bool link_status;
 		} link_event;
+		struct {
+			/* link_speed provided in Mbps */
+			u32 link_speed;
+			u8 link_status;
+		} link_event_adv;
 	} event_data;
 
 	int severity;
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 51d5830cfa..c12780727c 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -455,7 +455,8 @@ i40evf_get_vf_resource(struct rte_eth_dev *dev)
 		       VIRTCHNL_VF_OFFLOAD_RSS_AQ |
 		       VIRTCHNL_VF_OFFLOAD_RSS_REG |
 		       VIRTCHNL_VF_OFFLOAD_VLAN |
-		       VIRTCHNL_VF_OFFLOAD_RX_POLLING;
+		       VIRTCHNL_VF_OFFLOAD_RX_POLLING |
+		       VIRTCHNL_VF_CAP_ADV_LINK_SPEED;
 		args.in_args = (uint8_t *)&caps;
 		args.in_args_size = sizeof(caps);
 	} else {
@@ -1301,8 +1302,39 @@ i40evf_handle_pf_event(struct rte_eth_dev *dev, uint8_t *msg,
 		break;
 	case VIRTCHNL_EVENT_LINK_CHANGE:
 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_LINK_CHANGE event");
-		vf->link_up = pf_msg->event_data.link_event.link_status;
-		vf->link_speed = pf_msg->event_data.link_event.link_speed;
+		if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_CAP_ADV_LINK_SPEED) {
+			vf->link_up =
+			    pf_msg->event_data.link_event_adv.link_status;
+
+			switch (pf_msg->event_data.link_event_adv.link_speed) {
+			case ETH_SPEED_NUM_100M:
+				vf->link_speed = VIRTCHNL_LINK_SPEED_100MB;
+				break;
+			case ETH_SPEED_NUM_1G:
+				vf->link_speed = VIRTCHNL_LINK_SPEED_1GB;
+				break;
+			case ETH_SPEED_NUM_10G:
+				vf->link_speed = VIRTCHNL_LINK_SPEED_10GB;
+				break;
+			case ETH_SPEED_NUM_20G:
+				vf->link_speed = VIRTCHNL_LINK_SPEED_20GB;
+				break;
+			case ETH_SPEED_NUM_25G:
+				vf->link_speed = VIRTCHNL_LINK_SPEED_25GB;
+				break;
+			case ETH_SPEED_NUM_40G:
+				vf->link_speed = VIRTCHNL_LINK_SPEED_40GB;
+				break;
+			default:
+				vf->link_speed = VIRTCHNL_LINK_SPEED_UNKNOWN;
+				break;
+			}
+		} else {
+			vf->link_up =
+			    pf_msg->event_data.link_event.link_status;
+			vf->link_speed =
+			    pf_msg->event_data.link_event.link_speed;
+		}
 		break;
 	case VIRTCHNL_EVENT_PF_DRIVER_CLOSE:
 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_PF_DRIVER_CLOSE event");
-- 
2.17.1


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

* [dpdk-stable] [DPDK 18.11] net/i40e: fix queue region in RSS flow
  2020-12-11  9:01 [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype Steve Yang
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix flow director initialisation Steve Yang
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix link status Steve Yang
@ 2020-12-11  9:01 ` Steve Yang
  2020-12-11  9:44   ` Kevin Traynor
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix recreating flexible flow director rule Steve Yang
  2020-12-11  9:46 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype Kevin Traynor
  4 siblings, 1 reply; 10+ messages in thread
From: Steve Yang @ 2020-12-11  9:01 UTC (permalink / raw)
  To: stable; +Cc: beilei.xing, jia.guo, Shougang Wang

From: Shougang Wang <shougangx.wang@intel.com>

[ upstream commit da7018ec29d405e9b36b6997eedb728c04bb0fe8 ]

This patch fixes the issue that the queue region does not
take effect due to incorrectly setting the flow type.

Fixes: ecad87d22383 ("net/i40e: move RSS to flow API")
Cc: stable@dpdk.org

Reviewed-by: Jeff Guo <jia.guo@intel.com>
Tested-by: Hailin Xu <hailinx.xu@intel.com>
Tested-by: Lunyuan Cui <lunyuanx.cui@intel.com>

Signed-off-by: Shougang Wang <shougangx.wang@intel.com>
---
 drivers/net/i40e/i40e_flow.c | 35 ++++++++++++++++++++++++++++++++---
 1 file changed, 32 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index 2198473411..236ad3d9fd 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -4312,6 +4312,34 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
 	uint32_t index = 0;
 	uint64_t hf_bit = 1;
 
+	static const struct {
+		uint64_t rss_type;
+		enum i40e_filter_pctype pctype;
+	} pctype_match_table[] = {
+		{ETH_RSS_FRAG_IPV4,
+			I40E_FILTER_PCTYPE_FRAG_IPV4},
+		{ETH_RSS_NONFRAG_IPV4_TCP,
+			I40E_FILTER_PCTYPE_NONF_IPV4_TCP},
+		{ETH_RSS_NONFRAG_IPV4_UDP,
+			I40E_FILTER_PCTYPE_NONF_IPV4_UDP},
+		{ETH_RSS_NONFRAG_IPV4_SCTP,
+			I40E_FILTER_PCTYPE_NONF_IPV4_SCTP},
+		{ETH_RSS_NONFRAG_IPV4_OTHER,
+			I40E_FILTER_PCTYPE_NONF_IPV4_OTHER},
+		{ETH_RSS_FRAG_IPV6,
+			I40E_FILTER_PCTYPE_FRAG_IPV6},
+		{ETH_RSS_NONFRAG_IPV6_TCP,
+			I40E_FILTER_PCTYPE_NONF_IPV6_TCP},
+		{ETH_RSS_NONFRAG_IPV6_UDP,
+			I40E_FILTER_PCTYPE_NONF_IPV6_UDP},
+		{ETH_RSS_NONFRAG_IPV6_SCTP,
+			I40E_FILTER_PCTYPE_NONF_IPV6_SCTP},
+		{ETH_RSS_NONFRAG_IPV6_OTHER,
+			I40E_FILTER_PCTYPE_NONF_IPV6_OTHER},
+		{ETH_RSS_L2_PAYLOAD,
+			I40E_FILTER_PCTYPE_L2_PAYLOAD},
+	};
+
 	NEXT_ITEM_OF_ACTION(act, actions, index);
 	rss = act->conf;
 
@@ -4328,9 +4356,10 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
 	}
 
 	if (action_flag) {
-		for (n = 0; n < 64; n++) {
-			if (rss->types & (hf_bit << n)) {
-				conf_info->region[0].hw_flowtype[0] = n;
+		for (j = 0; j < RTE_DIM(pctype_match_table); j++) {
+			if (rss->types & pctype_match_table[j].rss_type) {
+				conf_info->region[0].hw_flowtype[0] =
+					(uint8_t)pctype_match_table[j].pctype;
 				conf_info->region[0].flowtype_num = 1;
 				conf_info->queue_region_number = 1;
 				break;
-- 
2.17.1


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

* [dpdk-stable] [DPDK 18.11] net/i40e: fix recreating flexible flow director rule
  2020-12-11  9:01 [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype Steve Yang
                   ` (2 preceding siblings ...)
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix queue region in RSS flow Steve Yang
@ 2020-12-11  9:01 ` Steve Yang
  2020-12-11  9:47   ` Kevin Traynor
  2020-12-11  9:46 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype Kevin Traynor
  4 siblings, 1 reply; 10+ messages in thread
From: Steve Yang @ 2020-12-11  9:01 UTC (permalink / raw)
  To: stable; +Cc: beilei.xing, jia.guo, Guinan Sun

From: Guinan Sun <guinanx.sun@intel.com>

[ upstream commit 0acf70d473072fd77b667a0419f8b9ab70b35b39 ]

This patch fixes the failure of recreate flexible fdir rule.
The root cause is that the flex_mask_flag is not reset during
flow destroy and flow flush.

Fixes: 6ced3dd72f5f ("net/i40e: support flexible payload parsing for FDIR")
Cc: stable@dpdk.org

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

Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/i40e_fdir.c | 6 ++++++
 drivers/net/i40e/i40e_flow.c | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
index 35be846fbd..fc58647998 100644
--- a/drivers/net/i40e/i40e_fdir.c
+++ b/drivers/net/i40e/i40e_fdir.c
@@ -1626,6 +1626,12 @@ i40e_flow_add_del_fdir_filter(struct rte_eth_dev *dev,
 			rte_free(fdir_filter);
 	} else {
 		ret = i40e_sw_fdir_filter_del(pf, &node->fdir.input);
+		if (ret < 0) {
+			PMD_DRV_LOG(ERR,
+				"Error deleting fdir rule from hash table!");
+			return -EINVAL;
+		}
+		pf->fdir.flex_mask_flag[pctype] = 0;
 	}
 
 	return ret;
diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index 2198473411..6e3e6b8447 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -4965,8 +4965,10 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf)
 		}
 
 		for (pctype = I40E_FILTER_PCTYPE_NONF_IPV4_UDP;
-		     pctype <= I40E_FILTER_PCTYPE_L2_PAYLOAD; pctype++)
+		     pctype <= I40E_FILTER_PCTYPE_L2_PAYLOAD; pctype++) {
 			pf->fdir.inset_flag[pctype] = 0;
+			pf->fdir.flex_mask_flag[pctype] = 0;
+		}
 	}
 
 	return ret;
-- 
2.17.1


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

* Re: [dpdk-stable] [DPDK 18.11] net/i40e: fix queue region in RSS flow
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix queue region in RSS flow Steve Yang
@ 2020-12-11  9:44   ` Kevin Traynor
  0 siblings, 0 replies; 10+ messages in thread
From: Kevin Traynor @ 2020-12-11  9:44 UTC (permalink / raw)
  To: Steve Yang, stable; +Cc: beilei.xing, jia.guo, Shougang Wang

On 11/12/2020 09:01, Steve Yang wrote:
> From: Shougang Wang <shougangx.wang@intel.com>
> 
> [ upstream commit da7018ec29d405e9b36b6997eedb728c04bb0fe8 ]
> 
> This patch fixes the issue that the queue region does not
> take effect due to incorrectly setting the flow type.
> 
> Fixes: ecad87d22383 ("net/i40e: move RSS to flow API")
> Cc: stable@dpdk.org
> 
> Reviewed-by: Jeff Guo <jia.guo@intel.com>
> Tested-by: Hailin Xu <hailinx.xu@intel.com>
> Tested-by: Lunyuan Cui <lunyuanx.cui@intel.com>
> 
> Signed-off-by: Shougang Wang <shougangx.wang@intel.com>
> ---
>  drivers/net/i40e/i40e_flow.c | 35 ++++++++++++++++++++++++++++++++---
>  1 file changed, 32 insertions(+), 3 deletions(-)
> 

Does not apply, please rebase.


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

* Re: [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype
  2020-12-11  9:01 [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype Steve Yang
                   ` (3 preceding siblings ...)
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix recreating flexible flow director rule Steve Yang
@ 2020-12-11  9:46 ` Kevin Traynor
  4 siblings, 0 replies; 10+ messages in thread
From: Kevin Traynor @ 2020-12-11  9:46 UTC (permalink / raw)
  To: Steve Yang, stable; +Cc: beilei.xing, jia.guo, Shougang Wang

On 11/12/2020 09:01, Steve Yang wrote:
> From: Shougang Wang <shougangx.wang@intel.com>
> 
> [ upstream commit 11b58ac709690cb4086a0a01f979b3d3f8ea7d21 ]
> 
> The i40e_filter_pctype TCP_SYN_NO_ACK, UNICAST_IPV4_UDP and
> MULTICAST_IPV4_UDP for x722 were missing when translating RSS type to
> i40e_filter_pctype. This patch fixes it.
> 
> Fixes: da7018ec29d4 ("net/i40e: fix queue region in RSS flow")
> Cc: stable@dpdk.org
> 
> Reviewed-by: Wei Zhao <wei.zhao1@intel.com>
> 
> Signed-off-by: Shougang Wang <shougangx.wang@intel.com>
> ---
>  drivers/net/i40e/i40e_flow.c | 51 +++++++++++++++++++++++++++++++-----
>  1 file changed, 44 insertions(+), 7 deletions(-)

applied, thanks.


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

* Re: [dpdk-stable] [DPDK 18.11] net/i40e: fix flow director initialisation
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix flow director initialisation Steve Yang
@ 2020-12-11  9:46   ` Kevin Traynor
  0 siblings, 0 replies; 10+ messages in thread
From: Kevin Traynor @ 2020-12-11  9:46 UTC (permalink / raw)
  To: Steve Yang, stable; +Cc: beilei.xing, jia.guo, Bernard Iremonger

On 11/12/2020 09:01, Steve Yang wrote:
> From: Bernard Iremonger <bernard.iremonger@intel.com>
> 
> [ upstream commit ae08c73e6f55e62e402fcdbfa6e8e967bf4bc5cc ]
> 
> Remove references to struct rte_fdir_conf which is deprecated,
> in i40e_flow_parse_fdir_filter(), i40e_flow_destroy() and
> i40e_flow_add_del_fdir_filter().
> 
> Fixes: c3be43817cfb ("net/i40e: fix unexpected skip FDIR setup")
> Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically")
> Fixes: 4149825bbdb9 ("net/i40e: finish integration FDIR with generic flow API")
> Cc: stable@dpdk.org
> 
> Acked-by: Beilei Xing <beilei.xing@intel.com>
> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
> ---
>  drivers/net/i40e/i40e_fdir.c |  4 ++--
>  drivers/net/i40e/i40e_flow.c | 11 +----------
>  2 files changed, 3 insertions(+), 12 deletions(-)

Applied, thanks


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

* Re: [dpdk-stable] [DPDK 18.11] net/i40e: fix link status
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix link status Steve Yang
@ 2020-12-11  9:46   ` Kevin Traynor
  0 siblings, 0 replies; 10+ messages in thread
From: Kevin Traynor @ 2020-12-11  9:46 UTC (permalink / raw)
  To: Steve Yang, stable; +Cc: beilei.xing, jia.guo, Guinan Sun

On 11/12/2020 09:01, Steve Yang wrote:
> From: Guinan Sun <guinanx.sun@intel.com>
> 
> [ upstream commit 3db12449e119587648adf0b189c0e45502b71285 ]
> 
> If the PF driver supports the new speed reporting capabilities
> then use link_event_adv instead of link_event to get the speed.
> 
> Fixes: 2a73125b7041 ("i40evf: fix link info update")
> Cc: stable@dpdk.org
> 
> Acked-by: Jeff Guo <jia.guo@intel.com>
> Tested-by: Jiaqi Min <jiaqix.min@intel.com>
> 
> Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
> ---
>  drivers/net/i40e/base/virtchnl.h  | 16 ++++++++++++-
>  drivers/net/i40e/i40e_ethdev_vf.c | 38 ++++++++++++++++++++++++++++---
>  2 files changed, 50 insertions(+), 4 deletions(-)

Applied, thanks.


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

* Re: [dpdk-stable] [DPDK 18.11] net/i40e: fix recreating flexible flow director rule
  2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix recreating flexible flow director rule Steve Yang
@ 2020-12-11  9:47   ` Kevin Traynor
  0 siblings, 0 replies; 10+ messages in thread
From: Kevin Traynor @ 2020-12-11  9:47 UTC (permalink / raw)
  To: Steve Yang, stable; +Cc: beilei.xing, jia.guo, Guinan Sun

On 11/12/2020 09:01, Steve Yang wrote:
> From: Guinan Sun <guinanx.sun@intel.com>
> 
> [ upstream commit 0acf70d473072fd77b667a0419f8b9ab70b35b39 ]
> 
> This patch fixes the failure of recreate flexible fdir rule.
> The root cause is that the flex_mask_flag is not reset during
> flow destroy and flow flush.
> 
> Fixes: 6ced3dd72f5f ("net/i40e: support flexible payload parsing for FDIR")
> Cc: stable@dpdk.org
> 
> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
> 
> Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
> ---
>  drivers/net/i40e/i40e_fdir.c | 6 ++++++
>  drivers/net/i40e/i40e_flow.c | 4 +++-
>  2 files changed, 9 insertions(+), 1 deletion(-)

Applied, thanks.


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

end of thread, other threads:[~2020-12-11  9:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-11  9:01 [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype Steve Yang
2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix flow director initialisation Steve Yang
2020-12-11  9:46   ` Kevin Traynor
2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix link status Steve Yang
2020-12-11  9:46   ` Kevin Traynor
2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix queue region in RSS flow Steve Yang
2020-12-11  9:44   ` Kevin Traynor
2020-12-11  9:01 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix recreating flexible flow director rule Steve Yang
2020-12-11  9:47   ` Kevin Traynor
2020-12-11  9:46 ` [dpdk-stable] [DPDK 18.11] net/i40e: fix filter pctype Kevin Traynor

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/stable/0 stable/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 stable stable/ https://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

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


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