small changes to allow for monolithic eNB execution.
This commit is contained in:
@@ -462,6 +462,7 @@ void RCconfig_RU() {
|
|||||||
libconfig_int band[256];
|
libconfig_int band[256];
|
||||||
int num_eNB4RU = 0;
|
int num_eNB4RU = 0;
|
||||||
libconfig_int eNB_list[256];
|
libconfig_int eNB_list[256];
|
||||||
|
int fronthaul_flag = CONFIG_TRUE;
|
||||||
|
|
||||||
load_config_file(&cfg);
|
load_config_file(&cfg);
|
||||||
|
|
||||||
@@ -480,51 +481,44 @@ void RCconfig_RU() {
|
|||||||
|
|
||||||
setting_ru = config_setting_get_elem(setting, j);
|
setting_ru = config_setting_get_elem(setting, j);
|
||||||
printf("rru %d/%d\n",j,RC.nb_RU);
|
printf("rru %d/%d\n",j,RC.nb_RU);
|
||||||
|
|
||||||
|
|
||||||
if ( !(
|
if ( !(
|
||||||
config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_IF_NAME, (const char **)&if_name)
|
config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_IF_NAME,(const char **)&if_name)
|
||||||
&& config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_ADDRESS, (const char **)&ipv4)
|
|
||||||
&& config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_REMOTE_ADDRESS, (const char **)&ipv4_remote)
|
|
||||||
&& config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_LOCAL_PORTC, &local_portc)
|
|
||||||
&& config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_REMOTE_PORTC, &remote_portc)
|
|
||||||
&& config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_LOCAL_PORTD, &local_portd)
|
|
||||||
&& config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_REMOTE_PORTD, &remote_portd)
|
|
||||||
&& config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_TRANSPORT_PREFERENCE, (const char **)&tr_preference)
|
|
||||||
&& config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_RF, (const char **)&local_rf)
|
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
AssertFatal (0,
|
fronthaul_flag = CONFIG_FALSE;
|
||||||
"Failed to parse configuration file %s, RU %d config !\n",
|
}
|
||||||
RC.config_file_name, j);
|
|
||||||
continue; // FIXME will prevent segfaults below, not sure what happens at function exit...
|
if (fronthaul_flag != CONFIG_TRUE) { // no fronthaul
|
||||||
}
|
|
||||||
if (strcmp(local_rf, "yes") == 0) { // this has a local RF unit so read in default params
|
AssertFatal((setting_band = config_setting_get_member(setting_ru, CONFIG_STRING_RU_BAND_LIST))!=NULL,"No allowable LTE bands\n");
|
||||||
if ( !( config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_NB_TX, &nb_tx)
|
|
||||||
&& config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_NB_RX, &nb_rx)
|
if (setting_band != NULL) num_bands = config_setting_length(setting_band);
|
||||||
&& config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_MAX_RS_EPRE, &max_pdschReferenceSignalPower)
|
else num_bands=0;
|
||||||
&& config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_MAX_RXGAIN, &max_rxgain)
|
|
||||||
// && config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_ATT_TX, &att_tx)
|
for (i=0;i<num_bands;i++) {
|
||||||
// && config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_ATT_RX, &att_rx)
|
setting_band_elem = config_setting_get_elem(setting_band,i);
|
||||||
)
|
band[i] = config_setting_get_int(setting_band_elem);
|
||||||
|
printf("RU %d: band %d\n",j,band[i]);
|
||||||
|
}
|
||||||
|
} // fronthaul_flag == CONFIG_FALSE
|
||||||
|
else { // fronthaul_flag == CONFIG_TRUE
|
||||||
|
if ( !(
|
||||||
|
config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_ADDRESS, (const char **)&ipv4)
|
||||||
|
&& config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_REMOTE_ADDRESS, (const char **)&ipv4_remote)
|
||||||
|
&& config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_LOCAL_PORTC, &local_portc)
|
||||||
|
&& config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_REMOTE_PORTC, &remote_portc)
|
||||||
|
&& config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_LOCAL_PORTD, &local_portd)
|
||||||
|
&& config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_REMOTE_PORTD, &remote_portd)
|
||||||
|
&& config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_TRANSPORT_PREFERENCE, (const char **)&tr_preference)
|
||||||
|
)
|
||||||
) {
|
) {
|
||||||
AssertFatal (0,
|
AssertFatal (0,
|
||||||
"Failed to parse configuration file %s, RU %d config !\n",
|
"Failed to parse configuration file %s, RU %d config !\n",
|
||||||
RC.config_file_name, j);
|
RC.config_file_name, j);
|
||||||
continue; // FIXME will prevent segfaults below, not sure what happens at function exit...
|
continue; // FIXME will prevent segfaults below, not sure what happens at function exit...
|
||||||
}
|
}
|
||||||
|
|
||||||
AssertFatal((setting_band = config_setting_get_member(setting_ru, CONFIG_STRING_RU_BAND_LIST))!=NULL,"No allowable LTE bands\n");
|
|
||||||
|
|
||||||
if (setting_band != NULL) num_bands = config_setting_length(setting_band);
|
|
||||||
else num_bands=0;
|
|
||||||
|
|
||||||
for (i=0;i<num_bands;i++) {
|
|
||||||
setting_band_elem = config_setting_get_elem(setting_band,i);
|
|
||||||
band[i] = config_setting_get_int(setting_band_elem);
|
|
||||||
printf("RU %d: band %d\n",j,band[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
AssertFatal((setting_eNB_list = config_setting_get_member(setting_ru, CONFIG_STRING_RU_ENB_LIST))!=NULL,"No RU<->eNB mappings\n");
|
AssertFatal((setting_eNB_list = config_setting_get_member(setting_ru, CONFIG_STRING_RU_ENB_LIST))!=NULL,"No RU<->eNB mappings\n");
|
||||||
|
|
||||||
if (setting_eNB_list != NULL) num_eNB4RU = config_setting_length(setting_eNB_list);
|
if (setting_eNB_list != NULL) num_eNB4RU = config_setting_length(setting_eNB_list);
|
||||||
@@ -536,51 +530,52 @@ void RCconfig_RU() {
|
|||||||
eNB_list[i] = config_setting_get_int(setting_eNB_list_elem);
|
eNB_list[i] = config_setting_get_int(setting_eNB_list_elem);
|
||||||
printf("RU %d: eNB %d\n",j,eNB_list[i]);
|
printf("RU %d: eNB %d\n",j,eNB_list[i]);
|
||||||
}
|
}
|
||||||
if ( !( config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_NB_TX, &nb_tx)
|
|
||||||
&& config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_NB_RX, &nb_rx)
|
|
||||||
&& config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_ATT_TX, &att_tx)
|
|
||||||
&& config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_ATT_RX, &att_rx)
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
AssertFatal (0,
|
|
||||||
"Failed to parse configuration file %s, RU %d config !\n",
|
|
||||||
RC.config_file_name, j);
|
|
||||||
continue; // FIXME will prevent segfaults below, not sure what happens at function exit...
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
printf("RU %d: Transport %s\n",j,tr_preference);
|
|
||||||
|
if ( !(
|
||||||
|
config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_NB_TX, &nb_tx)
|
||||||
|
&& config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_NB_RX, &nb_rx)
|
||||||
|
&& config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_ATT_TX, &att_tx)
|
||||||
|
&& config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_ATT_RX, &att_rx)
|
||||||
|
&& config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_RF,(const char **)&local_rf)
|
||||||
|
)) {
|
||||||
|
AssertFatal (0,
|
||||||
|
"Failed to parse configuration file %s, RU %d config !\n",
|
||||||
|
RC.config_file_name, j);
|
||||||
|
continue; // FIXME will prevent segfaults below, not sure what happens at function exit...
|
||||||
|
}
|
||||||
|
|
||||||
RC.ru[j] = (RU_t*)malloc(sizeof(RU_t));
|
RC.ru[j] = (RU_t*)malloc(sizeof(RU_t));
|
||||||
memset((void*)RC.ru[j],0,sizeof(RU_t));
|
memset((void*)RC.ru[j],0,sizeof(RU_t));
|
||||||
|
|
||||||
RC.ru[j]->idx = j;
|
RC.ru[j]->idx = j;
|
||||||
RC.ru[j]->eth_params.local_if_name = strdup(if_name);
|
|
||||||
RC.ru[j]->eth_params.my_addr = strdup(ipv4);
|
|
||||||
RC.ru[j]->eth_params.remote_addr = strdup(ipv4_remote);
|
|
||||||
RC.ru[j]->eth_params.my_portc = local_portc;
|
|
||||||
RC.ru[j]->eth_params.remote_portc = remote_portc;
|
|
||||||
RC.ru[j]->eth_params.my_portd = local_portd;
|
|
||||||
RC.ru[j]->eth_params.remote_portd = remote_portd;
|
|
||||||
RC.ru[j]->if_timing = synch_to_ext_device;
|
RC.ru[j]->if_timing = synch_to_ext_device;
|
||||||
RC.ru[j]->num_eNB = num_eNB4RU;
|
RC.ru[j]->num_eNB = num_eNB4RU;
|
||||||
|
|
||||||
if (strcmp(local_rf, "yes") == 0) {
|
if (strcmp(local_rf, "yes") == 0) {
|
||||||
if (strcmp(tr_preference, "udp") == 0) {
|
if (fronthaul_flag == CONFIG_FALSE) {
|
||||||
RC.ru[j]->if_south = LOCAL_RF;
|
RC.ru[j]->if_south = LOCAL_RF;
|
||||||
RC.ru[j]->function = NGFI_RRU_IF5;
|
RC.ru[j]->function = eNodeB_3GPP;
|
||||||
RC.ru[j]->eth_params.transp_preference = ETH_UDP_MODE;
|
}
|
||||||
} else if (strcmp(tr_preference, "raw") == 0) {
|
else {
|
||||||
RC.ru[j]->if_south = LOCAL_RF;
|
if (strcmp(tr_preference, "udp") == 0) {
|
||||||
RC.ru[j]->function = NGFI_RRU_IF5;
|
RC.ru[j]->if_south = LOCAL_RF;
|
||||||
RC.ru[j]->eth_params.transp_preference = ETH_RAW_MODE;
|
RC.ru[j]->function = NGFI_RRU_IF5;
|
||||||
} else if (strcmp(tr_preference, "udp_if4p5") == 0) {
|
RC.ru[j]->eth_params.transp_preference = ETH_UDP_MODE;
|
||||||
RC.ru[j]->if_south = LOCAL_RF;
|
} else if (strcmp(tr_preference, "raw") == 0) {
|
||||||
RC.ru[j]->function = NGFI_RRU_IF4p5;
|
RC.ru[j]->if_south = LOCAL_RF;
|
||||||
RC.ru[j]->eth_params.transp_preference = ETH_UDP_IF4p5_MODE;
|
RC.ru[j]->function = NGFI_RRU_IF5;
|
||||||
} else if (strcmp(tr_preference, "raw_if4p5") == 0) {
|
RC.ru[j]->eth_params.transp_preference = ETH_RAW_MODE;
|
||||||
RC.ru[j]->if_south = LOCAL_RF;
|
} else if (strcmp(tr_preference, "udp_if4p5") == 0) {
|
||||||
RC.ru[j]->function = NGFI_RRU_IF4p5;
|
RC.ru[j]->if_south = LOCAL_RF;
|
||||||
RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF4p5_MODE;
|
RC.ru[j]->function = NGFI_RRU_IF4p5;
|
||||||
|
RC.ru[j]->eth_params.transp_preference = ETH_UDP_IF4p5_MODE;
|
||||||
|
} else if (strcmp(tr_preference, "raw_if4p5") == 0) {
|
||||||
|
RC.ru[j]->if_south = LOCAL_RF;
|
||||||
|
RC.ru[j]->function = NGFI_RRU_IF4p5;
|
||||||
|
RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF4p5_MODE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RC.ru[j]->max_pdschReferenceSignalPower = max_pdschReferenceSignalPower;
|
RC.ru[j]->max_pdschReferenceSignalPower = max_pdschReferenceSignalPower;
|
||||||
@@ -589,7 +584,15 @@ void RCconfig_RU() {
|
|||||||
for (i=0;i<num_bands;i++) RC.ru[j]->band[i] = band[i];
|
for (i=0;i<num_bands;i++) RC.ru[j]->band[i] = band[i];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
printf("RU %d: Transport %s\n",j,tr_preference);
|
||||||
|
|
||||||
|
RC.ru[j]->eth_params.local_if_name = strdup(if_name);
|
||||||
|
RC.ru[j]->eth_params.my_addr = strdup(ipv4);
|
||||||
|
RC.ru[j]->eth_params.remote_addr = strdup(ipv4_remote);
|
||||||
|
RC.ru[j]->eth_params.my_portc = local_portc;
|
||||||
|
RC.ru[j]->eth_params.remote_portc = remote_portc;
|
||||||
|
RC.ru[j]->eth_params.my_portd = local_portd;
|
||||||
|
RC.ru[j]->eth_params.remote_portd = remote_portd;
|
||||||
for (i=0;i<num_eNB4RU;i++) RC.ru[j]->eNB_list[i] = RC.eNB[eNB_list[i]][0];
|
for (i=0;i<num_eNB4RU;i++) RC.ru[j]->eNB_list[i] = RC.eNB[eNB_list[i]][0];
|
||||||
|
|
||||||
if (strcmp(tr_preference, "udp") == 0) {
|
if (strcmp(tr_preference, "udp") == 0) {
|
||||||
|
|||||||
@@ -19,93 +19,96 @@ eNBs =
|
|||||||
|
|
||||||
mobile_network_code = "93";
|
mobile_network_code = "93";
|
||||||
|
|
||||||
////////// Physical parameters:
|
tr_s_preference = "local_mac"
|
||||||
|
|
||||||
|
////////// Physical parameters:
|
||||||
|
|
||||||
component_carriers = (
|
component_carriers = (
|
||||||
{
|
{
|
||||||
node_function = "eNodeB_3GPP";
|
node_function = "3GPP_eNODEB";
|
||||||
node_timing = "synch_to_ext_device";
|
node_timing = "synch_to_ext_device";
|
||||||
node_synch_ref = 0;
|
node_synch_ref = 0;
|
||||||
frame_type = "FDD";
|
frame_type = "FDD";
|
||||||
tdd_config = 3;
|
tdd_config = 3;
|
||||||
tdd_config_s = 0;
|
tdd_config_s = 0;
|
||||||
prefix_type = "NORMAL";
|
prefix_type = "NORMAL";
|
||||||
eutra_band = 7;
|
eutra_band = 7;
|
||||||
downlink_frequency = 2685000000L;
|
downlink_frequency = 2685000000L;
|
||||||
uplink_frequency_offset = -120000000;
|
uplink_frequency_offset = -120000000;
|
||||||
Nid_cell = 0;
|
Nid_cell = 0;
|
||||||
N_RB_DL = 50;
|
N_RB_DL = 50;
|
||||||
Nid_cell_mbsfn = 0;
|
Nid_cell_mbsfn = 0;
|
||||||
nb_antenna_ports = 1;
|
nb_antenna_ports = 1;
|
||||||
nb_antennas_tx = 1;
|
nb_antennas_tx = 1;
|
||||||
nb_antennas_rx = 1;
|
nb_antennas_rx = 1;
|
||||||
tx_gain = 90;
|
tx_gain = 90;
|
||||||
rx_gain = 120;
|
rx_gain = 125;
|
||||||
prach_root = 0;
|
pbch_repetition = "FALSE";
|
||||||
prach_config_index = 0;
|
prach_root = 0;
|
||||||
prach_high_speed = "DISABLE";
|
prach_config_index = 0;
|
||||||
prach_zero_correlation = 1;
|
prach_high_speed = "DISABLE";
|
||||||
prach_freq_offset = 2;
|
prach_zero_correlation = 1;
|
||||||
pucch_delta_shift = 1;
|
prach_freq_offset = 2;
|
||||||
pucch_nRB_CQI = 1;
|
pucch_delta_shift = 1;
|
||||||
pucch_nCS_AN = 0;
|
pucch_nRB_CQI = 1;
|
||||||
pucch_n1_AN = 32;
|
pucch_nCS_AN = 0;
|
||||||
pdsch_referenceSignalPower = -27;
|
pucch_n1_AN = 32;
|
||||||
pdsch_p_b = 0;
|
pdsch_referenceSignalPower = -27;
|
||||||
pusch_n_SB = 1;
|
pdsch_p_b = 0;
|
||||||
pusch_enable64QAM = "DISABLE";
|
pusch_n_SB = 1;
|
||||||
pusch_hoppingMode = "interSubFrame";
|
pusch_enable64QAM = "DISABLE";
|
||||||
pusch_hoppingOffset = 0;
|
pusch_hoppingMode = "interSubFrame";
|
||||||
pusch_groupHoppingEnabled = "ENABLE";
|
pusch_hoppingOffset = 0;
|
||||||
pusch_groupAssignment = 0;
|
pusch_groupHoppingEnabled = "ENABLE";
|
||||||
pusch_sequenceHoppingEnabled = "DISABLE";
|
pusch_groupAssignment = 0;
|
||||||
pusch_nDMRS1 = 1;
|
pusch_sequenceHoppingEnabled = "DISABLE";
|
||||||
phich_duration = "NORMAL";
|
pusch_nDMRS1 = 1;
|
||||||
phich_resource = "ONESIXTH";
|
phich_duration = "NORMAL";
|
||||||
srs_enable = "DISABLE";
|
phich_resource = "ONESIXTH";
|
||||||
/* srs_BandwidthConfig =;
|
srs_enable = "DISABLE";
|
||||||
srs_SubframeConfig =;
|
/* srs_BandwidthConfig =;
|
||||||
srs_ackNackST =;
|
srs_SubframeConfig =;
|
||||||
srs_MaxUpPts =;*/
|
srs_ackNackST =;
|
||||||
|
srs_MaxUpPts =;*/
|
||||||
|
|
||||||
pusch_p0_Nominal = -96;
|
pusch_p0_Nominal = -96;
|
||||||
pusch_alpha = "AL1";
|
pusch_alpha = "AL1";
|
||||||
pucch_p0_Nominal = -104;
|
pucch_p0_Nominal = -104;
|
||||||
msg3_delta_Preamble = 6;
|
msg3_delta_Preamble = 6;
|
||||||
pucch_deltaF_Format1 = "deltaF2";
|
pucch_deltaF_Format1 = "deltaF2";
|
||||||
pucch_deltaF_Format1b = "deltaF3";
|
pucch_deltaF_Format1b = "deltaF3";
|
||||||
pucch_deltaF_Format2 = "deltaF0";
|
pucch_deltaF_Format2 = "deltaF0";
|
||||||
pucch_deltaF_Format2a = "deltaF0";
|
pucch_deltaF_Format2a = "deltaF0";
|
||||||
pucch_deltaF_Format2b = "deltaF0";
|
pucch_deltaF_Format2b = "deltaF0";
|
||||||
|
|
||||||
rach_numberOfRA_Preambles = 64;
|
rach_numberOfRA_Preambles = 64;
|
||||||
rach_preamblesGroupAConfig = "DISABLE";
|
rach_preamblesGroupAConfig = "DISABLE";
|
||||||
/*
|
/*
|
||||||
rach_sizeOfRA_PreamblesGroupA = ;
|
rach_sizeOfRA_PreamblesGroupA = ;
|
||||||
rach_messageSizeGroupA = ;
|
rach_messageSizeGroupA = ;
|
||||||
rach_messagePowerOffsetGroupB = ;
|
rach_messagePowerOffsetGroupB = ;
|
||||||
*/
|
*/
|
||||||
rach_powerRampingStep = 4;
|
rach_powerRampingStep = 4;
|
||||||
rach_preambleInitialReceivedTargetPower = -104;
|
rach_preambleInitialReceivedTargetPower = -108;
|
||||||
rach_preambleTransMax = 10;
|
rach_preambleTransMax = 10;
|
||||||
rach_raResponseWindowSize = 10;
|
rach_raResponseWindowSize = 10;
|
||||||
rach_macContentionResolutionTimer = 48;
|
rach_macContentionResolutionTimer = 48;
|
||||||
rach_maxHARQ_Msg3Tx = 4;
|
rach_maxHARQ_Msg3Tx = 4;
|
||||||
|
|
||||||
pcch_default_PagingCycle = 128;
|
pcch_default_PagingCycle = 128;
|
||||||
pcch_nB = "oneT";
|
pcch_nB = "oneT";
|
||||||
bcch_modificationPeriodCoeff = 2;
|
bcch_modificationPeriodCoeff = 2;
|
||||||
ue_TimersAndConstants_t300 = 1000;
|
ue_TimersAndConstants_t300 = 1000;
|
||||||
ue_TimersAndConstants_t301 = 1000;
|
ue_TimersAndConstants_t301 = 1000;
|
||||||
ue_TimersAndConstants_t310 = 1000;
|
ue_TimersAndConstants_t310 = 1000;
|
||||||
ue_TimersAndConstants_t311 = 10000;
|
ue_TimersAndConstants_t311 = 10000;
|
||||||
ue_TimersAndConstants_n310 = 20;
|
ue_TimersAndConstants_n310 = 20;
|
||||||
ue_TimersAndConstants_n311 = 1;
|
ue_TimersAndConstants_n311 = 1;
|
||||||
|
ue_TransmissionMode = 1;
|
||||||
ue_TransmissionMode = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
srb1_parameters :
|
srb1_parameters :
|
||||||
{
|
{
|
||||||
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
|
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
|
||||||
@@ -135,6 +138,7 @@ eNBs =
|
|||||||
SCTP_OUTSTREAMS = 2;
|
SCTP_OUTSTREAMS = 2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
////////// MME parameters:
|
////////// MME parameters:
|
||||||
mme_ip_address = ( { ipv4 = "127.0.0.3";
|
mme_ip_address = ( { ipv4 = "127.0.0.3";
|
||||||
ipv6 = "192:168:30::17";
|
ipv6 = "192:168:30::17";
|
||||||
@@ -145,9 +149,9 @@ eNBs =
|
|||||||
|
|
||||||
NETWORK_INTERFACES :
|
NETWORK_INTERFACES :
|
||||||
{
|
{
|
||||||
|
|
||||||
ENB_INTERFACE_NAME_FOR_S1_MME = "lo";
|
ENB_INTERFACE_NAME_FOR_S1_MME = "lo";
|
||||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.2/24";
|
ENB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.2/24";
|
||||||
|
|
||||||
ENB_INTERFACE_NAME_FOR_S1U = "lo";
|
ENB_INTERFACE_NAME_FOR_S1U = "lo";
|
||||||
ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.5/24";
|
ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.5/24";
|
||||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||||
@@ -172,3 +176,30 @@ eNBs =
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
MACRLCs = (
|
||||||
|
{
|
||||||
|
num_cc = 1;
|
||||||
|
tr_s_preference = "local_L1";
|
||||||
|
tr_n_preference = "local_RRC";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
L1s = (
|
||||||
|
{
|
||||||
|
num_cc = 1;
|
||||||
|
tr_n_preference = "local_mac";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RUs = (
|
||||||
|
{
|
||||||
|
local_rf = "yes"
|
||||||
|
nb_tx = 1
|
||||||
|
nb_rx = 1
|
||||||
|
att_tx = 0
|
||||||
|
att_rx = 0;
|
||||||
|
bands = [7];
|
||||||
|
eNB_instances = [0];
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user