DPDK  20.11.0
rte_geneve.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright 2020 Mellanox Technologies, Ltd
3  */
4 
5 #ifndef _RTE_GENEVE_H_
6 #define _RTE_GENEVE_H_
7 
13 #include <stdint.h>
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
20 #define RTE_GENEVE_DEFAULT_PORT 6081
21 
38 __extension__
40 #if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
41  uint8_t ver:2;
42  uint8_t opt_len:6;
43  uint8_t oam:1;
44  uint8_t critical:1;
45  uint8_t reserved1:6;
46 #else
47  uint8_t opt_len:6;
48  uint8_t ver:2;
49  uint8_t reserved1:6;
50  uint8_t critical:1;
51  uint8_t oam:1;
52 #endif
54  uint8_t vni[3];
55  uint8_t reserved2;
56  uint32_t opts[];
57 } __rte_packed;
58 
59 /* GENEVE ETH next protocol types */
60 #define RTE_GENEVE_TYPE_ETH 0x6558
62 #ifdef __cplusplus
63 }
64 #endif
65 
66 #endif /* RTE_GENEVE_H_ */
uint16_t rte_be16_t
#define __rte_packed
Definition: rte_common.h:84
uint8_t opt_len
Definition: rte_geneve.h:42
uint8_t reserved1
Definition: rte_geneve.h:45
uint8_t reserved2
Definition: rte_geneve.h:55
uint8_t vni[3]
Definition: rte_geneve.h:54
uint8_t oam
Definition: rte_geneve.h:43
uint8_t critical
Definition: rte_geneve.h:44
uint8_t ver
Definition: rte_geneve.h:41
rte_be16_t proto
Definition: rte_geneve.h:53
uint32_t opts[]
Definition: rte_geneve.h:56