DPDK  18.05.1
rte_gre.h
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 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
18 struct gre_hdr {
19 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
20  uint16_t res2:4;
21  uint16_t s:1;
22  uint16_t k:1;
23  uint16_t res1:1;
24  uint16_t c:1;
25  uint16_t ver:3;
26  uint16_t res3:5;
27 #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
28  uint16_t c:1;
29  uint16_t res1:1;
30  uint16_t k:1;
31  uint16_t s:1;
32  uint16_t res2:4;
33  uint16_t res3:5;
34  uint16_t ver:3;
35 #endif
36  uint16_t proto;
37 } __attribute__((__packed__));
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif /* RTE_GRE_H_ */