rte_pmd_mlx5_geneve_tlv(3)
π rte_pmd_mlx5_geneve_tlv π
okay bestie, so this is a page from the Library Functions Manual, and it's literally all about rte_pmd_mlx5_geneve_tlv π¦ β a struct that lives in DPDK land and helps you build a parser for a single GENEVE TLV option. no cap, one option per struct, that's the whole vibe.
β¨ NAME β¨
rte_pmd_mlx5_geneve_tlv β the user config struct you fill out to make a parser for one single GENEVE TLV option π
πΈ SYNOPSIS πΈ
#include <rte_pmd_mlx5.h>
π Data Fields
rte_be16_t option_classuint8_t option_typeuint8_t option_lenuint8_t match_on_class_modeuint8_t offsetuint8_t sample_lenrte_be32_t * match_data_mask
π«Ά Detailed Description π«Ά
It's a user configuration structure used to create a parser for a single GENEVE TLV option. that's it, that's the job. you fill it in, it tells the parser what to look at π
fr fr, it's defined at line 288 of the file rte_pmd_mlx5.h β go look if you don't believe me π
π Field Documentation π
π rte_be16_t option_class
The class of the GENEVE TLV option. pls note it's relevant only when 'match_on_class_mode' is 1 π like it's literally just sitting there being ignored otherwise.
Defined at line 293 of rte_pmd_mlx5.h β¨
π uint8_t option_type
The type of the GENEVE TLV option. this field is the identifier of the option β the little name tag it wears at the function π·οΈ
Defined at line 298 of rte_pmd_mlx5.h β¨
π¦ uint8_t option_len
The length of the GENEVE TLV option data, excluding the option header, measured in DW granularity. header doesn't count, bestie, we're only measuring the data π
Defined at line 303 of rte_pmd_mlx5.h β¨
π uint8_t match_on_class_mode
The indicator of what role the class field plays in this option, and it's a whole little menu:
0β class is ignored, we don't know her π1β class is fixed, so the class defines the option along with the type (it's a package deal π)2β class matching per flow π
Defined at line 310 of rte_pmd_mlx5.h β¨
πΈ uint8_t offset
The offset of the first sample, in DW granularity. this offset is relative to the first of the option data π. and the 'match_data_mask' corresponds to option data since this offset β so yes, it all shifts together, they're a matched set π«Ά
Defined at line 316 of rte_pmd_mlx5.h β¨
β uint8_t sample_len
The number of DW to sample π―. this field describes the length of 'match_data_mask', in DW granularity.
Defined at line 322 of rte_pmd_mlx5.h β¨
π₯ rte_be32_t* match_data_mask
An array of DWs where each bit marks if this bit should be sampled. and here's the tea: each nonzero DW consumes one DW from a maximum of 7 DW in total π so budget accordingly, you only get 7.
Defined at line 327 of rte_pmd_mlx5.h β¨
π Author π
Generated automatically by Doxygen for DPDK from the source code. not a human, just Doxygen doing its lil thing π€β¨
okay that's the whole page, you ate it, go build your GENEVE TLV parser π π this was DPDK Version 25.11.3 β slay, bye bestie π«Άπ
π¦ 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