rte_flow_field_data(3)
π rte_flow_field_data β the manual page, but make it make sense
okay bestie, sit down, grab a boba π§, because we're reading rte_flow_field_data(3) from the Library Functions Manual and honestly? it's giving "small struct, big responsibilities."
β¨ NAME β¨
rte_flow_field_data β literally the struct that describes packet header fields, no cap.
πΈ SYNOPSIS πΈ
#include <rte_flow.h>
π Data Fields
enum rte_flow_field_id field
π¦ DETAILED DESCRIPTION π¦
β οΈ Warning β EXPERIMENTAL: this structure may change without prior notice. so likeβ¦ don't get too attached, okay? π
These are the packet header field descriptions, and they get used by RTE_FLOW_ACTION_TYPE_MODIFY_FIELD and RTE_FLOW_ITEM_TYPE_COMPARE. That's the whole point of them. cute, functional, iconic. π
Definition at line 2449 of file rte_flow.h.
π₯ FIELD DOCUMENTATION π₯
β enum rte_flow_field_id field
The field or memory type ID. basically the "which thing are we talking about" tag. π·οΈ
Definition at line 2450 of file rte_flow.h.
β uint8_t level
The packet encapsulation level that contains the field you wanna modify. let's break it down, bestie:
0requests the default behavior. Depending on the packet type, it can mean outermost, innermost or anything in between. it's flexible like that π
It basically stands for the innermost encapsulation level. Modification can be performed according to PMD and device capabilities.
1requests modification to be performed on the outermost packet encapsulation level.2and subsequent values request modification to be performed on the specified inner packet encapsulation level, from outermost to innermost (lower to higher values). so bigger number = deeper in, iykyk π«Ά
Values other than 0 are not necessarily supported. so don't come crying if your device says no π
π Note β that for MPLS field, encapsulation level also include tunnel since MPLS may appear in outer, inner or tunnel. MPLS really said "I contain multitudes" π
Definition at line 2490 of file rte_flow.h.
β uint8_t tag_index
The tag index array inside encapsulation level. Used for VLAN, MPLS or TAG types. so if you're doing VLAN/MPLS/TAG stuff, this lil guy is your bestie π
Definition at line 2497 of file rte_flow.h.
β uint8_t type
Geneve option type. short, sweet, Geneve-specific. β¨
Definition at line 2508 of file rte_flow.h.
β rte_be16_t class_id
Geneve option class. the other half of the Geneve duo, slay π
Definition at line 2512 of file rte_flow.h.
β uint32_t offset
Number of bits to skip from a field. like scrolling past someone's story, but for bits π
Definition at line 2519 of file rte_flow.h.
β uint8_t value[16]
Immediate value for RTE_FLOW_FIELD_VALUE, presented in the same byte order and length as in relevant rte_flow_item_xxx. The immediate source bitfield offset is inherited from the destination's one. yes, they share the offset, it's a whole commitment situation π«Ά
Definition at line 2527 of file rte_flow.h.
β void* pvalue
Memory address for RTE_FLOW_FIELD_POINTER, memory layout should be the same as for relevant field in the rte_flow_item_xxx structure. match the layout or else π
Definition at line 2533 of file rte_flow.h.
π AUTHOR π
Generated automatically by Doxygen for DPDK from the source code. so basically the DPDK docs machinery wrote this, not a human, and honestly? it ate. π€β¨
aaaand that's the whole page bestie, you understood it, periodt. π
this was DPDK, Version 25.11.3, and the page is rte_flow_field_data(3). go forth and modify some fields, queen π§ββοΈπ
π¦ 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