DPDK
19.11.14
lib
librte_net
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_udp.h
>
17
18
19
#ifdef __cplusplus
20
extern
"C"
{
21
#endif
22
24
#define RTE_VXLAN_DEFAULT_PORT 4789
25
31
struct
rte_vxlan_hdr
{
32
uint32_t
vx_flags
;
33
uint32_t
vx_vni
;
34
} __attribute__((__packed__));
35
37
#define RTE_ETHER_VXLAN_HLEN \
38
(sizeof(struct rte_udp_hdr) + sizeof(struct rte_vxlan_hdr))
39
40
46
struct
rte_vxlan_gpe_hdr
{
47
uint8_t
vx_flags
;
48
uint8_t reserved[2];
49
uint8_t
proto
;
50
uint32_t
vx_vni
;
51
} __attribute__((__packed__));
52
54
#define RTE_ETHER_VXLAN_GPE_HLEN (sizeof(struct rte_udp_hdr) + \
55
sizeof(struct rte_vxlan_gpe_hdr))
56
57
/* VXLAN-GPE next protocol types */
58
#define RTE_VXLAN_GPE_TYPE_IPV4 1
59
#define RTE_VXLAN_GPE_TYPE_IPV6 2
60
#define RTE_VXLAN_GPE_TYPE_ETH 3
61
#define RTE_VXLAN_GPE_TYPE_NSH 4
62
#define RTE_VXLAN_GPE_TYPE_MPLS 5
63
#define RTE_VXLAN_GPE_TYPE_GBP 6
64
#define RTE_VXLAN_GPE_TYPE_VBNG 7
67
#ifdef __cplusplus
68
}
69
#endif
70
71
#endif
/* RTE_VXLAN_H_ */
rte_vxlan_hdr::vx_vni
uint32_t vx_vni
Definition:
rte_vxlan.h:33
rte_vxlan_gpe_hdr::vx_flags
uint8_t vx_flags
Definition:
rte_vxlan.h:47
rte_vxlan_hdr::vx_flags
uint32_t vx_flags
Definition:
rte_vxlan.h:32
rte_vxlan_gpe_hdr
Definition:
rte_vxlan.h:46
rte_udp.h
rte_vxlan_gpe_hdr::vx_vni
uint32_t vx_vni
Definition:
rte_vxlan.h:50
rte_vxlan_hdr
Definition:
rte_vxlan.h:31
rte_vxlan_gpe_hdr::proto
uint8_t proto
Definition:
rte_vxlan.h:49
Generated by
1.8.13