DPDK
24.07.0
lib
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
#include <
rte_byteorder.h
>
16
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
22
#define RTE_GENEVE_DEFAULT_PORT 6081
23
40
__extension__
41
struct
rte_geneve_hdr
{
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
55
rte_be16_t
proto
;
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::critical
uint8_t critical
Definition:
rte_geneve.h:46
rte_geneve_hdr
Definition:
rte_geneve.h:41
rte_byteorder.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:108
rte_geneve_hdr::opt_len
uint8_t opt_len
Definition:
rte_geneve.h:44
rte_geneve_hdr::opts
uint32_t opts[]
Definition:
rte_geneve.h:58
rte_geneve_hdr::reserved1
uint8_t reserved1
Definition:
rte_geneve.h:47
rte_be16_t
uint16_t rte_be16_t
Definition:
rte_byteorder.h:112
rte_geneve_hdr::reserved2
uint8_t reserved2
Definition:
rte_geneve.h:57
rte_geneve_hdr::oam
uint8_t oam
Definition:
rte_geneve.h:45
Generated by
1.8.13