DPDK 23.11.0
Loading...
Searching...
No Matches
rte_l2tpv2.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2021 Intel Corporation.
3 */
4
5#ifndef _RTE_L2TPV2_H_
6#define _RTE_L2TPV2_H_
7
74#include <stdint.h>
75#include <rte_byteorder.h>
76
77#ifdef __cplusplus
78extern "C" {
79#endif
80
81/*
82 * L2TPv2 Message Type
83 */
84#define RTE_L2TPV2_MSG_TYPE_CONTROL 0xC802
85#define RTE_L2TPV2_MSG_TYPE_DATA 0x0002
86#define RTE_L2TPV2_MSG_TYPE_DATA_L 0x4002
87#define RTE_L2TPV2_MSG_TYPE_DATA_S 0x0802
88#define RTE_L2TPV2_MSG_TYPE_DATA_O 0x0202
89#define RTE_L2TPV2_MSG_TYPE_DATA_L_S 0x4802
90#define RTE_L2TPV2_MSG_TYPE_DATA_L_O 0x4202
91#define RTE_L2TPV2_MSG_TYPE_DATA_S_O 0x0A02
92#define RTE_L2TPV2_MSG_TYPE_DATA_L_S_O 0x4A02
93
98 union {
101 __extension__
102 struct {
103#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
104 uint16_t ver:4;
105 uint16_t res3:4;
106 uint16_t p:1;
107 uint16_t o:1;
108 uint16_t res2:1;
109 uint16_t s:1;
110 uint16_t res1:2;
111 uint16_t l:1;
112 uint16_t t:1;
113#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
114 uint16_t t:1;
115 uint16_t l:1;
116 uint16_t res1:2;
117 uint16_t s:1;
118 uint16_t res2:1;
119 uint16_t o:1;
120 uint16_t p:1;
121 uint16_t res3:4;
122 uint16_t ver:4;
123#endif
124 };
125 };
126};
127
141
154
167
179
189
199
208
216
241
242#ifdef __cplusplus
243}
244#endif
245
246#endif /* _RTE_L2TPV2_H_ */
uint16_t rte_be16_t
#define __rte_packed
Definition rte_common.h:89
struct rte_l2tpv2_common_hdr common
Definition rte_l2tpv2.h:221
rte_be16_t flags_version
Definition rte_l2tpv2.h:100