DPDK 25.03.0-rc0
rte_pdcp_hdr.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2023 Marvell.
3 */
4
5#ifndef RTE_PDCP_HDR_H
6#define RTE_PDCP_HDR_H
7
17#include <rte_byteorder.h>
18
24#define RTE_PDCP_CTRL_PDU_SIZE_MAX 9000u
25
31#define RTE_PDCP_MAC_I_LEN 4
32
38 RTE_PDCP_CTRL_PDU_TYPE_STATUS_REPORT = 0,
39 RTE_PDCP_CTRL_PDU_TYPE_ROHC_FEEDBACK = 1,
40 RTE_PDCP_CTRL_PDU_TYPE_EHC_FEEDBACK = 2,
41 RTE_PDCP_CRTL_PDU_TYPE_UDC_FEEDBACK = 3,
42};
43
51 RTE_PDCP_PDU_TYPE_CTRL = 0,
52 RTE_PDCP_PDU_TYPE_DATA = 1,
53};
54
58__extension__
60#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
61 uint8_t sn_11_8 : 4;
62 uint8_t r : 4;
63#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
64 uint8_t r : 4;
65 uint8_t sn_11_8 : 4;
66#endif
67 uint8_t sn_7_0;
69
73__extension__
75#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
76 uint8_t sn_11_8 : 4;
77 uint8_t r : 3;
78 uint8_t d_c : 1;
79#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
80 uint8_t d_c : 1;
81 uint8_t r : 3;
82 uint8_t sn_11_8 : 4;
83#endif
84 uint8_t sn_7_0;
86
90__extension__
92#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
93 uint8_t sn_17_16 : 2;
94 uint8_t r : 5;
95 uint8_t d_c : 1;
96#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
97 uint8_t d_c : 1;
98 uint8_t r : 5;
99 uint8_t sn_17_16 : 2;
100#endif
101 uint8_t sn_15_8;
102 uint8_t sn_7_0;
104
108__extension__
110#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
111 uint8_t r : 4;
112 uint8_t pdu_type : 3;
113 uint8_t d_c : 1;
114#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
115 uint8_t d_c : 1;
116 uint8_t pdu_type : 3;
117 uint8_t r : 4;
118#endif
136 uint8_t bitmap[];
138
139#endif /* RTE_PDCP_HDR_H */
uint32_t rte_be32_t
#define __rte_packed
Definition: rte_common.h:108
rte_pdcp_ctrl_pdu_type
Definition: rte_pdcp_hdr.h:37
rte_pdcp_pdu_type
Definition: rte_pdcp_hdr.h:50