The --rss-udp option is documented as enabling IPv4/IPv6 + UDP RSS, but it
currently sets the RSS hash functions to RTE_ETH_RSS_UDP only.
On PMDs that translate this directly to L4 port extracts, this can build a
L4-only RSS key. Add RTE_ETH_RSS_IP when --rss-udp is selected so the
configured key matches the documented IPv4/IPv6 + UDP behavior.
Make --rss-ip additive as well, so combining --rss-ip and --rss-udp is
order-independent.
Fixes: 8a387fa85f02 ("ethdev: more RSS flags")
Cc: [email protected]
Signed-off-by: Maxime Leroy <[email protected]>
---
app/test-pmd/parameters.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
index 337d8fc8ac..0032ea4e25 100644
--- a/app/test-pmd/parameters.c
+++ b/app/test-pmd/parameters.c
@@ -1286,10 +1286,10 @@ launch_args_parse(int argc, char** argv)
set_pkt_forwarding_mode(optarg);
break;
case TESTPMD_OPT_RSS_IP_NUM:
- rss_hf = RTE_ETH_RSS_IP;
+ rss_hf |= RTE_ETH_RSS_IP;
break;
case TESTPMD_OPT_RSS_UDP_NUM:
- rss_hf = RTE_ETH_RSS_UDP;
+ rss_hf |= RTE_ETH_RSS_IP | RTE_ETH_RSS_UDP;
break;
case TESTPMD_OPT_RSS_LEVEL_INNER_NUM:
rss_hf |= RTE_ETH_RSS_LEVEL_INNERMOST;
--
2.43.0