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_class
  • uint8_t option_type
  • uint8_t option_len
  • uint8_t match_on_class_mode
  • uint8_t offset
  • uint8_t sample_len
  • rte_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