rte_gso_ctx(3)

✨ rte_gso_ctx ✨

okay bestie, welcome to the rte_gso_ctx page πŸ’– this one lives in section 3 of the manual (Library Functions Manual, for the record), and it's literally the whole mood board for GSO. get comfy 🫢


🌸 NAME 🌸

rte_gso_ctx β€” no cap, that's the name πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <rte_gso.h>

✨ Data Fields ✨

  • struct rte_mempool * direct_pool
  • struct rte_mempool * indirect_pool
  • uint64_t flag
  • uint32_t gso_types
  • uint16_t gso_size

πŸ’œ Detailed Description πŸ’œ

it's the GSO context structure, periodt. that's the whole vibe.

Defined at line 37 of file rte_gso.h.

πŸŽ€ Field Documentation πŸŽ€

🌈 struct rte_mempool* direct_pool

this is the MBUF pool you use to allocate direct buffers, and those are the ones storing packet headers for GSO segments. iconic header storage behavior πŸ’…

Defined at line 38 of file rte_gso.h.

🧚 struct rte_mempool* indirect_pool

and this one is the MBUF pool for allocating indirect buffers, which get used to locate packet payloads for GSO segments. lowkey the clever part: the indirect buffer doesn't contain any data, it just points to an offset within the packet to segment. it's giving "i know a guy" energy 🫢

Defined at line 42 of file rte_gso.h.

⭐ uint64_t flag

the flag that controls specific attributes of your output segments β€” like the type of IP ID generated (so, fixed or incremental). basically the little switch that decides how things get stamped ✨

Defined at line 48 of file rte_gso.h.

πŸ’– uint32_t gso_types

the bit mask of required GSO types. the GSO library uses the same macros as the ones describing device TX offloading capabilities (that's the RTE_ETH_TX_OFFLOAD_*_TSO crew) for gso_types. iykyk 🌸

for example, if applications want to segment TCP/IPv4 packets, set RTE_ETH_TX_OFFLOAD_TCP_TSO in gso_types. see? simple, slay ✨

Defined at line 52 of file rte_gso.h.

πŸ“ uint16_t gso_size

the maximum size of an output GSO segment β€” that means packet header and payload together, measured in bytes. and listen: it must exceed RTE_GSO_SEG_SIZE_MIN. not optional, not negotiable, bestie 😭

Defined at line 61 of file rte_gso.h.

πŸ‘‘ Author πŸ‘‘

generated automatically by Doxygen for DPDK from the source code. not me being autogenerated and still serving looks πŸ’…


aaaaand that's the whole page, babe πŸ¦‹ this was DPDK, Version 25.11.3, fr fr β€” go forth and segment responsibly, mwah πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from