DPDK
20.11.0
lib
librte_net
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__
39
struct
rte_geneve_hdr
{
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
53
rte_be16_t
proto
;
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_ */
__rte_packed
#define __rte_packed
Definition:
rte_common.h:84
rte_geneve_hdr::critical
uint8_t critical
Definition:
rte_geneve.h:44
rte_geneve_hdr
Definition:
rte_geneve.h:39
rte_geneve_hdr::proto
rte_be16_t proto
Definition:
rte_geneve.h:53
rte_geneve_hdr::ver
uint8_t ver
Definition:
rte_geneve.h:41
rte_geneve_hdr::vni
uint8_t vni[3]
Definition:
rte_geneve.h:54
rte_geneve_hdr::opt_len
uint8_t opt_len
Definition:
rte_geneve.h:42
rte_geneve_hdr::opts
uint32_t opts[]
Definition:
rte_geneve.h:56
rte_geneve_hdr::reserved1
uint8_t reserved1
Definition:
rte_geneve.h:45
rte_be16_t
uint16_t rte_be16_t
Definition:
rte_byteorder.h:110
rte_geneve_hdr::reserved2
uint8_t reserved2
Definition:
rte_geneve.h:55
rte_geneve_hdr::oam
uint8_t oam
Definition:
rte_geneve.h:43
Generated by
1.8.13