DPDK
25.03.0-rc0
lib
net
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
37
enum
rte_pdcp_ctrl_pdu_type
{
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
50
enum
rte_pdcp_pdu_type
{
51
RTE_PDCP_PDU_TYPE_CTRL = 0,
52
RTE_PDCP_PDU_TYPE_DATA = 1,
53
};
54
58
__extension__
59
struct
rte_pdcp_cp_data_pdu_sn_12_hdr
{
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
;
68
}
__rte_packed
;
69
73
__extension__
74
struct
rte_pdcp_up_data_pdu_sn_12_hdr
{
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
;
85
}
__rte_packed
;
86
90
__extension__
91
struct
rte_pdcp_up_data_pdu_sn_18_hdr
{
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
;
103
}
__rte_packed
;
104
108
__extension__
109
struct
rte_pdcp_up_ctrl_pdu_hdr
{
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
125
rte_be32_t
fmc
;
136
uint8_t
bitmap
[];
137
}
__rte_packed
;
138
139
#endif
/* RTE_PDCP_HDR_H */
rte_byteorder.h
rte_be32_t
uint32_t rte_be32_t
Definition:
rte_byteorder.h:117
__rte_packed
#define __rte_packed
Definition:
rte_common.h:108
rte_pdcp_ctrl_pdu_type
rte_pdcp_ctrl_pdu_type
Definition:
rte_pdcp_hdr.h:37
rte_pdcp_pdu_type
rte_pdcp_pdu_type
Definition:
rte_pdcp_hdr.h:50
rte_pdcp_cp_data_pdu_sn_12_hdr
Definition:
rte_pdcp_hdr.h:59
rte_pdcp_cp_data_pdu_sn_12_hdr::sn_7_0
uint8_t sn_7_0
Definition:
rte_pdcp_hdr.h:67
rte_pdcp_cp_data_pdu_sn_12_hdr::r
uint8_t r
Definition:
rte_pdcp_hdr.h:62
rte_pdcp_cp_data_pdu_sn_12_hdr::sn_11_8
uint8_t sn_11_8
Definition:
rte_pdcp_hdr.h:61
rte_pdcp_up_ctrl_pdu_hdr
Definition:
rte_pdcp_hdr.h:109
rte_pdcp_up_ctrl_pdu_hdr::pdu_type
uint8_t pdu_type
Definition:
rte_pdcp_hdr.h:112
rte_pdcp_up_ctrl_pdu_hdr::fmc
rte_be32_t fmc
Definition:
rte_pdcp_hdr.h:125
rte_pdcp_up_ctrl_pdu_hdr::r
uint8_t r
Definition:
rte_pdcp_hdr.h:111
rte_pdcp_up_ctrl_pdu_hdr::d_c
uint8_t d_c
Definition:
rte_pdcp_hdr.h:113
rte_pdcp_up_ctrl_pdu_hdr::bitmap
uint8_t bitmap[]
Definition:
rte_pdcp_hdr.h:136
rte_pdcp_up_data_pdu_sn_12_hdr
Definition:
rte_pdcp_hdr.h:74
rte_pdcp_up_data_pdu_sn_12_hdr::sn_7_0
uint8_t sn_7_0
Definition:
rte_pdcp_hdr.h:84
rte_pdcp_up_data_pdu_sn_12_hdr::r
uint8_t r
Definition:
rte_pdcp_hdr.h:77
rte_pdcp_up_data_pdu_sn_12_hdr::d_c
uint8_t d_c
Definition:
rte_pdcp_hdr.h:78
rte_pdcp_up_data_pdu_sn_12_hdr::sn_11_8
uint8_t sn_11_8
Definition:
rte_pdcp_hdr.h:76
rte_pdcp_up_data_pdu_sn_18_hdr
Definition:
rte_pdcp_hdr.h:91
rte_pdcp_up_data_pdu_sn_18_hdr::sn_7_0
uint8_t sn_7_0
Definition:
rte_pdcp_hdr.h:102
rte_pdcp_up_data_pdu_sn_18_hdr::r
uint8_t r
Definition:
rte_pdcp_hdr.h:94
rte_pdcp_up_data_pdu_sn_18_hdr::d_c
uint8_t d_c
Definition:
rte_pdcp_hdr.h:95
rte_pdcp_up_data_pdu_sn_18_hdr::sn_15_8
uint8_t sn_15_8
Definition:
rte_pdcp_hdr.h:101
rte_pdcp_up_data_pdu_sn_18_hdr::sn_17_16
uint8_t sn_17_16
Definition:
rte_pdcp_hdr.h:93
Generated by
1.9.4