DPDK 21.11.9
rte_vxlan.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018-2019 Intel Corporation
3 */
4
5#ifndef _RTE_VXLAN_H_
6#define _RTE_VXLAN_H_
7
14#include <stdint.h>
15
16#include <rte_byteorder.h>
17#include <rte_udp.h>
18
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
25#define RTE_VXLAN_DEFAULT_PORT 4789
26#define RTE_VXLAN_GPE_DEFAULT_PORT 4790
27
37
39#define RTE_ETHER_VXLAN_HLEN \
40 (sizeof(struct rte_udp_hdr) + sizeof(struct rte_vxlan_hdr))
41
42
49 uint8_t vx_flags;
50 uint8_t reserved[2];
51 uint8_t proto;
54
56#define RTE_ETHER_VXLAN_GPE_HLEN (sizeof(struct rte_udp_hdr) + \
57 sizeof(struct rte_vxlan_gpe_hdr))
58
59/* VXLAN-GPE next protocol types */
60#define RTE_VXLAN_GPE_TYPE_IPV4 1
61#define RTE_VXLAN_GPE_TYPE_IPV6 2
62#define RTE_VXLAN_GPE_TYPE_ETH 3
63#define RTE_VXLAN_GPE_TYPE_NSH 4
64#define RTE_VXLAN_GPE_TYPE_MPLS 5
65#define RTE_VXLAN_GPE_TYPE_GBP 6
66#define RTE_VXLAN_GPE_TYPE_VBNG 7
69#ifdef __cplusplus
70}
71#endif
72
73#endif /* RTE_VXLAN_H_ */
uint32_t rte_be32_t
#define __rte_packed
Definition: rte_common.h:86
rte_be32_t vx_vni
Definition: rte_vxlan.h:52
uint8_t vx_flags
Definition: rte_vxlan.h:49
uint8_t reserved[2]
Definition: rte_vxlan.h:50
rte_be32_t vx_vni
Definition: rte_vxlan.h:35
rte_be32_t vx_flags
Definition: rte_vxlan.h:34