[dpdk-dev] [PATCH v4] examples/flow_filtering: add rte_fdir_conf initialization

Rosen Xu rosen.xu at intel.com
Tue Jul 31 14:52:40 CEST 2018


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 at dpdk.org

Signed-off-by: Rosen Xu <rosen.xu at intel.com>
Acked-by: Ori Kam <orika at mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>

v4 updates:
===========
 - 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;
-- 
1.8.3.1



More information about the dev mailing list