Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
dfad1884
Commit
dfad1884
authored
Dec 17, 2020
by
Xue Song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
read config about f1
parent
12683c6e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
60 additions
and
1 deletion
+60
-1
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+49
-1
openair2/GNB_APP/gnb_paramdef.h
openair2/GNB_APP/gnb_paramdef.h
+3
-0
openair2/RRC/NR/nr_rrc_defs.h
openair2/RRC/NR/nr_rrc_defs.h
+8
-0
No files found.
openair2/GNB_APP/gnb_config.c
View file @
dfad1884
...
...
@@ -76,6 +76,7 @@
#include "NR_EUTRA-MBSFN-SubframeConfig.h"
extern
uint16_t
sf_ahead
;
int
macrlc_has_f1
=
0
;
extern
int
config_check_band_frequencies
(
int
ind
,
int16_t
band
,
uint64_t
downlink_frequency
,
int32_t
uplink_frequency_offset
,
uint32_t
frame_type
);
...
...
@@ -469,6 +470,17 @@ void RCconfig_nr_macrlc() {
if
(
strcmp
(
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_TRANSPORT_N_PREFERENCE_IDX
].
strptr
),
"local_RRC"
)
==
0
)
{
// check number of instances is same as RRC/PDCP
}
else
if
(
strcmp
(
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_TRANSPORT_N_PREFERENCE_IDX
].
strptr
),
"f1"
)
==
0
)
{
printf
(
"Configuring F1 interfaces for MACRLC
\n
"
);
RC
.
nrmac
[
j
]
->
eth_params_n
.
local_if_name
=
strdup
(
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_LOCAL_N_IF_NAME_IDX
].
strptr
));
RC
.
nrmac
[
j
]
->
eth_params_n
.
my_addr
=
strdup
(
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_LOCAL_N_ADDRESS_IDX
].
strptr
));
RC
.
nrmac
[
j
]
->
eth_params_n
.
remote_addr
=
strdup
(
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_REMOTE_N_ADDRESS_IDX
].
strptr
));
RC
.
nrmac
[
j
]
->
eth_params_n
.
my_portc
=
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_LOCAL_N_PORTC_IDX
].
iptr
);
RC
.
nrmac
[
j
]
->
eth_params_n
.
remote_portc
=
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_REMOTE_N_PORTC_IDX
].
iptr
);
RC
.
nrmac
[
j
]
->
eth_params_n
.
my_portd
=
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_LOCAL_N_PORTD_IDX
].
iptr
);
RC
.
nrmac
[
j
]
->
eth_params_n
.
remote_portd
=
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_REMOTE_N_PORTD_IDX
].
iptr
);;
RC
.
nrmac
[
j
]
->
eth_params_n
.
transp_preference
=
ETH_UDP_MODE
;
macrlc_has_f1
=
1
;
}
else
if
(
strcmp
(
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_TRANSPORT_N_PREFERENCE_IDX
].
strptr
),
"cudu"
)
==
0
)
{
RC
.
nrmac
[
j
]
->
eth_params_n
.
local_if_name
=
strdup
(
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_LOCAL_N_IF_NAME_IDX
].
strptr
));
RC
.
nrmac
[
j
]
->
eth_params_n
.
my_addr
=
strdup
(
*
(
MacRLC_ParamList
.
paramarray
[
j
][
MACRLC_LOCAL_N_ADDRESS_IDX
].
strptr
));
...
...
@@ -504,7 +516,8 @@ void RCconfig_nr_macrlc() {
}
}
// for (j=0;j<RC.nb_nr_macrlc_inst;j++)
}
else
{
// MacRLC_ParamList.numelt > 0
AssertFatal
(
0
,
"No "
CONFIG_STRING_MACRLC_LIST
" configuration found"
);
printf
(
"No %s configuration found
\n
"
,
CONFIG_STRING_MACRLC_LIST
);
// AssertFatal (0,"No " CONFIG_STRING_MACRLC_LIST " configuration found");
}
}
...
...
@@ -589,6 +602,41 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
fix_scc
(
scc
,
ssb_bitmap
);
}
printf
(
"NRRRC %d: Southbound Transport %s
\n
"
,
i
,
*
(
GNBParamList
.
paramarray
[
i
][
GNB_TRANSPORT_S_PREFERENCE_IDX
].
strptr
));
if
(
strcmp
(
*
(
GNBParamList
.
paramarray
[
i
][
GNB_TRANSPORT_S_PREFERENCE_IDX
].
strptr
),
"f1"
)
==
0
)
{
paramdef_t
SCTPParams
[]
=
GNBSCTPPARAMS_DESC
;
char
aprefix
[
MAX_OPTNAME_SIZE
*
2
+
8
];
sprintf
(
aprefix
,
"%s.[%u].%s"
,
GNB_CONFIG_STRING_GNB_LIST
,
i
,
GNB_CONFIG_STRING_SCTP_CONFIG
);
config_get
(
SCTPParams
,
sizeof
(
SCTPParams
)
/
sizeof
(
paramdef_t
),
aprefix
);
rrc
->
node_id
=
*
(
GNBParamList
.
paramarray
[
0
][
GNB_GNB_ID_IDX
].
uptr
);
LOG_I
(
GNB_APP
,
"F1AP: gNB_CU_id[%d] %d
\n
"
,
k
,
rrc
->
node_id
);
rrc
->
node_name
=
strdup
(
*
(
GNBParamList
.
paramarray
[
0
][
GNB_GNB_NAME_IDX
].
strptr
));
LOG_I
(
GNB_APP
,
"F1AP: gNB_CU_name[%d] %s
\n
"
,
k
,
rrc
->
node_name
);
rrc
->
eth_params_s
.
local_if_name
=
strdup
(
*
(
GNBParamList
.
paramarray
[
i
][
GNB_LOCAL_S_IF_NAME_IDX
].
strptr
));
rrc
->
eth_params_s
.
my_addr
=
strdup
(
*
(
GNBParamList
.
paramarray
[
i
][
GNB_LOCAL_S_ADDRESS_IDX
].
strptr
));
rrc
->
eth_params_s
.
remote_addr
=
strdup
(
*
(
GNBParamList
.
paramarray
[
i
][
GNB_REMOTE_S_ADDRESS_IDX
].
strptr
));
rrc
->
eth_params_s
.
my_portc
=
*
(
GNBParamList
.
paramarray
[
i
][
GNB_LOCAL_S_PORTC_IDX
].
uptr
);
rrc
->
eth_params_s
.
remote_portc
=
*
(
GNBParamList
.
paramarray
[
i
][
GNB_REMOTE_S_PORTC_IDX
].
uptr
);
rrc
->
eth_params_s
.
my_portd
=
*
(
GNBParamList
.
paramarray
[
i
][
GNB_LOCAL_S_PORTD_IDX
].
uptr
);
rrc
->
eth_params_s
.
remote_portd
=
*
(
GNBParamList
.
paramarray
[
i
][
GNB_REMOTE_S_PORTD_IDX
].
uptr
);
rrc
->
eth_params_s
.
transp_preference
=
ETH_UDP_MODE
;
rrc
->
node_type
=
ngran_gNB_CU
;
rrc
->
sctp_in_streams
=
(
uint16_t
)
*
(
SCTPParams
[
GNB_SCTP_INSTREAMS_IDX
].
uptr
);
rrc
->
sctp_out_streams
=
(
uint16_t
)
*
(
SCTPParams
[
GNB_SCTP_OUTSTREAMS_IDX
].
uptr
);
}
else
{
// set to ngran_gNB for now, it will get set to ngran_gNB_DU if macrlc entity which uses F1 is present
// Note: we will have to handle the case of ngran_ng_gNB_DU
if
(
macrlc_has_f1
==
0
)
{
rrc
->
node_type
=
ngran_gNB
;
LOG_I
(
RRC
,
"Setting node_type to ngran_eNB
\n
"
);
}
else
{
rrc
->
node_type
=
ngran_gNB_DU
;
LOG_I
(
RRC
,
"Setting node_type to ngran_eNB_DU
\n
"
);
}
}
rrc
->
nr_cellid
=
(
uint64_t
)
*
(
GNBParamList
.
paramarray
[
i
][
ENB_NRCELLID_IDX
].
u64ptr
);
if
(
strcmp
(
*
(
GNBParamList
.
paramarray
[
i
][
GNB_TRANSPORT_S_PREFERENCE_IDX
].
strptr
),
"local_mac"
)
==
0
)
{
}
else
if
(
strcmp
(
*
(
GNBParamList
.
paramarray
[
i
][
GNB_TRANSPORT_S_PREFERENCE_IDX
].
strptr
),
"cudu"
)
==
0
)
{
...
...
openair2/GNB_APP/gnb_paramdef.h
View file @
dfad1884
...
...
@@ -117,6 +117,7 @@ typedef enum {
#define GNB_CONFIG_STRING_PDSCHANTENNAPORTS "pdsch_AntennaPorts"
#define GNB_CONFIG_STRING_PUSCHTARGETPOWX10 "pusch_TargetSNRx10"
#define GNB_CONFIG_STRING_PUCCHTARGETPOWX10 "pucch_TargetSNRx10"
#define GNB_CONFIG_STRING_NR_CELLID "nr_cellid"
typedef
struct
ccparams_nr_x2
{
...
...
@@ -165,6 +166,7 @@ typedef struct ccparams_nr_x2 {
{GNB_CONFIG_STRING_PDSCHANTENNAPORTS, NULL, 0, iptr:NULL, defintval:1, TYPE_INT, 0}, \
{GNB_CONFIG_STRING_PUSCHTARGETPOWX10, NULL, 0, iptr:NULL, defintval:200, TYPE_INT, 0}, \
{GNB_CONFIG_STRING_PUCCHTARGETPOWX10, NULL, 0, iptr:NULL, defintval:200, TYPE_INT, 0}, \
{GNB_CONFIG_STRING_NR_CELLID, NULL, 0, u64ptr:NULL, defint64val:0, TYPE_UINT64, 0}, \
}
#define GNB_GNB_ID_IDX 0
...
...
@@ -185,6 +187,7 @@ typedef struct ccparams_nr_x2 {
#define GNB_PDSCH_ANTENNAPORTS_IDX 15
#define GNB_PUSCH_TARGETPOW_X10_IDX 16
#define GNB_PUCCH_TARGETPOW_X10_IDX 17
#define GNB_NRCELLID_IDX 18
#define TRACKING_AREA_CODE_OKRANGE {0x0001,0xFFFD}
#define GNBPARAMS_CHECK { \
...
...
openair2/RRC/NR/nr_rrc_defs.h
View file @
dfad1884
...
...
@@ -438,6 +438,9 @@ typedef struct {
//---NR---(completely change)---------------------
typedef
struct
gNB_RRC_INST_s
{
ngran_node_t
node_type
;
uint32_t
node_id
;
char
*
node_name
;
int
module_id
;
eth_params_t
eth_params_s
;
rrc_gNB_carrier_data_t
carrier
;
...
...
@@ -449,6 +452,9 @@ typedef struct gNB_RRC_INST_s {
hash_table_t
*
initial_id2_ngap_ids
;
hash_table_t
*
ngap_id2_ngap_ids
;
/// NR cell id
uint64_t
nr_cellid
;
// other PLMN parameters
/// Mobile country code
int
mcc
;
...
...
@@ -465,6 +471,8 @@ typedef struct gNB_RRC_INST_s {
int
srb1_timer_reordering
;
int
srb1_timer_status_prohibit
;
int
srs_enable
[
MAX_NUM_CCs
];
uint16_t
sctp_in_streams
;
uint16_t
sctp_out_streams
;
}
gNB_RRC_INST
;
...
...
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