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: [email protected]
Signed-off-by: Ori Kam <[email protected]>
---
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