From 9a93446a0e8c7e95504ff0bfd26d139a8c1ef320 Mon Sep 17 00:00:00 2001 From: Rosen Xu Date: Tue, 31 Jul 2018 20:52:40 +0800 Subject: [PATCH] examples/flow_filtering: add flow director config for i40e 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 Acked-by: Ori Kam Reviewed-by: Ferruh Yigit --- 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 f595034394..ce91e8a6fc 100644 --- a/examples/flow_filtering/main.c +++ b/examples/flow_filtering/main.c @@ -132,6 +132,22 @@ init_port(void) 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; -- 2.20.1