rte_vxlan.h(3)

✨ rte_vxlan.h β€” Library Functions Manual, section 3 ✨

okay bestie, gather round, we're doing VXLAN header definitions today and honestly? it's giving networking main character energy πŸ’… this one lives in the DPDK docs, section 3 of the manual, and it's basically the little header file that knows everything about wrapping your packets in a VXLAN tunnel πŸ¦‹


🌸 NAME 🌸

rte_vxlan.h β€” no cap, that's the whole name, it's a header file and it said "my name is my name" periodt


πŸŽ€ SYNOPSIS πŸŽ€

first things first, you gotta bring your friends:

#include <stdint.h>
#include <rte_byteorder.h>
#include <rte_udp.h>

🫢 Data Structures

  • struct rte_vxlan_hdr
  • struct rte_vxlan_gpe_hdr

πŸ“ Macros

the macro lineup, all of it, every single one, because we don't gatekeep:

#define RTE_VXLAN_DEFAULT_PORT   4789
#define RTE_VXLAN_GPE_DEFAULT_PORT   4790
#define RTE_ETHER_VXLAN_HLEN       (sizeof(struct rte_udp_hdr) +
    sizeof(struct rte_vxlan_hdr))
#define RTE_ETHER_VXLAN_GPE_HLEN
#define RTE_VXLAN_GPE_TYPE_IPV4   1
#define RTE_VXLAN_GPE_TYPE_IPV6   2
#define RTE_VXLAN_GPE_TYPE_ETH   3
#define RTE_VXLAN_GPE_TYPE_NSH   4
#define RTE_VXLAN_GPE_TYPE_MPLS   5
#define RTE_VXLAN_GPE_TYPE_GBP   6
#define RTE_VXLAN_GPE_TYPE_VBNG   7

πŸ’– Detailed Description πŸ’–

VXLAN-related definitions 🧚 that's the vibe. the whole file is just here to define the VXLAN stuff you need.

Definition in file rte_vxlan.h.


πŸ‘‘ Macro Definition Documentation πŸ‘‘

✨ #define RTE_VXLAN_DEFAULT_PORT 4789

the VXLAN default port, iconic, the classic, the moment πŸ‘‘

Definition at line 20 of file rte_vxlan.h.

✨ #define RTE_VXLAN_GPE_DEFAULT_PORT 4790

the VXLAN GPE port 🌈 one whole number above the other one, slay

Definition at line 22 of file rte_vxlan.h.

✨ #define RTE_ETHER_VXLAN_HLEN (sizeof(struct rte_udp_hdr) + sizeof(struct rte_vxlan_hdr))

the VXLAN tunnel header length, i.e. how many bytes your tunnel header is eating up πŸ“

Definition at line 101 of file rte_vxlan.h.

πŸ™ˆ #define RTE_ETHER_VXLAN_GPE_HLEN

okay so the value is this whole thing:

(sizeof(struct rte_udp_hdr) + \
sizeof(struct rte_vxlan_gpe_hdr))

Deprecated 😭 yes bestie, it's deprecated, that's literally in the source, so be careful with this one.

See also: RTE_ETHER_VXLAN_HLEN β€” go look at that one instead, it's the non-deprecated sibling 🫢

it's the VXLAN-GPE tunnel header length, for the record.

Definition at line 138 of file rte_vxlan.h.

✨ #define RTE_VXLAN_GPE_TYPE_IPV4 1

IPv4 Protocol πŸ’œ

Definition at line 142 of file rte_vxlan.h.

✨ #define RTE_VXLAN_GPE_TYPE_IPV6 2

IPv6 Protocol πŸ’œ

Definition at line 143 of file rte_vxlan.h.

✨ #define RTE_VXLAN_GPE_TYPE_ETH 3

Ethernet Protocol πŸ’œ

Definition at line 144 of file rte_vxlan.h.

✨ #define RTE_VXLAN_GPE_TYPE_NSH 4

NSH Protocol πŸ’œ

Definition at line 145 of file rte_vxlan.h.

✨ #define RTE_VXLAN_GPE_TYPE_MPLS 5

MPLS Protocol πŸ’œ

Definition at line 146 of file rte_vxlan.h.

✨ #define RTE_VXLAN_GPE_TYPE_GBP 6

GBP Protocol πŸ’œ

Definition at line 147 of file rte_vxlan.h.

✨ #define RTE_VXLAN_GPE_TYPE_VBNG 7

vBNG Protocol πŸ’œ (yes the little lowercase v in front is intentional, we love her)

Definition at line 148 of file rte_vxlan.h.


🌈 Author 🌈

Generated automatically by Doxygen for DPDK from the source code. not a human, just a robot doing its little documentation dance πŸ€–βœ¨ respect


and that's the whole page bestie, every option, every macro, every line number, nothing skipped, no cap πŸ’… if you made it this far you're genuinely built different 🫢

kisses, this was DPDK, Version 25.11.3, and the page is rte_vxlan.h(3) β€” go forth and tunnel responsibly πŸ‘‘πŸ’–πŸŒΈ

πŸ“¦ where this page comes from