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
zzha zzha
OpenXG-RAN
Commits
9b691b3e
Commit
9b691b3e
authored
3 years ago
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
)
...
...
This diff is collapsed.
Click to expand it.
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);
}
}
...
...
This diff is collapsed.
Click to expand it.
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
);
}
}
...
...
This diff is collapsed.
Click to expand it.
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
...
...
This diff is collapsed.
Click to expand it.
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
)
{
...
...
This diff is collapsed.
Click to expand it.
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
;
}
This diff is collapsed.
Click to expand it.
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
,
...
...
This diff is collapsed.
Click to expand it.
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
);
}
}
...
...
This diff is collapsed.
Click to expand it.
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
)
//-----------------------------------------------------------------------------
{
...
...
This diff is collapsed.
Click to expand it.
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
...
...
This diff is collapsed.
Click to expand it.
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
;
...
...
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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:
...
...
This diff is collapsed.
Click to expand it.
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
)
{
...
...
This diff is collapsed.
Click to expand it.
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 */
}
...
...
This diff is collapsed.
Click to expand it.
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
);
}
...
...
This diff is collapsed.
Click to expand it.
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
];
...
...
This diff is collapsed.
Click to expand it.
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
);
}
}
...
...
This diff is collapsed.
Click to expand it.
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
...
...
This diff is collapsed.
Click to expand it.
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