[v4] examples/flow_filtering: add rte_fdir_conf initialization

Message ID 1533041560-164321-1-git-send-email-rosen.xu@intel.com (mailing list archive)
State Accepted, archived
Headers
Series [v4] 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 31, 2018, 12:52 p.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>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

v4 updates:
  

Comments

Thomas Monjalon Aug. 5, 2018, 8:13 p.m. UTC | #1
31/07/2018 14:52, 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.
> 
> 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>
> 
> v4 updates:
> ===========
>  - Fix typo and lack of punctuation.
>  - Add why it is needed, and what are we waiting to remove the workaround.

Applied, thanks
  

Patch

===========
 - Fix typo and lack of punctuation.
 - Add why it is needed, and what are we waiting to remove the workaround.

v3 updates:
===========
 - Fix small comment of commit log and code comment

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

diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c
index f595034..ce91e8a 100644
--- a/examples/flow_filtering/main.c
+++ b/examples/flow_filtering/main.c
@@ -132,6 +132,22 @@ 
 				DEV_TX_OFFLOAD_SCTP_CKSUM  |
 				DEV_TX_OFFLOAD_TCP_TSO,
 		},
+		/*
+		 * Initialize fdir_conf of rte_eth_conf.
+		 * Fdir is used in flow filtering for I40e,
+		 * so rte_flow rules involve some fdir
+		 * configurations. In long term it's better
+		 * that drivers don't require any fdir
+		 * configuration for rte_flow, but we need to
+		 * get this workaround so that sample app can
+		 * run on I40e.
+		 */
+		.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;