DPDK
23.07.0
lib
net
rte_gre.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright 2016 6WIND S.A.
3
*/
4
5
#ifndef _RTE_GRE_H_
6
#define _RTE_GRE_H_
7
8
#include <stdint.h>
9
#include <
rte_byteorder.h
>
10
22
#ifdef __cplusplus
23
extern
"C"
{
24
#endif
25
29
__extension__
30
struct
rte_gre_hdr
{
31
#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
32
uint16_t
res2
:4;
33
uint16_t
s
:1;
34
uint16_t
k
:1;
35
uint16_t
res1
:1;
36
uint16_t
c
:1;
37
uint16_t
ver
:3;
38
uint16_t
res3
:5;
39
#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
40
uint16_t
c
:1;
41
uint16_t
res1
:1;
42
uint16_t
k
:1;
43
uint16_t
s
:1;
44
uint16_t
res2
:4;
45
uint16_t
res3
:5;
46
uint16_t
ver
:3;
47
#endif
48
rte_be16_t
proto
;
49
}
__rte_packed
;
50
54
struct
rte_gre_hdr_opt_checksum_rsvd
{
55
rte_be16_t
checksum;
56
rte_be16_t
reserved1;
57
}
__rte_packed
;
58
62
struct
rte_gre_hdr_opt_key
{
63
rte_be32_t
key;
64
}
__rte_packed
;
65
69
struct
rte_gre_hdr_opt_sequence
{
70
rte_be32_t
sequence;
71
}
__rte_packed
;
72
73
#ifdef __cplusplus
74
}
75
#endif
76
77
#endif
/* RTE_GRE_H_ */
rte_gre_hdr::k
uint16_t k
Definition:
rte_gre.h:34
rte_gre_hdr::res3
uint16_t res3
Definition:
rte_gre.h:38
rte_byteorder.h
rte_gre_hdr::res2
uint16_t res2
Definition:
rte_gre.h:32
rte_be32_t
uint32_t rte_be32_t
Definition:
rte_byteorder.h:111
__rte_packed
#define __rte_packed
Definition:
rte_common.h:83
rte_gre_hdr::res1
uint16_t res1
Definition:
rte_gre.h:35
rte_gre_hdr_opt_checksum_rsvd
Definition:
rte_gre.h:54
rte_gre_hdr_opt_sequence
Definition:
rte_gre.h:69
rte_gre_hdr::ver
uint16_t ver
Definition:
rte_gre.h:37
rte_gre_hdr::c
uint16_t c
Definition:
rte_gre.h:36
rte_gre_hdr::proto
rte_be16_t proto
Definition:
rte_gre.h:48
rte_gre_hdr_opt_key
Definition:
rte_gre.h:62
rte_be16_t
uint16_t rte_be16_t
Definition:
rte_byteorder.h:110
rte_gre_hdr
Definition:
rte_gre.h:30
rte_gre_hdr::s
uint16_t s
Definition:
rte_gre.h:33
Generated by
1.8.13