]> git.ipfire.org Git - thirdparty/suricata.git/commit
dpdk/rss: add rte_flow rss support for ice
authorAdam Kiripolsky <Adam.Kiripolsky@cesnet.cz>
Tue, 10 Dec 2024 15:27:23 +0000 (16:27 +0100)
committerVictor Julien <victor@inliniac.net>
Mon, 10 Feb 2025 19:01:35 +0000 (20:01 +0100)
commit97750bf5b51d41dc3914773651cb41bea64d54ad
tree74148a27fa17c4d6a3f6f72b4569c5ad29ae8531
parent2296b3ba76327d81da29abf6b33b554215a5b801
dpdk/rss: add rte_flow rss support for ice

ice driver requires 2 rte_flow rules for matching and
redistributing incoming traffic with RSS.

The rules set up by iceDeviceSetRSSFlowIPv4() and
iceDeviceSetRSSFlowIPv6() are different only in the pattern
("pattern eth / ipv4 / end" or "pattern eth / ipv6 / end"
in dpdk-testpmd syntax) and in the hash type (ipv4 src dst / ipv6 src
dst). ice will match all ipv4 or ipv6 traffic independently of
following l4 protocol. The rules can not have queues configured,
implicitly they will use all queues available.
The hash function is set to RTE_ETH_HASH_FUNCTION_TOEPLITZ.
The hash key can not be set.

The syntax in dpdk-testpmd for rule to match all ipv4 traffic
with attributes:
port index == 0
is as follows:
"flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4
end queues end func toeplitz / end"
(queues need to be set to NULL)

Ticket: 7337
src/source-dpdk.c
src/util-dpdk-ice.c
src/util-dpdk-ice.h