diff mbox series

net/i40e: fix flow director initialisation

Message ID 1586273201-21961-1-git-send-email-bernard.iremonger@intel.com (mailing list archive)
State Accepted, archived
Delegated to: xiaolong ye
Headers show
Series net/i40e: fix flow director initialisation | expand

Checks

Context Check Description
ci/travis-robot success Travis build: passed
ci/Intel-compilation success Compilation OK
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/checkpatch warning coding style issues

Commit Message

Iremonger, Bernard April 7, 2020, 3:26 p.m. UTC
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

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 drivers/net/i40e/i40e_fdir.c | 4 ++--
 drivers/net/i40e/i40e_flow.c | 7 +------
 2 files changed, 3 insertions(+), 8 deletions(-)

Comments

Xing, Beilei April 13, 2020, 3:03 a.m. UTC | #1
> -----Original Message-----
> From: Iremonger, Bernard <bernard.iremonger@intel.com>
> Sent: Tuesday, April 7, 2020 11:27 PM
> To: dev@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Cc: Doherty, Declan <declan.doherty@intel.com>; Ananyev, Konstantin
> <konstantin.ananyev@intel.com>; Shetty, Praveen
> <praveen.shetty@intel.com>; Iremonger, Bernard
> <bernard.iremonger@intel.com>; stable@dpdk.org
> Subject: [PATCH] net/i40e: fix flow director initialisation
> 
> 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
> 
> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
> ---
>  drivers/net/i40e/i40e_fdir.c | 4 ++--
>  drivers/net/i40e/i40e_flow.c | 7 +------
>  2 files changed, 3 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c index
> 931f259..b603b33 100644
> --- a/drivers/net/i40e/i40e_fdir.c
> +++ b/drivers/net/i40e/i40e_fdir.c
> @@ -1689,8 +1689,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
> d877ac2..8b6e1e4 100644
> --- a/drivers/net/i40e/i40e_flow.c
> +++ b/drivers/net/i40e/i40e_flow.c
> @@ -3394,8 +3394,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) {
> @@ -3411,8 +3410,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;
> @@ -4983,8 +4980,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev,
>  		/* If the last flow is destroyed, disable fdir. */
>  		if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) {
>  			i40e_fdir_teardown(pf);
> -			dev->data->dev_conf.fdir_conf.mode =
> -				   RTE_FDIR_MODE_NONE;
>  			i40e_fdir_rx_proc_enable(dev, 0);
>  		}
>  		break;
> --
> 2.7.4

Acked-by: Beilei Xing <beilei.xing@intel.com>
Xiaolong Ye April 21, 2020, 6:46 a.m. UTC | #2
On 04/07, Bernard Iremonger wrote:
>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
>
>Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
>---
> drivers/net/i40e/i40e_fdir.c | 4 ++--
> drivers/net/i40e/i40e_flow.c | 7 +------
> 2 files changed, 3 insertions(+), 8 deletions(-)
>
>diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
>index 931f259..b603b33 100644
>--- a/drivers/net/i40e/i40e_fdir.c
>+++ b/drivers/net/i40e/i40e_fdir.c
>@@ -1689,8 +1689,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 d877ac2..8b6e1e4 100644
>--- a/drivers/net/i40e/i40e_flow.c
>+++ b/drivers/net/i40e/i40e_flow.c
>@@ -3394,8 +3394,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) {
>@@ -3411,8 +3410,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;
>@@ -4983,8 +4980,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev,
> 		/* If the last flow is destroyed, disable fdir. */
> 		if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) {
> 			i40e_fdir_teardown(pf);
>-			dev->data->dev_conf.fdir_conf.mode =
>-				   RTE_FDIR_MODE_NONE;
> 			i40e_fdir_rx_proc_enable(dev, 0);
> 		}
> 		break;
>-- 
>2.7.4
>

Applied to dpdk-next-net-intel, Thanks.
diff mbox series

Patch

diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
index 931f259..b603b33 100644
--- a/drivers/net/i40e/i40e_fdir.c
+++ b/drivers/net/i40e/i40e_fdir.c
@@ -1689,8 +1689,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 d877ac2..8b6e1e4 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -3394,8 +3394,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) {
@@ -3411,8 +3410,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;
@@ -4983,8 +4980,6 @@  i40e_flow_destroy(struct rte_eth_dev *dev,
 		/* If the last flow is destroyed, disable fdir. */
 		if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) {
 			i40e_fdir_teardown(pf);
-			dev->data->dev_conf.fdir_conf.mode =
-				   RTE_FDIR_MODE_NONE;
 			i40e_fdir_rx_proc_enable(dev, 0);
 		}
 		break;