Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG-RAN
Commits
9b691b3e
Commit
9b691b3e
authored
Sep 21, 2021
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix old code errors, add CU to DU, 4G F1-U
parent
686e5856
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
101 additions
and
86 deletions
+101
-86
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+2
-3
executables/main-ocp.c
executables/main-ocp.c
+4
-4
executables/nr-softmodem.c
executables/nr-softmodem.c
+4
-4
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.c
+2
-2
executables/ocp-gnb.c
executables/ocp-gnb.c
+2
-2
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
+1
-1
openair2/F1AP/f1ap_cu_ue_context_management.c
openair2/F1AP/f1ap_cu_ue_context_management.c
+2
-2
openair2/GNB_APP/gnb_app.c
openair2/GNB_APP/gnb_app.c
+4
-4
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+32
-5
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
+12
-13
openair2/LAYER2/PROTO_AGENT/proto_agent.c
openair2/LAYER2/PROTO_AGENT/proto_agent.c
+5
-5
openair2/LAYER2/PROTO_AGENT/proto_agent.h
openair2/LAYER2/PROTO_AGENT/proto_agent.h
+2
-4
openair2/LAYER2/PROTO_AGENT/proto_agent_common.c
openair2/LAYER2/PROTO_AGENT/proto_agent_common.c
+1
-9
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
+6
-7
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
+11
-11
openair2/SIMULATION/NR_RRC/itti_sim.c
openair2/SIMULATION/NR_RRC/itti_sim.c
+2
-2
openair3/ocp-gtpu/gtp_itf.h
openair3/ocp-gtpu/gtp_itf.h
+2
-1
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+4
-4
targets/RT/USER/lte-uesoftmodem.c
targets/RT/USER/lte-uesoftmodem.c
+3
-3
No files found.
cmake_targets/CMakeLists.txt
View file @
9b691b3e
...
...
@@ -2968,9 +2968,8 @@ if (NOT ${NOS1})
endif
()
target_link_libraries
(
lte-uesoftmodem
-Wl,--start-group
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB F1AP F1AP_LIB
GTPV1U_OCP SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB
SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON
PHY_UE PHY_RU LFDS L2_UE L2_LTE LFDS7 SIMU_COMMON SIMU NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
${
MSC_LIB
}
${
RAL_LIB
}
${
NAS_UE_LIB
}
ITTI
${
FLPT_MSG_LIB
}
${
ASYNC_IF_LIB
}
${
ATLAS_LIBRARIES
}
-Wl,--end-group z dl
)
...
...
executables/main-ocp.c
View file @
9b691b3e
...
...
@@ -1046,13 +1046,13 @@ void init_pdcp(void) {
pdcp_module_init
(
pdcp_initmask
);
if
(
NODE_IS_CU
(
RC
.
rrc
[
0
]
->
node_type
))
{
//pdcp_set_rlc_data_req_func(
(send_rlc_data_req_func_t)
proto_agent_send_rlc_data_req);
//pdcp_set_rlc_data_req_func(proto_agent_send_rlc_data_req);
}
else
{
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
pdcp_data_ind
);
pdcp_set_rlc_data_req_func
(
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
pdcp_data_ind
);
}
}
else
{
//pdcp_set_pdcp_data_ind_func(
(pdcp_data_ind_func_t)
proto_agent_send_pdcp_data_ind);
//pdcp_set_pdcp_data_ind_func(proto_agent_send_pdcp_data_ind);
}
}
...
...
executables/nr-softmodem.c
View file @
9b691b3e
...
...
@@ -610,15 +610,15 @@ void init_pdcp(void) {
if
(
NODE_IS_CU
(
RC
.
nrrrc
[
0
]
->
node_type
))
{
LOG_I
(
PDCP
,
"node is CU, pdcp send rlc_data_req by proto_agent
\n
"
);
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
proto_agent_send_rlc_data_req
);
pdcp_set_rlc_data_req_func
(
proto_agent_send_rlc_data_req
);
}
else
{
LOG_I
(
PDCP
,
"node is gNB
\n
"
);
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
pdcp_data_ind
);
pdcp_set_rlc_data_req_func
(
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
pdcp_data_ind
);
}
}
else
{
LOG_I
(
PDCP
,
"node is DU, rlc send pdcp_data_ind by proto_agent
\n
"
);
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
proto_agent_send_pdcp_data_ind
);
pdcp_set_pdcp_data_ind_func
(
proto_agent_send_pdcp_data_ind
);
}
}
...
...
executables/nr-uesoftmodem.c
View file @
9b691b3e
...
...
@@ -397,8 +397,8 @@ static void init_pdcp(void) {
nr_DRB_preconfiguration();*/
pdcp_layer_init
();
pdcp_module_init
(
pdcp_initmask
);
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
pdcp_data_ind
);
pdcp_set_rlc_data_req_func
(
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
pdcp_data_ind
);
}
// Stupid function addition because UE itti messages queues definition is common with eNB
...
...
executables/ocp-gnb.c
View file @
9b691b3e
...
...
@@ -329,8 +329,8 @@ static void init_pdcp(void) {
}
pdcp_module_init
(
pdcp_initmask
);
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
pdcp_data_ind
);
pdcp_set_rlc_data_req_func
(
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
pdcp_data_ind
);
}
void
init_main_gNB
(
void
)
{
...
...
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
View file @
9b691b3e
...
...
@@ -326,6 +326,6 @@ int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t instance,
0
,
// embms_flag
srb_id
,
ie
->
value
.
choice
.
RRCContainer
.
size
,
mb
);
mb
,
NULL
,
NULL
);
return
0
;
}
openair2/F1AP/f1ap_cu_ue_context_management.c
View file @
9b691b3e
...
...
@@ -522,8 +522,8 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
up_ul_tnl
[
j
].
teid
=
newGtpuCreateTunnel
(
getCxt
(
CUtype
,
instance
)
->
gtpInst
,
f1ap_ue_context_setup_req
->
rnti
,
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
drb_id
,
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
drb_id
,
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
drb_id
-
4
,
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
drb_id
-
4
,
0xFFFF
,
// We will set the right value from DU answer
addr
,
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
up_dl_tnl
[
0
].
port
,
...
...
openair2/GNB_APP/gnb_app.c
View file @
9b691b3e
...
...
@@ -148,15 +148,15 @@ static void init_pdcp(void) {
if
(
NODE_IS_CU
(
RC
.
nrrrc
[
0
]
->
node_type
))
{
LOG_I
(
PDCP
,
"node is CU, pdcp send rlc_data_req by proto_agent
\n
"
);
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
proto_agent_send_rlc_data_req
);
pdcp_set_rlc_data_req_func
(
proto_agent_send_rlc_data_req
);
}
else
{
LOG_I
(
PDCP
,
"node is gNB
\n
"
);
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
pdcp_data_ind
);
pdcp_set_rlc_data_req_func
(
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
pdcp_data_ind
);
}
}
else
{
LOG_I
(
PDCP
,
"node is DU, rlc send pdcp_data_ind by proto_agent
\n
"
);
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
proto_agent_send_pdcp_data_ind
);
pdcp_set_pdcp_data_ind_func
(
proto_agent_send_pdcp_data_ind
);
}
}
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
View file @
9b691b3e
...
...
@@ -152,16 +152,14 @@ boolean_t cu_f1u_data_req(
const
pdcp_transmission_mode_t
mode
,
const
uint32_t
*
const
sourceL2Id
,
const
uint32_t
*
const
destinationL2Id
)
{
)
{
mem_block_t
*
memblock
=
get_free_mem_block
(
sdu_buffer_size
,
__func__
);
if
(
memblock
==
NULL
)
{
LOG_E
(
RLC
,
"%s:%d:%s: ERROR: get_free_mem_block failed
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
exit
(
1
);
}
memcpy
(
memblock
->
data
,
sdu_buffer
,
sdu_buffer_size
);
// These -4 are boring
int
ret
=
pdcp_data_ind
(
ctxt_pP
,
srb_flagP
,
false
,
rb_id
-
4
,
sdu_buffer_size
,
memblock
);
int
ret
=
pdcp_data_ind
(
ctxt_pP
,
srb_flagP
,
false
,
rb_id
,
sdu_buffer_size
,
memblock
,
NULL
,
NULL
);
if
(
!
ret
)
{
LOG_E
(
RLC
,
"%s:%d:%s: ERROR: pdcp_data_ind failed
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
/* what to do in case of failure? for the moment: nothing */
...
...
@@ -204,6 +202,33 @@ void *pdcp_stats_thread(void *param) {
uint64_t
get_pdcp_optmask
(
void
)
{
return
pdcp_params
.
optmask
;
}
rlc_op_status_t
cu_send_to_du
(
const
protocol_ctxt_t
*
const
ctxt
,
const
srb_flag_t
srb_flag
,
const
MBMS_flag_t
MBMS_flag
,
const
rb_id_t
rb_id
,
const
mui_t
mui
,
confirm_t
confirm
,
sdu_size_t
size
,
mem_block_t
*
sdu
,
const
uint32_t
*
const
sourceID
,
const
uint32_t
*
const
destID
)
{
uint8_t
*
gtpu_buffer_p
=
itti_malloc
(
TASK_PDCP_ENB
,
TASK_GTPV1_U
,
size
+
GTPU_HEADER_OVERHEAD_MAX
);
AssertFatal
(
gtpu_buffer_p
!=
NULL
,
"OUT OF MEMORY"
);
memcpy
(
gtpu_buffer_p
+
GTPU_HEADER_OVERHEAD_MAX
,
sdu
->
data
,
size
);
MessageDef
*
message_p
=
itti_alloc_new_message
(
TASK_PDCP_ENB
,
0
,
GTPV1U_ENB_TUNNEL_DATA_REQ
);
AssertFatal
(
message_p
!=
NULL
,
"OUT OF MEMORY"
);
gtpv1u_enb_tunnel_data_req_t
*
req
=&
GTPV1U_ENB_TUNNEL_DATA_REQ
(
message_p
);
req
->
buffer
=
gtpu_buffer_p
;
req
->
length
=
size
;
req
->
offset
=
GTPU_HEADER_OVERHEAD_MAX
;
req
->
rnti
=
ctxt
->
rnti
;
req
->
rab_id
=
rb_id
;
LOG_D
(
PDCP
,
"%s() (drb %ld) sending message to gtp size %d
\n
"
,
__func__
,
rb_id
,
size
);
extern
instance_t
CUuniqInstance
;
itti_send_msg_to_task
(
TASK_VARIABLE
,
CUuniqInstance
,
message_p
);
return
TRUE
;
}
//-----------------------------------------------------------------------------
/*
* If PDCP_UNIT_TEST is set here then data flow between PDCP and RLC is broken
...
...
@@ -599,7 +624,9 @@ pdcp_data_ind(
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
const
sdu_size_t
sdu_buffer_sizeP
,
mem_block_t
*
const
sdu_buffer_pP
mem_block_t
*
const
sdu_buffer_pP
,
const
uint32_t
*
const
srcID
,
const
uint32_t
*
const
dstID
)
//-----------------------------------------------------------------------------
{
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
View file @
9b691b3e
...
...
@@ -47,12 +47,14 @@
typedef
rlc_op_status_t
(
*
send_rlc_data_req_func_t
)(
const
protocol_ctxt_t
*
const
,
const
srb_flag_t
,
const
MBMS_flag_t
,
const
rb_id_t
,
const
mui_t
,
const
srb_flag_t
,
const
MBMS_flag_t
,
const
rb_id_t
,
const
mui_t
,
confirm_t
,
sdu_size_t
,
mem_block_t
*
,
const
uint32_t
*
const
,
const
uint32_t
*
const
);
typedef
boolean_t
(
*
pdcp_data_ind_func_t
)(
const
protocol_ctxt_t
*
,
const
srb_flag_t
,
const
MBMS_flag_t
,
const
rb_id_t
,
const
sdu_size_t
,
mem_block_t
*
,
const
uint32_t
*
const
,
const
uint32_t
*
const
);
typedef
boolean_t
(
pdcp_data_ind_t
)(
const
protocol_ctxt_t
*
,
const
srb_flag_t
,
const
MBMS_flag_t
,
const
rb_id_t
,
const
sdu_size_t
,
mem_block_t
*
,
const
uint32_t
*
const
,
const
uint32_t
*
const
);
typedef
pdcp_data_ind_t
*
pdcp_data_ind_func_t
;
#define ENB_NAS_USE_TUN_W_MBMS_BIT (1<< 10)
#define PDCP_USE_NETLINK_BIT (1<< 11)
...
...
@@ -282,13 +284,7 @@ boolean_t cu_f1u_data_req(
* \note None
* @ingroup _pdcp
*/
boolean_t
pdcp_data_ind
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_id
,
const
sdu_size_t
sdu_buffer_size
,
mem_block_t
*
const
sdu_buffer
);
pdcp_data_ind_t
pdcp_data_ind
;
/*! \fn void rrc_pdcp_config_req(const protocol_ctxt_t* const ,uint32_t,rb_id_t,uint8_t)
* \brief This functions initializes relevant PDCP entity
...
...
@@ -434,7 +430,10 @@ pdcp_data_ind_func_t get_pdcp_data_ind_func(void);
//-----------------------------------------------------------------------------
int
pdcp_fifo_flush_mbms_sdus
(
const
protocol_ctxt_t
*
const
ctxt_pP
);
int
pdcp_fifo_read_input_mbms_sdus_fromtun
(
const
protocol_ctxt_t
*
const
ctxt_pP
);
rlc_op_status_t
cu_send_to_du
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
const
mui_t
muiP
,
confirm_t
confirmP
,
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_pP
,
const
uint32_t
*
const
,
const
uint32_t
*
const
);
/*
* Following two types are utilized between NAS driver and PDCP
...
...
openair2/LAYER2/PROTO_AGENT/proto_agent.c
View file @
9b691b3e
...
...
@@ -157,7 +157,7 @@ void proto_agent_stop(mod_id_t mod_id) {
rlc_op_status_t
proto_agent_send_rlc_data_req
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
const
mui_t
muiP
,
confirm_t
confirmP
,
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_pP
)
{
confirm_t
confirmP
,
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_pP
,
const
uint32_t
*
const
SrcID
,
const
uint32_t
*
const
DstID
)
{
uint8_t
*
msg
=
NULL
;
Protocol__FlexsplitMessage
*
init_msg
=
NULL
;
int
msg_flag
=
0
;
...
...
@@ -191,10 +191,10 @@ error:
}
boolean_t
proto_agent_send_pdcp_data_ind
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flag
P
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_pP
)
{
boolean_t
proto_agent_send_pdcp_data_ind
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_p
P
,
const
uint32_t
*
const
SrcID
,
const
uint32_t
*
const
DstID
)
{
uint8_t
*
msg
=
NULL
;
Protocol__FlexsplitMessage
*
init_msg
=
NULL
;
int
msg_flag
=
0
;
...
...
openair2/LAYER2/PROTO_AGENT/proto_agent.h
View file @
9b691b3e
...
...
@@ -42,10 +42,8 @@ void proto_agent_stop(mod_id_t mod_id);
rlc_op_status_t
proto_agent_send_rlc_data_req
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
const
mui_t
muiP
,
confirm_t
confirmP
,
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_pP
);
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_pP
,
const
uint32_t
*
const
SrcID
,
const
uint32_t
*
const
DstID
);
boolean_t
proto_agent_send_pdcp_data_ind
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_pP
);
pdcp_data_ind_t
proto_agent_send_pdcp_data_ind
;
#endif
openair2/LAYER2/PROTO_AGENT/proto_agent_common.c
View file @
9b691b3e
...
...
@@ -496,14 +496,6 @@ error:
return
-
1
;
}
boolean_t
pdcp_data_ind
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_id
,
const
sdu_size_t
sdu_buffer_size
,
mem_block_t
*
const
sdu_buffer
);
int
proto_agent_pdcp_data_ind_process
(
mod_id_t
mod_id
,
const
void
*
params
,
Protocol__FlexsplitMessage
**
msg
)
{
boolean_t
result
=
0
;
Protocol__FlexsplitMessage
*
input
=
(
Protocol__FlexsplitMessage
*
)
params
;
...
...
@@ -545,7 +537,7 @@ int proto_agent_pdcp_data_ind_process(mod_id_t mod_id, const void *params, Proto
flag_MBMS
,
rb_idP
,
pdcp_pdu_size
,
pdcp_pdu_p
);
pdcp_pdu_p
,
NULL
,
NULL
);
return
result
;
error:
...
...
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
View file @
9b691b3e
...
...
@@ -463,7 +463,8 @@ static void deliver_sdu_drb(void *_ue, nr_pdcp_entity_t *entity,
rb_found:
{
int
offset
=
0
;
if
(
entity
->
has_sdap
==
1
&&
entity
->
has_sdapULheader
==
1
)
offset
=
1
;
// this is the offset of the SDAP header in bytes
if
(
entity
->
has_sdap
==
1
&&
entity
->
has_sdapULheader
==
1
)
offset
=
1
;
// this is the offset of the SDAP header in bytes
message_p
=
itti_alloc_new_message_sized
(
TASK_PDCP_ENB
,
0
,
GTPV1U_GNB_TUNNEL_DATA_REQ
,
...
...
@@ -654,7 +655,9 @@ boolean_t pdcp_data_ind(
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_id
,
const
sdu_size_t
sdu_buffer_size
,
mem_block_t
*
const
sdu_buffer
)
mem_block_t
*
const
sdu_buffer
,
const
uint32_t
*
const
sourceL2Id
,
const
uint32_t
*
const
destinationL2Id
)
{
nr_pdcp_ue_t
*
ue
;
nr_pdcp_entity_t
*
rb
;
...
...
@@ -1234,10 +1237,8 @@ boolean_t cu_f1u_data_req(
const
sdu_size_t
sdu_buffer_size
,
unsigned
char
*
const
sdu_buffer
,
const
pdcp_transmission_mode_t
mode
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
const
uint32_t
*
const
sourceL2Id
,
const
uint32_t
*
const
destinationL2Id
#endif
)
{
//Force instance id to 0, OAI incoherent instance management
...
...
@@ -1248,7 +1249,7 @@ boolean_t cu_f1u_data_req(
exit
(
1
);
}
memcpy
(
memblock
->
data
,
sdu_buffer
,
sdu_buffer_size
);
int
ret
=
pdcp_data_ind
(
ctxt_pP
,
srb_flagP
,
false
,
rb_id
,
sdu_buffer_size
,
memblock
);
int
ret
=
pdcp_data_ind
(
ctxt_pP
,
srb_flagP
,
false
,
rb_id
,
sdu_buffer_size
,
memblock
,
NULL
,
NULL
);
if
(
!
ret
)
{
LOG_E
(
RLC
,
"%s:%d:%s: ERROR: pdcp_data_ind failed
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
/* what to do in case of failure? for the moment: nothing */
...
...
@@ -1265,10 +1266,8 @@ boolean_t pdcp_data_req(
const
sdu_size_t
sdu_buffer_size
,
unsigned
char
*
const
sdu_buffer
,
const
pdcp_transmission_mode_t
mode
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
const
uint32_t
*
const
sourceL2Id
,
const
uint32_t
*
const
destinationL2Id
#endif
)
{
if
(
srb_flagP
)
{
...
...
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
View file @
9b691b3e
...
...
@@ -344,16 +344,16 @@ rlc_buffer_occupancy_t mac_rlc_get_buffer_occupancy_ind(
rlc_op_status_t
rlc_data_req
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
const
mui_t
muiP
,
confirm_t
confirmP
,
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_pP
,
const
uint32_t
*
const
sourceL2Id
,
const
uint32_t
*
const
destinationL2Id
)
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
const
mui_t
muiP
,
confirm_t
confirmP
,
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_pP
,
const
uint32_t
*
const
sourceL2Id
,
const
uint32_t
*
const
destinationL2Id
)
{
int
rnti
=
ctxt_pP
->
rnti
;
nr_rlc_ue_t
*
ue
;
...
...
@@ -521,7 +521,7 @@ rb_found:
exit
(
1
);
}
memcpy
(
memblock
->
data
,
buf
,
size
);
if
(
!
pdcp_data_ind
(
&
ctx
,
is_srb
,
0
,
rb_id
,
size
,
memblock
))
{
if
(
!
pdcp_data_ind
(
&
ctx
,
is_srb
,
0
,
rb_id
,
size
,
memblock
,
NULL
,
NULL
))
{
LOG_E
(
RLC
,
"%s:%d:%s: ERROR: pdcp_data_ind failed
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
/* what to do in case of failure? for the moment: nothing */
}
...
...
openair2/SIMULATION/NR_RRC/itti_sim.c
View file @
9b691b3e
...
...
@@ -400,8 +400,8 @@ statis void init_pdcp(void) {
pdcp_module_init
(
pdcp_initmask
);
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
pdcp_data_ind
);
pdcp_set_rlc_data_req_func
(
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
pdcp_data_ind
);
}
...
...
openair3/ocp-gtpu/gtp_itf.h
View file @
9b691b3e
#ifndef __GTPUNEW_ITF_H__
#define __GTPUNEW_ITF_H__
#define GTPNOK -1
# define GTPU_HEADER_OVERHEAD_MAX 64
...
...
@@ -31,7 +32,7 @@ typedef boolean_t (*gtpCallback)(
const
pdcp_transmission_mode_t
modeP
,
const
uint32_t
*
sourceL2Id
,
const
uint32_t
*
destinationL2Id
);
typedef
struct
openAddr_s
{
char
originHost
[
HOST_NAME_MAX
];
char
originService
[
HOST_NAME_MAX
];
...
...
targets/RT/USER/lte-softmodem.c
View file @
9b691b3e
...
...
@@ -496,13 +496,13 @@ static void init_pdcp(void) {
pdcp_module_init
(
pdcp_initmask
);
if
(
NODE_IS_CU
(
RC
.
rrc
[
0
]
->
node_type
))
{
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
proto_agent_send_rlc_data_req
);
pdcp_set_rlc_data_req_func
(
cu_send_to_du
);
}
else
{
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
pdcp_data_ind
);
pdcp_set_rlc_data_req_func
(
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
pdcp_data_ind
);
}
}
else
{
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
proto_agent_send_pdcp_data_ind
);
pdcp_set_pdcp_data_ind_func
(
proto_agent_send_pdcp_data_ind
);
}
}
...
...
targets/RT/USER/lte-uesoftmodem.c
View file @
9b691b3e
...
...
@@ -194,7 +194,7 @@ uint8_t abstraction_flag=0;
// needed for pdcp.c
RAN_CONTEXT_t
RC
;
instance_t
CUuniqInstance
=
0
;
/* forward declarations */
void
set_default_frame_parms
(
LTE_DL_FRAME_PARMS
*
frame_parms
[
MAX_NUM_CCs
]);
...
...
@@ -535,8 +535,8 @@ static void init_pdcp(void) {
pdcp_initmask
=
pdcp_initmask
|
UE_NAS_USE_TUN_BIT
;
pdcp_module_init
(
pdcp_initmask
);
pdcp_set_rlc_data_req_func
(
(
send_rlc_data_req_func_t
)
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
(
pdcp_data_ind_func_t
)
pdcp_data_ind
);
pdcp_set_rlc_data_req_func
(
rlc_data_req
);
pdcp_set_pdcp_data_ind_func
(
pdcp_data_ind
);
}
// Stupid function addition because UE itti messages queues definition is common with eNB
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment