From: Cristian Dumitrescu Date: Mon, 6 Aug 2018 15:24:16 +0000 (+0100) Subject: examples/ip_pipeline: fix RSS X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=2e1141b6f16fbe41ed2da812e3a03810c5724ae7;p=dpdk.git examples/ip_pipeline: fix RSS After adding RSS hash offload checks, flags that are not supported by the current device result in RSS configuration failing as opposed to unsupported flags being silently discarded. This fix is making sure that only device supported flags are passed to RSS configuration. Fixes: aa1a6d87f15d ("ethdev: force RSS offload rules again") Signed-off-by: Cristian Dumitrescu Acked-by: Fan Zhang Acked-by: Konstantin Ananyev Tested-by: Yuan Peng --- diff --git a/examples/ip_pipeline/link.c b/examples/ip_pipeline/link.c index 2ccfea4fac..392a890fbe 100644 --- a/examples/ip_pipeline/link.c +++ b/examples/ip_pipeline/link.c @@ -158,12 +158,9 @@ link_create(const char *name, struct link_params *params) memcpy(&port_conf, &port_conf_default, sizeof(port_conf)); if (rss) { port_conf.rxmode.mq_mode = ETH_MQ_RX_RSS; - if (port_info.flow_type_rss_offloads & ETH_RSS_IPV4) - port_conf.rx_adv_conf.rss_conf.rss_hf |= - ETH_RSS_IPV4; - if (port_info.flow_type_rss_offloads & ETH_RSS_IPV6) - port_conf.rx_adv_conf.rss_conf.rss_hf |= - ETH_RSS_IPV6; + port_conf.rx_adv_conf.rss_conf.rss_hf = + (ETH_RSS_IP | ETH_RSS_TCP | ETH_RSS_UDP) & + port_info.flow_type_rss_offloads; } cpu_id = (uint32_t) rte_eth_dev_socket_id(port_id);