]> git.droids-corp.org - dpdk.git/commit
net/sfc: rework flow action RSS support
authorIvan Malov <ivan.malov@oktetlabs.ru>
Tue, 1 Feb 2022 08:49:55 +0000 (11:49 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 2 Feb 2022 17:37:31 +0000 (18:37 +0100)
commit6da67e706dc9aa053bf1ed60eb97bcb8f2384d99
tree553b0060fda7f35c86d270ed92e81967a12596b6
parentc36ce7099c2187926cd62cff7ebd479823554929
net/sfc: rework flow action RSS support

Currently, the driver always allocates a dedicated NIC RSS context
for every separate flow rule with action RSS, which is not optimal.

First of all, multiple rules which have the same RSS specification
can share a context since filters in the hardware operate this way.

Secondly, entries in a context's indirection table are not precise
queue IDs but offsets with regard to the base queue ID of a filter.
This way, for example, queue arrays "0, 1, 2" and "3, 4, 5" in two
otherwise identical RSS specifications allow the driver to use the
same context since they both yield the same table of queue offsets.

Rework flow action RSS support in order to use these optimisations.

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
drivers/net/sfc/meson.build
drivers/net/sfc/sfc.c
drivers/net/sfc/sfc.h
drivers/net/sfc/sfc_ethdev.c
drivers/net/sfc/sfc_flow.c
drivers/net/sfc/sfc_flow.h
drivers/net/sfc/sfc_flow_rss.c [new file with mode: 0644]
drivers/net/sfc/sfc_flow_rss.h [new file with mode: 0644]