Some of the requested offloads are not supported by all devices. This patch fixes this issue by setting only the supported offloads.
Fixes: feca6c428a5e ("examples/flow_filtering: add Tx queues setup process") Cc: wei.zh...@intel.com Signed-off-by: Ori Kam <or...@mellanox.com> --- examples/flow_filtering/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c index a73d120..27e287a 100644 --- a/examples/flow_filtering/main.c +++ b/examples/flow_filtering/main.c @@ -136,6 +136,8 @@ struct rte_eth_rxconf rxq_conf; struct rte_eth_dev_info dev_info; + rte_eth_dev_info_get(port_id, &dev_info); + port_conf.txmode.offloads &= dev_info.rx_offload_capa; printf(":: initializing port: %d\n", port_id); ret = rte_eth_dev_configure(port_id, nr_queues, nr_queues, &port_conf); @@ -145,7 +147,6 @@ ret, port_id); } - rte_eth_dev_info_get(port_id, &dev_info); rxq_conf = dev_info.default_rxconf; rxq_conf.offloads = port_conf.rxmode.offloads; /* only set Rx queues: something we care only so far */ -- 1.8.3.1