examples/flow_filtering: add flow director config for i40e
authorRosen Xu <rosen.xu@intel.com>
Tue, 31 Jul 2018 12:52:40 +0000 (20:52 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Sun, 5 Aug 2018 20:16:45 +0000 (22:16 +0200)
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>
examples/flow_filtering/main.c

index f595034..ce91e8a 100644 (file)
@@ -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;