From 9daf8fb6b36f6e23951d6fe479248c092617c402 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Thu, 16 Aug 2018 13:24:30 +0200 Subject: dpdk: fix rss hash function handling DPDK 18.08 verifies if all set bits are supported and fails if not.... Change-Id: Ia87242fcda11147dff3bebe2e2bef32f0a8891fb Signed-off-by: Damjan Marion --- src/plugins/dpdk/device/init.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/plugins/dpdk/device/init.c') diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index 5dd15ab3c98..9b14c1a9d4f 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -387,7 +387,17 @@ dpdk_lib_init (dpdk_main_t * dm) xd->port_conf.rx_adv_conf.rss_conf.rss_hf = ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP; else - xd->port_conf.rx_adv_conf.rss_conf.rss_hf = devconf->rss_fn; + { + u64 unsupported_bits; + xd->port_conf.rx_adv_conf.rss_conf.rss_hf = devconf->rss_fn; + unsupported_bits = xd->port_conf.rx_adv_conf.rss_conf.rss_hf; + unsupported_bits &= ~dev_info.flow_type_rss_offloads; + if (unsupported_bits) + dpdk_log_warn ("Unsupported RSS hash functions: %U", + format_dpdk_rss_hf_name, unsupported_bits); + } + xd->port_conf.rx_adv_conf.rss_conf.rss_hf &= + dev_info.flow_type_rss_offloads; } else xd->rx_q_used = 1; -- cgit 1.2.3-korg