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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
ec29831e
Commit
ec29831e
authored
Dec 18, 2020
by
Xue Song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify F1AP_DL_RRC_MESSAGE in RRC
add DU_handle_DL_NR_RRC_MESSAGE_TRANSFER
parent
7b859b72
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
729 additions
and
203 deletions
+729
-203
openair2/F1AP/f1ap_du_rrc_message_transfer.c
openair2/F1AP/f1ap_du_rrc_message_transfer.c
+408
-1
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+263
-171
openair2/RRC/NR/rrc_gNB_NGAP.c
openair2/RRC/NR/rrc_gNB_NGAP.c
+58
-31
No files found.
openair2/F1AP/f1ap_du_rrc_message_transfer.c
View file @
ec29831e
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/rrc_gNB.c
View file @
ec29831e
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/rrc_gNB_NGAP.c
View file @
ec29831e
...
...
@@ -808,42 +808,69 @@ rrc_gNB_process_NGAP_DOWNLINK_NAS(
/*
* switch UL or DL NAS message without RRC piggybacked to SRB2 if active.
*/
switch
(
RC
.
nrrrc
[
ctxt
.
module_id
]
->
node_type
)
{
case
ngran_gNB_CU
:
// create an ITTI message
// F1AP_DL_RRC_MESSAGE
message_p
=
itti_alloc_new_message
(
TASK_RRC_GNB
,
F1AP_DL_RRC_MESSAGE
);
F1AP_DL_RRC_MESSAGE
(
message_p
).
rrc_container
=
buffer
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
rrc_container_length
=
length
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
gNB_CU_ue_id
=
0
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
gNB_DU_ue_id
=
0
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
old_gNB_DU_ue_id
=
0xFFFFFFFF
;
// unknown
F1AP_DL_RRC_MESSAGE
(
message_p
).
rnti
=
ue_context_p
->
ue_context
.
rnti
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
srb_id
=
DCCH
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
execute_duplication
=
1
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
RAT_frequency_priority_information
.
en_dc
=
0
;
itti_send_msg_to_task
(
TASK_CU_F1
,
ctxt
.
module_id
,
message_p
);
LOG_D
(
NR_RRC
,
"Send F1AP_DL_RRC_MESSAGE with ITTI
\n
"
);
/* Transfer data to PDCP */
nr_rrc_data_req
(
&
ctxt
,
ue_context_p
->
ue_context
.
Srb2
.
Srb_info
.
Srb_id
,
(
*
rrc_gNB_mui
)
++
,
SDU_CONFIRM_NO
,
length
,
buffer
,
PDCP_TRANSMISSION_MODE_CONTROL
);
break
;
case
ngran_gNB_DU
:
// nothing to do for DU
AssertFatal
(
1
==
0
,
"nothing to do for DU
\n
"
);
break
;
case
ngran_gNB
:
// rrc_mac_config_req_gNB
#ifdef ITTI_SIM
uint8_t
*
message_buffer
;
message_buffer
=
itti_malloc
(
TASK_RRC_GNB_SIM
,
TASK_RRC_UE_SIM
,
length
);
memcpy
(
message_buffer
,
buffer
,
length
);
message_p
=
itti_alloc_new_message
(
TASK_RRC_GNB_SIM
,
GNB_RRC_DCCH_DATA_IND
);
GNB_RRC_DCCH_DATA_IND
(
message_p
).
rbid
=
DCCH
;
GNB_RRC_DCCH_DATA_IND
(
message_p
).
sdu
=
message_buffer
;
GNB_RRC_DCCH_DATA_IND
(
message_p
).
size
=
length
;
itti_send_msg_to_task
(
TASK_RRC_UE_SIM
,
instance
,
message_p
);
LOG_I
(
NR_RRC
,
"Send DL NAS message
\n
"
);
uint8_t
*
message_buffer
;
message_buffer
=
itti_malloc
(
TASK_RRC_GNB_SIM
,
TASK_RRC_UE_SIM
,
length
);
memcpy
(
message_buffer
,
buffer
,
length
);
message_p
=
itti_alloc_new_message
(
TASK_RRC_GNB_SIM
,
GNB_RRC_DCCH_DATA_IND
);
GNB_RRC_DCCH_DATA_IND
(
message_p
).
rbid
=
DCCH
;
GNB_RRC_DCCH_DATA_IND
(
message_p
).
sdu
=
message_buffer
;
GNB_RRC_DCCH_DATA_IND
(
message_p
).
size
=
length
;
itti_send_msg_to_task
(
TASK_RRC_UE_SIM
,
instance
,
message_p
);
LOG_I
(
NR_RRC
,
"Send DL NAS message
\n
"
);
#else
// F1AP_DL_RRC_MESSAGE
message_p
=
itti_alloc_new_message
(
TASK_RRC_GNB
,
F1AP_DL_RRC_MESSAGE
);
F1AP_DL_RRC_MESSAGE
(
message_p
).
rrc_container
=
buffer
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
rrc_container_length
=
length
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
gNB_CU_ue_id
=
0
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
gNB_DU_ue_id
=
0
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
old_gNB_DU_ue_id
=
0xFFFFFFFF
;
// unknown
F1AP_DL_RRC_MESSAGE
(
message_p
).
rnti
=
ue_context_p
->
ue_context
.
rnti
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
srb_id
=
DCCH
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
execute_duplication
=
1
;
F1AP_DL_RRC_MESSAGE
(
message_p
).
RAT_frequency_priority_information
.
en_dc
=
0
;
itti_send_msg_to_task
(
TASK_CU_F1
,
ctxt
.
module_id
,
message_p
);
LOG_D
(
NR_RRC
,
"Send F1AP_DL_RRC_MESSAGE with ITTI
\n
"
);
#if(0)
/* Transfer data to PDCP */
nr_rrc_data_req
(
&
ctxt
,
ue_context_p
->
ue_context
.
Srb2
.
Srb_info
.
Srb_id
,
(
*
rrc_gNB_mui
)
++
,
SDU_CONFIRM_NO
,
length
,
buffer
,
PDCP_TRANSMISSION_MODE_CONTROL
);
/* Transfer data to PDCP */
nr_rrc_data_req
(
&
ctxt
,
ue_context_p
->
ue_context
.
Srb2
.
Srb_info
.
Srb_id
,
(
*
rrc_gNB_mui
)
++
,
SDU_CONFIRM_NO
,
length
,
buffer
,
PDCP_TRANSMISSION_MODE_CONTROL
);
#endif
#endif
break
;
default
:
LOG_W
(
NR_RRC
,
"Unknown node type %d
\n
"
,
RC
.
nrrrc
[
ctxt
.
module_id
]
->
node_type
);
}
return
(
0
);
}
}
...
...
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