rte_flow_action_rss(3)
π rte_flow_action_rss(3) π
okay bestie, welcome to the Library Functions Manual β yes we're reading a manpage for fun now, this is who we are, and honestly? it's giving iconic. sit down, grab a boba, and let's get into it π§β¨
β¨ NAME β¨
rte_flow_action_rss β the struct, the moment, the whole vibe π«Ά
π SYNOPSIS π
#include <rte_flow.h>
πΈ Data Fields πΈ
enum rte_eth_hash_function func
uint32_t level
uint64_t types
uint32_t key_len
uint32_t queue_num
const uint8_t * key
const uint16_t * queue
π¦ DESCRIPTION π¦
so this whole thing is about RTE_FLOW_ACTION_TYPE_RSS, no cap.
basically it's like QUEUE but extra β RSS also gets performed on your packets so they get spread across several queues, and it does that according to the parameters you feed it. spreading the packets, spreading the love π
here's the part where you need to actually pay attention, bestie: unlike the global RSS settings that other DPDK APIs use, if you unset the types field it does NOT disable RSS in a flow rule. not even a little. instead you're basically requesting safe, unspecified, "best-effort" settings from the underlying PMD β and depending on the flow rule, that could give you literally anything from an empty single-queue situation all the way up to all-inclusive RSS. chaotic? yes. intentional? also yes π
π Note: the RSS hash result lives in thehash.rssmbuf field, which overlapshash.fdir.lo. and since the MARK action only sets thehash.fdir.hifield, you can absolutely request both of them at the same time. no conflict, we love a compatible queen π
Definition at line 3484 of file rte_flow.h.
π FIELD DOCUMENTATION π
β enum rte_eth_hash_function func
the RSS hash function to apply. that's it, that's the job.
Definition at line 3485 of file rte_flow.h.
β uint32_t level
the packet encapsulation level that your RSS hash types apply to. let's break it down:
0requests the default behavior. and depending on the packet type, that could mean outermost, innermost, anything in between, or honestly? even no RSS at all. it's giving mystery box π
it basically stands for the innermost encapsulation level RSS can be performed on, according to what the PMD and the device are capable of.
1requests RSS to be performed on the outermost packet encapsulation level.2and subsequent values request RSS to be performed on the specified inner packet encapsulation level, going from outermost to innermost (so, lower to higher values).
β οΈ values other than 0 are not necessarily supported, bestie. don't come crying.
π and requesting a specific RSS level on unrecognized traffic results in undefined behavior. for predictable results it's recommended that you make the flow rule pattern match packet headers up to the requested encapsulation level, so that only matching traffic actually goes through. match the pattern, gatekeep the traffic, girlboss the results β¨
Definition at line 3511 of file rte_flow.h.
β uint64_t types
the specific RSS hash types (peep RTE_ETH_RSS_* π).
Definition at line 3512 of file rte_flow.h.
β uint32_t key_len
hash key length, in bytes π
Definition at line 3513 of file rte_flow.h.
β uint32_t queue_num
number of entries in queue. counting is caring π«Ά
Definition at line 3514 of file rte_flow.h.
β const uint8_t* key
the hash key π
Definition at line 3515 of file rte_flow.h.
β const uint16_t* queue
the queue indices to use. go forth and queue π
Definition at line 3516 of file rte_flow.h.
π AUTHOR π
generated automatically by Doxygen for DPDK from the source code. yes, a robot wrote it. and now a teenage girl rewrote it. the circle of life πβ¨
and that's the whole page babes!! this was rte_flow_action_rss(3) from DPDK, Version 25.11.3 β the DPDK source, version 25.11.3, dated like the legend it is. mwah, go slay your RSS config πππ
π¦ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 Β· BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms