nfp: add L4 RSS hashing on UDP traffic
authorJaco Coetzee <jaco.coetzee@corigine.com>
Mon, 22 May 2023 14:13:35 +0000 (16:13 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 24 May 2023 03:36:43 +0000 (20:36 -0700)
Add layer 4 RSS hashing on UDP traffic to allow for the
utilization of multiple queues for multiple connections on
the same IP address.

Previously, since the introduction of the driver, RSS hashing
was only performed on the source and destination IP addresses
of UDP packets thereby limiting UDP traffic to a single queue
for multiple connections on the same IP address. The transport
layer is now included in RSS hashing for UDP traffic, which
was not previously the case. The reason behind the previous
limitation is unclear - either a historic limitation of the
NFP device, or an oversight.

Signed-off-by: Jaco Coetzee <jaco.coetzee@corigine.com>
Acked-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Louis Peens <louis.peens@corigine.com>
Link: https://lore.kernel.org/r/20230522141335.22536-1-louis.peens@corigine.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/netronome/nfp/nfp_net_common.c

index 62f0bf91d1e1e52d9686bc7f6fa5249fdefd86c5..b7cce746b5c0ad877d5bd7435a65d21c7e9aa61d 100644 (file)
@@ -2418,6 +2418,8 @@ static void nfp_net_rss_init(struct nfp_net *nn)
        /* Enable IPv4/IPv6 TCP by default */
        nn->rss_cfg = NFP_NET_CFG_RSS_IPV4_TCP |
                      NFP_NET_CFG_RSS_IPV6_TCP |
+                     NFP_NET_CFG_RSS_IPV4_UDP |
+                     NFP_NET_CFG_RSS_IPV6_UDP |
                      FIELD_PREP(NFP_NET_CFG_RSS_HFUNC, nn->rss_hfunc) |
                      NFP_NET_CFG_RSS_MASK;
 }