OSDN Git Service

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 62f0bf9..b7cce74 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;
 }