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
f76a6913
Commit
f76a6913
authored
Jan 03, 2023
by
Sakthivel Velumani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed CU-UP checks from nr-softmodem
parent
ae70afe4
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
13 additions
and
28 deletions
+13
-28
common/ngran_types.h
common/ngran_types.h
+3
-3
executables/nr-softmodem.c
executables/nr-softmodem.c
+9
-15
openair2/GNB_APP/gnb_app.c
openair2/GNB_APP/gnb_app.c
+1
-7
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+0
-3
No files found.
common/ngran_types.h
View file @
f76a6913
...
@@ -43,12 +43,12 @@ typedef enum {
...
@@ -43,12 +43,12 @@ typedef enum {
ngran_eNB_DU
=
6
,
ngran_eNB_DU
=
6
,
ngran_gNB_DU
=
7
,
ngran_gNB_DU
=
7
,
ngran_eNB_MBMS_STA
=
8
,
ngran_eNB_MBMS_STA
=
8
,
ngran_gNB_CUCP
,
ngran_gNB_CUCP
=
9
,
ngran_gNB_CUUP
ngran_gNB_CUUP
=
10
}
ngran_node_t
;
}
ngran_node_t
;
#define NODE_IS_MONOLITHIC(nOdE_TyPe) ((nOdE_TyPe) == ngran_eNB || (nOdE_TyPe) == ngran_ng_eNB || (nOdE_TyPe) == ngran_gNB)
#define NODE_IS_MONOLITHIC(nOdE_TyPe) ((nOdE_TyPe) == ngran_eNB || (nOdE_TyPe) == ngran_ng_eNB || (nOdE_TyPe) == ngran_gNB)
#define NODE_IS_CU(nOdE_TyPe) ((nOdE_TyPe) == ngran_eNB_CU || (nOdE_TyPe) == ngran_ng_eNB_CU || (nOdE_TyPe) == ngran_gNB_CU || (nOdE_TyPe) == ngran_gNB_CUCP ||
(nOdE_TyPe) == ngran_gNB_CUUP
)
#define NODE_IS_CU(nOdE_TyPe) ((nOdE_TyPe) == ngran_eNB_CU || (nOdE_TyPe) == ngran_ng_eNB_CU || (nOdE_TyPe) == ngran_gNB_CU || (nOdE_TyPe) == ngran_gNB_CUCP ||
(nOdE_TyPe) == ngran_gNB_CUUP
)
#define NODE_IS_DU(nOdE_TyPe) ((nOdE_TyPe) == ngran_eNB_DU || (nOdE_TyPe) == ngran_gNB_DU)
#define NODE_IS_DU(nOdE_TyPe) ((nOdE_TyPe) == ngran_eNB_DU || (nOdE_TyPe) == ngran_gNB_DU)
#define NODE_IS_MBMS(nOdE_TyPe) ((nOdE_TyPe) == ngran_eNB_MBMS_STA)
#define NODE_IS_MBMS(nOdE_TyPe) ((nOdE_TyPe) == ngran_eNB_MBMS_STA)
...
...
executables/nr-softmodem.c
View file @
f76a6913
...
@@ -316,12 +316,10 @@ int create_gNB_tasks(void) {
...
@@ -316,12 +316,10 @@ int create_gNB_tasks(void) {
RC
.
nrrrc
=
(
gNB_RRC_INST
**
)
malloc
(
RC
.
nb_nr_inst
*
sizeof
(
gNB_RRC_INST
*
));
RC
.
nrrrc
=
(
gNB_RRC_INST
**
)
malloc
(
RC
.
nb_nr_inst
*
sizeof
(
gNB_RRC_INST
*
));
LOG_I
(
PHY
,
"%s() RC.nb_nr_inst:%d RC.nrrrc:%p
\n
"
,
__FUNCTION__
,
RC
.
nb_nr_inst
,
RC
.
nrrrc
);
LOG_I
(
PHY
,
"%s() RC.nb_nr_inst:%d RC.nrrrc:%p
\n
"
,
__FUNCTION__
,
RC
.
nb_nr_inst
,
RC
.
nrrrc
);
ngran_node_t
node_type
=
get_node_type
();
ngran_node_t
node_type
=
get_node_type
();
if
(
node_type
!=
ngran_gNB_CUUP
)
{
for
(
int
gnb_id
=
gnb_id_start
;
(
gnb_id
<
gnb_id_end
)
;
gnb_id
++
)
{
for
(
int
gnb_id
=
gnb_id_start
;
(
gnb_id
<
gnb_id_end
)
;
gnb_id
++
)
{
RC
.
nrrrc
[
gnb_id
]
=
(
gNB_RRC_INST
*
)
calloc
(
1
,
sizeof
(
gNB_RRC_INST
));
RC
.
nrrrc
[
gnb_id
]
=
(
gNB_RRC_INST
*
)
calloc
(
1
,
sizeof
(
gNB_RRC_INST
));
LOG_I
(
PHY
,
"%s() Creating RRC instance RC.nrrrc[%d]:%p (%d of %d)
\n
"
,
__FUNCTION__
,
gnb_id
,
RC
.
nrrrc
[
gnb_id
],
gnb_id
+
1
,
gnb_id_end
);
LOG_I
(
PHY
,
"%s() Creating RRC instance RC.nrrrc[%d]:%p (%d of %d)
\n
"
,
__FUNCTION__
,
gnb_id
,
RC
.
nrrrc
[
gnb_id
],
gnb_id
+
1
,
gnb_id_end
);
configure_nr_rrc
(
gnb_id
);
configure_nr_rrc
(
gnb_id
);
}
}
}
if
(
RC
.
nb_nr_inst
>
0
&&
if
(
RC
.
nb_nr_inst
>
0
&&
...
@@ -339,8 +337,7 @@ int create_gNB_tasks(void) {
...
@@ -339,8 +337,7 @@ int create_gNB_tasks(void) {
/* For the CU case the gNB registration with the AMF might have to take place after the F1 setup, as the PLMN info
/* For the CU case the gNB registration with the AMF might have to take place after the F1 setup, as the PLMN info
* can originate from the DU. Add check on whether x2ap is enabled to account for ENDC NSA scenario.*/
* can originate from the DU. Add check on whether x2ap is enabled to account for ENDC NSA scenario.*/
if
((
get_softmodem_params
()
->
sa
||
is_x2ap_enabled
())
&&
if
((
get_softmodem_params
()
->
sa
||
is_x2ap_enabled
())
&&
!
NODE_IS_DU
(
node_type
)
&&
!
NODE_IS_DU
(
node_type
))
{
node_type
!=
ngran_gNB_CUUP
)
{
/* Try to register each gNB */
/* Try to register each gNB */
//registered_gnb = 0;
//registered_gnb = 0;
__attribute__
((
unused
))
uint32_t
register_gnb_pending
=
gNB_app_register
(
gnb_id_start
,
gnb_id_end
);
__attribute__
((
unused
))
uint32_t
register_gnb_pending
=
gNB_app_register
(
gnb_id_start
,
gnb_id_end
);
...
@@ -368,8 +365,7 @@ int create_gNB_tasks(void) {
...
@@ -368,8 +365,7 @@ int create_gNB_tasks(void) {
}
}
if
(
get_softmodem_params
()
->
sa
&&
if
(
get_softmodem_params
()
->
sa
&&
!
NODE_IS_DU
(
node_type
)
&&
!
NODE_IS_DU
(
node_type
))
{
node_type
!=
ngran_gNB_CUUP
)
{
char
*
gnb_ipv4_address_for_NGU
=
NULL
;
char
*
gnb_ipv4_address_for_NGU
=
NULL
;
uint32_t
gnb_port_for_NGU
=
0
;
uint32_t
gnb_port_for_NGU
=
0
;
...
@@ -405,11 +401,9 @@ int create_gNB_tasks(void) {
...
@@ -405,11 +401,9 @@ int create_gNB_tasks(void) {
LOG_I
(
NR_RRC
,
"Creating NR RRC gNB Task
\n
"
);
LOG_I
(
NR_RRC
,
"Creating NR RRC gNB Task
\n
"
);
if
(
node_type
!=
ngran_gNB_CUUP
)
{
if
(
itti_create_task
(
TASK_RRC_GNB
,
rrc_gnb_task
,
NULL
)
<
0
)
{
if
(
itti_create_task
(
TASK_RRC_GNB
,
rrc_gnb_task
,
NULL
)
<
0
)
{
LOG_E
(
NR_RRC
,
"Create task for NR RRC gNB failed
\n
"
);
LOG_E
(
NR_RRC
,
"Create task for NR RRC gNB failed
\n
"
);
return
-
1
;
return
-
1
;
}
}
}
// If CU
// If CU
...
...
openair2/GNB_APP/gnb_app.c
View file @
f76a6913
...
@@ -172,13 +172,7 @@ void *gNB_app_task(void *args_p)
...
@@ -172,13 +172,7 @@ void *gNB_app_task(void *args_p)
}
}
if
(
node_type
==
ngran_gNB_CUUP
)
{
if
(
node_type
==
ngran_gNB_CUUP
)
{
if
(
itti_create_task
(
TASK_CUUP_E1
,
E1AP_CUUP_task
,
NULL
)
<
0
)
AssertFatal
(
false
,
"To run CU-UP use executable cu-up
\n
"
);
AssertFatal
(
false
,
"Create task for E1AP UP failed
\n
"
);
MessageDef
*
msg
=
RCconfig_NR_CU_E1
();
if
(
msg
)
itti_send_msg_to_task
(
TASK_CUUP_E1
,
0
,
msg
);
else
AssertFatal
(
false
,
"Send inti to task for E1AP UP failed
\n
"
);
}
}
if
(
NODE_IS_DU
(
node_type
))
{
if
(
NODE_IS_DU
(
node_type
))
{
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
f76a6913
...
@@ -692,7 +692,6 @@ rrc_gNB_generate_defaultRRCReconfiguration(
...
@@ -692,7 +692,6 @@ rrc_gNB_generate_defaultRRCReconfiguration(
break
;
break
;
case
ngran_gNB_DU
:
case
ngran_gNB_DU
:
case
ngran_gNB_CUUP
:
// nothing to do for DU
// nothing to do for DU
AssertFatal
(
1
==
0
,
"nothing to do for DU
\n
"
);
AssertFatal
(
1
==
0
,
"nothing to do for DU
\n
"
);
break
;
break
;
...
@@ -4208,7 +4207,6 @@ rrc_gNB_generate_SecurityModeCommand(
...
@@ -4208,7 +4207,6 @@ rrc_gNB_generate_SecurityModeCommand(
break
;
break
;
case
ngran_gNB_DU
:
case
ngran_gNB_DU
:
case
ngran_gNB_CUUP
:
// nothing to do for DU
// nothing to do for DU
AssertFatal
(
1
==
0
,
"nothing to do for DU
\n
"
);
AssertFatal
(
1
==
0
,
"nothing to do for DU
\n
"
);
break
;
break
;
...
@@ -4268,7 +4266,6 @@ rrc_gNB_generate_UECapabilityEnquiry(
...
@@ -4268,7 +4266,6 @@ rrc_gNB_generate_UECapabilityEnquiry(
break
;
break
;
case
ngran_gNB_DU
:
case
ngran_gNB_DU
:
case
ngran_gNB_CUUP
:
// nothing to do for DU
// nothing to do for DU
AssertFatal
(
1
==
0
,
"nothing to do for DU
\n
"
);
AssertFatal
(
1
==
0
,
"nothing to do for DU
\n
"
);
break
;
break
;
...
...
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