DPDK
25.03.0-rc0
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
18
#define RTE_GENEVE_DEFAULT_PORT 6081
19
36
__extension__
37
struct
rte_geneve_hdr
{
38
#if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
39
uint8_t
ver
:2;
40
uint8_t
opt_len
:6;
41
uint8_t
oam
:1;
42
uint8_t
critical
:1;
43
uint8_t
reserved1
:6;
44
#else
45
uint8_t
opt_len
:6;
46
uint8_t
ver
:2;
47
uint8_t
reserved1
:6;
48
uint8_t
critical
:1;
49
uint8_t
oam
:1;
50
#endif
51
rte_be16_t
proto
;
52
uint8_t
vni
[3];
53
uint8_t
reserved2
;
54
uint32_t
opts
[];
55
}
__rte_packed
;
56
57
/* GENEVE ETH next protocol types */
58
#define RTE_GENEVE_TYPE_ETH 0x6558
60
#endif
/* RTE_GENEVE_H_ */
rte_byteorder.h
rte_be16_t
uint16_t rte_be16_t
Definition:
rte_byteorder.h:116
__rte_packed
#define __rte_packed
Definition:
rte_common.h:108
rte_geneve_hdr
Definition:
rte_geneve.h:37
rte_geneve_hdr::opt_len
uint8_t opt_len
Definition:
rte_geneve.h:40
rte_geneve_hdr::reserved1
uint8_t reserved1
Definition:
rte_geneve.h:43
rte_geneve_hdr::reserved2
uint8_t reserved2
Definition:
rte_geneve.h:53
rte_geneve_hdr::vni
uint8_t vni[3]
Definition:
rte_geneve.h:52
rte_geneve_hdr::oam
uint8_t oam
Definition:
rte_geneve.h:41
rte_geneve_hdr::critical
uint8_t critical
Definition:
rte_geneve.h:42
rte_geneve_hdr::ver
uint8_t ver
Definition:
rte_geneve.h:39
rte_geneve_hdr::proto
rte_be16_t proto
Definition:
rte_geneve.h:51
rte_geneve_hdr::opts
uint32_t opts[]
Definition:
rte_geneve.h:54
Generated by
1.9.4