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