DPDK 21.11.9
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
18extern "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[];
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_ */
uint16_t rte_be16_t
#define __rte_packed
Definition: rte_common.h:86
uint8_t opt_len
Definition: rte_geneve.h:44
uint8_t reserved1
Definition: rte_geneve.h:47
uint8_t reserved2
Definition: rte_geneve.h:57
uint8_t vni[3]
Definition: rte_geneve.h:56
uint8_t oam
Definition: rte_geneve.h:45
uint8_t critical
Definition: rte_geneve.h:46
uint8_t ver
Definition: rte_geneve.h:43
rte_be16_t proto
Definition: rte_geneve.h:55
uint32_t opts[]
Definition: rte_geneve.h:58