[v3] examples/flow_filtering: add rte_fdir_conf initialization

Message ID 1532255950-105866-1-git-send-email-rosen.xu@intel.com (mailing list archive)
State Changes Requested, archived
Delegated to: Thomas Monjalon
Headers
Series [v3] examples/flow_filtering: add rte_fdir_conf initialization |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Xu, Rosen July 22, 2018, 10:39 a.m. UTC
  Rte_fdir_conf of rte_eth_conf should be initialized before
port initialization. It is a workaround solution when working
with Intel I40e.

Fixes: 4a3ef59a10c8 ("examples/flow_filtering: add simple demo of flow API")
Cc: stable@dpdk.org

Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Ori Kam <orika@mellanox.com>

v3 updates:
  

Comments

Ferruh Yigit July 23, 2018, 8:32 p.m. UTC | #1
On 7/22/2018 11:39 AM, Rosen Xu wrote:
> Rte_fdir_conf of rte_eth_conf should be initialized before
> port initialization. It is a workaround solution when working
> with Intel I40e.
> 
> Fixes: 4a3ef59a10c8 ("examples/flow_filtering: add simple demo of flow API")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Rosen Xu <rosen.xu@intel.com>
> Acked-by: Ori Kam <orika@mellanox.com>

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
  
Thomas Monjalon July 26, 2018, 5:42 p.m. UTC | #2
22/07/2018 12:39, Rosen Xu:
> Rte_fdir_conf of rte_eth_conf should be initialized before
> port initialization. It is a workaround solution when working
> with Intel I40e.
[...]
> +		/*
> +		 * Initialize fdir_conf of ete_eth_conf

Typo and lack of punctuation.

> +		 * it is a workaround solution when working with Intel I40e
> +		 * and it is not the normal way

It is not said why it is needed,
and what are we waiting to remove the workaround.

> +		 */
> +		.fdir_conf = {
> +			.mode = RTE_FDIR_MODE_PERFECT,
> +			.pballoc = RTE_FDIR_PBALLOC_64K,
> +			.status = RTE_FDIR_REPORT_STATUS,
> +			.drop_queue = 127,
> +		},

Please work on a v4 with better explanations.
  
Xu, Rosen July 31, 2018, 12:55 p.m. UTC | #3
Hi Thomas,

This is my reply.

> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas@monjalon.net]
> Sent: Friday, July 27, 2018 1:42
> To: Xu, Rosen <rosen.xu@intel.com>
> Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>;
> orika@mellanox.com; Gilmore, Walter E <walter.e.gilmore@intel.com>;
> Zhang, Qi Z <qi.z.zhang@intel.com>; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3] examples/flow_filtering: add
> rte_fdir_conf initialization
> 
> 22/07/2018 12:39, Rosen Xu:
> > Rte_fdir_conf of rte_eth_conf should be initialized before port
> > initialization. It is a workaround solution when working with Intel
> > I40e.
> [...]
> > +		/*
> > +		 * Initialize fdir_conf of ete_eth_conf
> 
> Typo and lack of punctuation.

Fixed.

> > +		 * it is a workaround solution when working with Intel I40e
> > +		 * and it is not the normal way
> 
> It is not said why it is needed,
> and what are we waiting to remove the workaround.

Added.

> > +		 */
> > +		.fdir_conf = {
> > +			.mode = RTE_FDIR_MODE_PERFECT,
> > +			.pballoc = RTE_FDIR_PBALLOC_64K,
> > +			.status = RTE_FDIR_REPORT_STATUS,
> > +			.drop_queue = 127,
> > +		},
> 
> Please work on a v4 with better explanations.
>
  

Patch

===========
 - Fix small comment of commit log and code comment

v2 updates:
===========
 - Take more test on I40e
 - Add comments
---
 examples/flow_filtering/main.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c
index f595034..e3f99f5 100644
--- a/examples/flow_filtering/main.c
+++ b/examples/flow_filtering/main.c
@@ -132,6 +132,17 @@ 
 				DEV_TX_OFFLOAD_SCTP_CKSUM  |
 				DEV_TX_OFFLOAD_TCP_TSO,
 		},
+		/*
+		 * Initialize fdir_conf of ete_eth_conf
+		 * it is a workaround solution when working with Intel I40e
+		 * and it is not the normal way
+		 */
+		.fdir_conf = {
+			.mode = RTE_FDIR_MODE_PERFECT,
+			.pballoc = RTE_FDIR_PBALLOC_64K,
+			.status = RTE_FDIR_REPORT_STATUS,
+			.drop_queue = 127,
+		},
 	};
 	struct rte_eth_txconf txq_conf;
 	struct rte_eth_rxconf rxq_conf;