mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-13 21:09:25 -04:00
d8693cac22c7fa7ef13c836327f1720d3fe414f6
When using IPsec crypto offload, the hardware decrypts the packet payload but preserves the ESP header. This prevents the standard RSS mechanism from accessing the inner L4 (TCP/UDP) headers. As a result, the RSS hash is calculated only on the outer L3 IP headers, causing all traffic for a given IPsec tunnel to be directed to a single queue, leading to poor traffic distribution. Newer firmware introduces the ability to match on l4_type_ext, which exposes the L4 protocol type following an ESP header. This allows the driver to create steering rules that can identify the inner protocols of decrypted packets. This commit leverages this new capability to improve traffic distribution. It adds two new flow groups to steer decrypted packets to dedicated TIRs that was configured to perform RSS on the inner L4 headers. These groups are inserted after the standard L4 group and before the group that handles undecrypted ESP packets added in this series. The first new group matches decrypted packets based on the outer IP version (or ethertype) and l4_type_ext. The second new group matches decrypted tunneled packets based on the inner IP version and l4_type_ext. Eight new traffic types are also defined to support this functionality. Signed-off-by: Jianbo Liu <jianbol@nvidia.com> Reviewed-by: Dragos Tatulea <dtatulea@nvidia.com> Signed-off-by: Tariq Toukan <tariqt@nvidia.com> Link: https://patch.msgid.link/1758179963-649455-4-git-send-email-tariqt@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Linux kernel
============
There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.
In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.
Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Description
Languages
C
97%
Assembly
1%
Shell
0.6%
Rust
0.5%
Python
0.4%
Other
0.3%