DPDK  20.11.5
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 #include <rte_byteorder.h>
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
22 #define RTE_GENEVE_DEFAULT_PORT 6081
23 
40 __extension__
42 #if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
43  uint8_t ver:2;
44  uint8_t opt_len:6;
45  uint8_t oam:1;
46  uint8_t critical:1;
47  uint8_t reserved1:6;
48 #else
49  uint8_t opt_len:6;
50  uint8_t ver:2;
51  uint8_t reserved1:6;
52  uint8_t critical:1;
53  uint8_t oam:1;
54 #endif
56  uint8_t vni[3];
57  uint8_t reserved2;
58  uint32_t opts[];
59 } __rte_packed;
60 
61 /* GENEVE ETH next protocol types */
62 #define RTE_GENEVE_TYPE_ETH 0x6558
64 #ifdef __cplusplus
65 }
66 #endif
67 
68 #endif /* RTE_GENEVE_H_ */
rte_geneve_hdr::proto
rte_be16_t proto
Definition: rte_geneve.h:55
rte_geneve_hdr::ver
uint8_t ver
Definition: rte_geneve.h:43
rte_geneve_hdr::vni
uint8_t vni[3]
Definition: rte_geneve.h:56
__rte_packed
#define __rte_packed
Definition: rte_common.h:84
rte_be16_t
uint16_t rte_be16_t
Definition: rte_byteorder.h:110
rte_geneve_hdr::opts
uint32_t opts[]
Definition: rte_geneve.h:58
rte_geneve_hdr::opt_len
uint8_t opt_len
Definition: rte_geneve.h:44
rte_geneve_hdr::reserved1
uint8_t reserved1
Definition: rte_geneve.h:47
rte_geneve_hdr
Definition: rte_geneve.h:41
rte_geneve_hdr::reserved2
uint8_t reserved2
Definition: rte_geneve.h:57
rte_byteorder.h
rte_geneve_hdr::oam
uint8_t oam
Definition: rte_geneve.h:45
rte_geneve_hdr::critical
uint8_t critical
Definition: rte_geneve.h:46