]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/dpdk/lib/librte_net/rte_gre.h
import 15.2.0 Octopus source
[ceph.git] / ceph / src / spdk / dpdk / lib / librte_net / 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
15 /**
16 * GRE Header
17 */
18 __extension__
19 struct gre_hdr {
20 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
21 uint16_t res2:4; /**< Reserved */
22 uint16_t s:1; /**< Sequence Number Present bit */
23 uint16_t k:1; /**< Key Present bit */
24 uint16_t res1:1; /**< Reserved */
25 uint16_t c:1; /**< Checksum Present bit */
26 uint16_t ver:3; /**< Version Number */
27 uint16_t res3:5; /**< Reserved */
28 #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
29 uint16_t c:1; /**< Checksum Present bit */
30 uint16_t res1:1; /**< Reserved */
31 uint16_t k:1; /**< Key Present bit */
32 uint16_t s:1; /**< Sequence Number Present bit */
33 uint16_t res2:4; /**< Reserved */
34 uint16_t res3:5; /**< Reserved */
35 uint16_t ver:3; /**< Version Number */
36 #endif
37 uint16_t proto; /**< Protocol Type */
38 } __attribute__((__packed__));
39
40 #ifdef __cplusplus
41 }
42 #endif
43
44 #endif /* RTE_GRE_H_ */