Modified -O option used for eNB configuration.
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4961 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -140,6 +140,7 @@ char UE_flag=0;
|
|||||||
u8 eNB_id=0,UE_id=0;
|
u8 eNB_id=0,UE_id=0;
|
||||||
|
|
||||||
u32 carrier_freq[4]= {1907600000,1907600000,1907600000,1907600000};
|
u32 carrier_freq[4]= {1907600000,1907600000,1907600000,1907600000};
|
||||||
|
char *g_conf_config_file_name = NULL;
|
||||||
|
|
||||||
unsigned int lost_bytes=0;
|
unsigned int lost_bytes=0;
|
||||||
|
|
||||||
@@ -699,100 +700,88 @@ int main(int argc, char **argv) {
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case 'O':
|
case 'O':
|
||||||
#if defined(ENABLE_USE_MME)
|
g_conf_config_file_name = optarg;
|
||||||
EPC_MODE_ENABLED = 1;
|
|
||||||
if (optarg == NULL) /* No IP address provided: use localhost */
|
|
||||||
{
|
|
||||||
memcpy(&EPC_MODE_MME_ADDRESS[0], "127.0.0.1", 10);
|
|
||||||
} else {
|
|
||||||
u8 ip_length = strlen(optarg) + 1;
|
|
||||||
memcpy(&EPC_MODE_MME_ADDRESS[0], optarg,
|
|
||||||
ip_length > 16 ? 16 : ip_length);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
printf("You enabled mme mode without s1ap compiled...\n");
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case 'F':
|
case 'F':
|
||||||
sprintf(rxg_fname,"%srxg.lime",optarg);
|
sprintf(rxg_fname,"%srxg.lime",optarg);
|
||||||
rxg_fd = fopen(rxg_fname,"r");
|
rxg_fd = fopen(rxg_fname,"r");
|
||||||
if (rxg_fd) {
|
if (rxg_fd) {
|
||||||
printf("Loading RX Gain parameters from %s\n",rxg_fname);
|
printf("Loading RX Gain parameters from %s\n",rxg_fname);
|
||||||
l=0;
|
l=0;
|
||||||
while (fgets(line, sizeof(line), rxg_fd)) {
|
while (fgets(line, sizeof(line), rxg_fd)) {
|
||||||
if ((strlen(line)==0) || (*line == '#')) continue; //ignore empty or comment lines
|
if ((strlen(line)==0) || (*line == '#')) continue; //ignore empty or comment lines
|
||||||
else {
|
else {
|
||||||
if (l==0) sscanf(line,"%d %d %d %d",&rxg_max[0],&rxg_max[1],&rxg_max[2],&rxg_max[3]);
|
if (l==0) sscanf(line,"%d %d %d %d",&rxg_max[0],&rxg_max[1],&rxg_max[2],&rxg_max[3]);
|
||||||
if (l==1) sscanf(line,"%d %d %d %d",&rxg_med[0],&rxg_med[1],&rxg_med[2],&rxg_med[3]);
|
if (l==1) sscanf(line,"%d %d %d %d",&rxg_med[0],&rxg_med[1],&rxg_med[2],&rxg_med[3]);
|
||||||
if (l==2) sscanf(line,"%d %d %d %d",&rxg_byp[0],&rxg_byp[1],&rxg_byp[2],&rxg_byp[3]);
|
if (l==2) sscanf(line,"%d %d %d %d",&rxg_byp[0],&rxg_byp[1],&rxg_byp[2],&rxg_byp[3]);
|
||||||
l++;
|
l++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf("%s not found, running with defaults\n",rxg_fname);
|
printf("%s not found, running with defaults\n",rxg_fname);
|
||||||
|
|
||||||
sprintf(txg_fname,"%stxg.lime",optarg);
|
sprintf(txg_fname,"%stxg.lime",optarg);
|
||||||
txg_fd = fopen(txg_fname,"r");
|
txg_fd = fopen(txg_fname,"r");
|
||||||
if (txg_fd) {
|
if (txg_fd) {
|
||||||
printf("Loading TX Gain parameters from %s\n",txg_fname);
|
printf("Loading TX Gain parameters from %s\n",txg_fname);
|
||||||
l=0;
|
l=0;
|
||||||
while (fgets(line, sizeof(line), txg_fd)) {
|
while (fgets(line, sizeof(line), txg_fd)) {
|
||||||
if ((strlen(line)==0) || (*line == '#')) {
|
if ((strlen(line)==0) || (*line == '#')) {
|
||||||
continue; //ignore empty or comment lines
|
continue; //ignore empty or comment lines
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (l==0) sscanf(line,"%d %d %d %d",&txgain[0],&txgain[1],&txgain[2],&txgain[3]);
|
if (l==0) sscanf(line,"%d %d %d %d",&txgain[0],&txgain[1],&txgain[2],&txgain[3]);
|
||||||
if (l==1) sscanf(line,"%d",&tx_max_power);
|
if (l==1) sscanf(line,"%d",&tx_max_power);
|
||||||
l++;
|
l++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf("%s not found, running with defaults\n",txg_fname);
|
printf("%s not found, running with defaults\n",txg_fname);
|
||||||
|
|
||||||
sprintf(rflo_fname,"%srflo.lime",optarg);
|
sprintf(rflo_fname,"%srflo.lime",optarg);
|
||||||
rflo_fd = fopen(rflo_fname,"r");
|
rflo_fd = fopen(rflo_fname,"r");
|
||||||
if (rflo_fd) {
|
if (rflo_fd) {
|
||||||
printf("Loading RF LO parameters from %s\n",rflo_fname);
|
printf("Loading RF LO parameters from %s\n",rflo_fname);
|
||||||
fscanf(rflo_fd,"%d %d %d %d",&rf_local[0],&rf_local[1],&rf_local[2],&rf_local[3]);
|
fscanf(rflo_fd,"%d %d %d %d",&rf_local[0],&rf_local[1],&rf_local[2],&rf_local[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf("%s not found, running with defaults\n",rflo_fname);
|
printf("%s not found, running with defaults\n",rflo_fname);
|
||||||
|
|
||||||
sprintf(rfdc_fname,"%srfdc.lime",optarg);
|
sprintf(rfdc_fname,"%srfdc.lime",optarg);
|
||||||
rfdc_fd = fopen(rfdc_fname,"r");
|
rfdc_fd = fopen(rfdc_fname,"r");
|
||||||
if (rfdc_fd) {
|
if (rfdc_fd) {
|
||||||
printf("Loading RF DC parameters from %s\n",rfdc_fname);
|
printf("Loading RF DC parameters from %s\n",rfdc_fname);
|
||||||
fscanf(rfdc_fd,"%d %d %d %d",&rf_rxdc[0],&rf_rxdc[1],&rf_rxdc[2],&rf_rxdc[3]);
|
fscanf(rfdc_fd,"%d %d %d %d",&rf_rxdc[0],&rf_rxdc[1],&rf_rxdc[2],&rf_rxdc[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf("%s not found, running with defaults\n",rfdc_fname);
|
printf("%s not found, running with defaults\n",rfdc_fname);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
/*
|
/*
|
||||||
case 256:
|
case 256:
|
||||||
mode = rx_calib_ue;
|
mode = rx_calib_ue;
|
||||||
rx_input_level_dBm = atoi(optarg);
|
rx_input_level_dBm = atoi(optarg);
|
||||||
printf("Running with UE calibration on (LNA max), input level %d dBm\n",rx_input_level_dBm);
|
printf("Running with UE calibration on (LNA max), input level %d dBm\n",rx_input_level_dBm);
|
||||||
break;
|
break;
|
||||||
case 257:
|
case 257:
|
||||||
mode = rx_calib_ue_med;
|
mode = rx_calib_ue_med;
|
||||||
rx_input_level_dBm = atoi(optarg);
|
rx_input_level_dBm = atoi(optarg);
|
||||||
printf("Running with UE calibration on (LNA med), input level %d dBm\n",rx_input_level_dBm);
|
printf("Running with UE calibration on (LNA med), input level %d dBm\n",rx_input_level_dBm);
|
||||||
break;
|
break;
|
||||||
case 258:
|
case 258:
|
||||||
mode = rx_calib_ue_byp;
|
mode = rx_calib_ue_byp;
|
||||||
rx_input_level_dBm = atoi(optarg);
|
rx_input_level_dBm = atoi(optarg);
|
||||||
printf("Running with UE calibration on (LNA byp), input level %d dBm\n",rx_input_level_dBm);
|
printf("Running with UE calibration on (LNA byp), input level %d dBm\n",rx_input_level_dBm);
|
||||||
break;
|
break;
|
||||||
case 259:
|
case 259:
|
||||||
mode = debug_prach;
|
mode = debug_prach;
|
||||||
break;
|
break;
|
||||||
case 260:
|
case 260:
|
||||||
mode = no_L2_connect;
|
mode = no_L2_connect;
|
||||||
break;
|
break;
|
||||||
*/
|
*/
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -168,6 +168,7 @@ char UE_flag=0;
|
|||||||
u8 eNB_id=0,UE_id=0;
|
u8 eNB_id=0,UE_id=0;
|
||||||
|
|
||||||
u32 carrier_freq[4]= {1907600000,1907600000,1907600000,1907600000};
|
u32 carrier_freq[4]= {1907600000,1907600000,1907600000,1907600000};
|
||||||
|
char *g_conf_config_file_name = NULL;
|
||||||
|
|
||||||
struct timing_info_t {
|
struct timing_info_t {
|
||||||
//unsigned int frame, hw_slot, last_slot, next_slot;
|
//unsigned int frame, hw_slot, last_slot, next_slot;
|
||||||
@@ -1126,100 +1127,88 @@ int main(int argc, char **argv) {
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case 'O':
|
case 'O':
|
||||||
#if defined(ENABLE_USE_MME)
|
g_conf_config_file_name = optarg;
|
||||||
EPC_MODE_ENABLED = 1;
|
|
||||||
if (optarg == NULL) /* No IP address provided: use localhost */
|
|
||||||
{
|
|
||||||
memcpy(&EPC_MODE_MME_ADDRESS[0], "127.0.0.1", 10);
|
|
||||||
} else {
|
|
||||||
u8 ip_length = strlen(optarg) + 1;
|
|
||||||
memcpy(&EPC_MODE_MME_ADDRESS[0], optarg,
|
|
||||||
ip_length > 16 ? 16 : ip_length);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
printf("You enabled mme mode without s1ap compiled...\n");
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case 'F':
|
case 'F':
|
||||||
sprintf(rxg_fname,"%srxg.lime",optarg);
|
sprintf(rxg_fname,"%srxg.lime",optarg);
|
||||||
rxg_fd = fopen(rxg_fname,"r");
|
rxg_fd = fopen(rxg_fname,"r");
|
||||||
if (rxg_fd) {
|
if (rxg_fd) {
|
||||||
printf("Loading RX Gain parameters from %s\n",rxg_fname);
|
printf("Loading RX Gain parameters from %s\n",rxg_fname);
|
||||||
l=0;
|
l=0;
|
||||||
while (fgets(line, sizeof(line), rxg_fd)) {
|
while (fgets(line, sizeof(line), rxg_fd)) {
|
||||||
if ((strlen(line)==0) || (*line == '#')) continue; //ignore empty or comment lines
|
if ((strlen(line)==0) || (*line == '#')) continue; //ignore empty or comment lines
|
||||||
else {
|
else {
|
||||||
if (l==0) sscanf(line,"%d %d %d %d",&rxg_max[0],&rxg_max[1],&rxg_max[2],&rxg_max[3]);
|
if (l==0) sscanf(line,"%d %d %d %d",&rxg_max[0],&rxg_max[1],&rxg_max[2],&rxg_max[3]);
|
||||||
if (l==1) sscanf(line,"%d %d %d %d",&rxg_med[0],&rxg_med[1],&rxg_med[2],&rxg_med[3]);
|
if (l==1) sscanf(line,"%d %d %d %d",&rxg_med[0],&rxg_med[1],&rxg_med[2],&rxg_med[3]);
|
||||||
if (l==2) sscanf(line,"%d %d %d %d",&rxg_byp[0],&rxg_byp[1],&rxg_byp[2],&rxg_byp[3]);
|
if (l==2) sscanf(line,"%d %d %d %d",&rxg_byp[0],&rxg_byp[1],&rxg_byp[2],&rxg_byp[3]);
|
||||||
l++;
|
l++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf("%s not found, running with defaults\n",rxg_fname);
|
printf("%s not found, running with defaults\n",rxg_fname);
|
||||||
|
|
||||||
sprintf(txg_fname,"%stxg.lime",optarg);
|
sprintf(txg_fname,"%stxg.lime",optarg);
|
||||||
txg_fd = fopen(txg_fname,"r");
|
txg_fd = fopen(txg_fname,"r");
|
||||||
if (txg_fd) {
|
if (txg_fd) {
|
||||||
printf("Loading TX Gain parameters from %s\n",txg_fname);
|
printf("Loading TX Gain parameters from %s\n",txg_fname);
|
||||||
l=0;
|
l=0;
|
||||||
while (fgets(line, sizeof(line), txg_fd)) {
|
while (fgets(line, sizeof(line), txg_fd)) {
|
||||||
if ((strlen(line)==0) || (*line == '#')) {
|
if ((strlen(line)==0) || (*line == '#')) {
|
||||||
continue; //ignore empty or comment lines
|
continue; //ignore empty or comment lines
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (l==0) sscanf(line,"%d %d %d %d",&txgain[0],&txgain[1],&txgain[2],&txgain[3]);
|
if (l==0) sscanf(line,"%d %d %d %d",&txgain[0],&txgain[1],&txgain[2],&txgain[3]);
|
||||||
if (l==1) sscanf(line,"%d",&tx_max_power);
|
if (l==1) sscanf(line,"%d",&tx_max_power);
|
||||||
l++;
|
l++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf("%s not found, running with defaults\n",txg_fname);
|
printf("%s not found, running with defaults\n",txg_fname);
|
||||||
|
|
||||||
sprintf(rflo_fname,"%srflo.lime",optarg);
|
sprintf(rflo_fname,"%srflo.lime",optarg);
|
||||||
rflo_fd = fopen(rflo_fname,"r");
|
rflo_fd = fopen(rflo_fname,"r");
|
||||||
if (rflo_fd) {
|
if (rflo_fd) {
|
||||||
printf("Loading RF LO parameters from %s\n",rflo_fname);
|
printf("Loading RF LO parameters from %s\n",rflo_fname);
|
||||||
if (fscanf(rflo_fd,"%d %d %d %d",&rf_local[0],&rf_local[1],&rf_local[2],&rf_local[3]) < 4)
|
if (fscanf(rflo_fd,"%d %d %d %d",&rf_local[0],&rf_local[1],&rf_local[2],&rf_local[3]) < 4)
|
||||||
LOG_E(EMU, "Error parsing \"%s\"", rflo_fname);
|
LOG_E(EMU, "Error parsing \"%s\"", rflo_fname);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf("%s not found, running with defaults\n",rflo_fname);
|
printf("%s not found, running with defaults\n",rflo_fname);
|
||||||
|
|
||||||
sprintf(rfdc_fname,"%srfdc.lime",optarg);
|
sprintf(rfdc_fname,"%srfdc.lime",optarg);
|
||||||
rfdc_fd = fopen(rfdc_fname,"r");
|
rfdc_fd = fopen(rfdc_fname,"r");
|
||||||
if (rfdc_fd) {
|
if (rfdc_fd) {
|
||||||
printf("Loading RF DC parameters from %s\n",rfdc_fname);
|
printf("Loading RF DC parameters from %s\n",rfdc_fname);
|
||||||
if (fscanf(rfdc_fd,"%d %d %d %d",&rf_rxdc[0],&rf_rxdc[1],&rf_rxdc[2],&rf_rxdc[3]) < 4)
|
if (fscanf(rfdc_fd,"%d %d %d %d",&rf_rxdc[0],&rf_rxdc[1],&rf_rxdc[2],&rf_rxdc[3]) < 4)
|
||||||
LOG_E(EMU, "Error parsing \"%s\"", rfdc_fname);
|
LOG_E(EMU, "Error parsing \"%s\"", rfdc_fname);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf("%s not found, running with defaults\n",rfdc_fname);
|
printf("%s not found, running with defaults\n",rfdc_fname);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 256:
|
case 256:
|
||||||
mode = rx_calib_ue;
|
mode = rx_calib_ue;
|
||||||
rx_input_level_dBm = atoi(optarg);
|
rx_input_level_dBm = atoi(optarg);
|
||||||
printf("Running with UE calibration on (LNA max), input level %d dBm\n",rx_input_level_dBm);
|
printf("Running with UE calibration on (LNA max), input level %d dBm\n",rx_input_level_dBm);
|
||||||
break;
|
break;
|
||||||
case 257:
|
case 257:
|
||||||
mode = rx_calib_ue_med;
|
mode = rx_calib_ue_med;
|
||||||
rx_input_level_dBm = atoi(optarg);
|
rx_input_level_dBm = atoi(optarg);
|
||||||
printf("Running with UE calibration on (LNA med), input level %d dBm\n",rx_input_level_dBm);
|
printf("Running with UE calibration on (LNA med), input level %d dBm\n",rx_input_level_dBm);
|
||||||
break;
|
break;
|
||||||
case 258:
|
case 258:
|
||||||
mode = rx_calib_ue_byp;
|
mode = rx_calib_ue_byp;
|
||||||
rx_input_level_dBm = atoi(optarg);
|
rx_input_level_dBm = atoi(optarg);
|
||||||
printf("Running with UE calibration on (LNA byp), input level %d dBm\n",rx_input_level_dBm);
|
printf("Running with UE calibration on (LNA byp), input level %d dBm\n",rx_input_level_dBm);
|
||||||
break;
|
break;
|
||||||
case 259:
|
case 259:
|
||||||
mode = debug_prach;
|
mode = debug_prach;
|
||||||
break;
|
break;
|
||||||
case 260:
|
case 260:
|
||||||
mode = no_L2_connect;
|
mode = no_L2_connect;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1344,6 +1333,14 @@ int main(int argc, char **argv) {
|
|||||||
g_log->log_component[OTG].flag = LOG_HIGH;
|
g_log->log_component[OTG].flag = LOG_HIGH;
|
||||||
g_log->log_component[RRC].level = LOG_INFO;
|
g_log->log_component[RRC].level = LOG_INFO;
|
||||||
g_log->log_component[RRC].flag = LOG_HIGH;
|
g_log->log_component[RRC].flag = LOG_HIGH;
|
||||||
|
#if defined(ENABLE_ITTI)
|
||||||
|
g_log->log_component[EMU].level = LOG_INFO;
|
||||||
|
g_log->log_component[EMU].flag = LOG_HIGH;
|
||||||
|
# if defined(ENABLE_USE_MME)
|
||||||
|
g_log->log_component[NAS].level = LOG_INFO;
|
||||||
|
g_log->log_component[NAS].flag = LOG_HIGH;
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
PHY_vars_UE_g = malloc(sizeof(PHY_VARS_UE*));
|
PHY_vars_UE_g = malloc(sizeof(PHY_VARS_UE*));
|
||||||
PHY_vars_UE_g[0] = init_lte_UE(frame_parms, UE_id,abstraction_flag,transmission_mode);
|
PHY_vars_UE_g[0] = init_lte_UE(frame_parms, UE_id,abstraction_flag,transmission_mode);
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ void help(void) {
|
|||||||
printf ("-m Gives a fixed DL mcs\n");
|
printf ("-m Gives a fixed DL mcs\n");
|
||||||
printf ("-M Set the machine ID for Ethernet-based emulation\n");
|
printf ("-M Set the machine ID for Ethernet-based emulation\n");
|
||||||
printf ("-n Set the number of frames for the simulation\n");
|
printf ("-n Set the number of frames for the simulation\n");
|
||||||
printf ("-O [mme ipv4 address] Enable MME mode\n");
|
printf ("-O [enb_conf_file] eNB configuration file name\n");
|
||||||
printf ("-p Set the total number of machine in emulation - valid if M is set\n");
|
printf ("-p Set the total number of machine in emulation - valid if M is set\n");
|
||||||
printf ("-P [trace type] Enable protocol analyzer. Possible values for OPT:\n");
|
printf ("-P [trace type] Enable protocol analyzer. Possible values for OPT:\n");
|
||||||
printf (" - wireshark: Enable tracing of layers above PHY using an UDP socket\n");
|
printf (" - wireshark: Enable tracing of layers above PHY using an UDP socket\n");
|
||||||
|
|||||||
@@ -118,9 +118,9 @@ void get_simulation_options(int argc, char *argv[]) {
|
|||||||
char c;
|
char c;
|
||||||
int option_index;
|
int option_index;
|
||||||
static struct option long_options[] = {
|
static struct option long_options[] = {
|
||||||
{"config-file", required_argument, 0, 0},
|
{"enb-conf", required_argument, 0, 0},
|
||||||
{"pdcp_period", 1, 0, 0},
|
{"pdcp_period", required_argument, 0, 0},
|
||||||
{"omg_period", 1, 0, 0},
|
{"omg_period", required_argument, 0, 0},
|
||||||
{"enb-ral-listening-port", required_argument, 0, 0},
|
{"enb-ral-listening-port", required_argument, 0, 0},
|
||||||
{"enb-ral-ip-address", required_argument, 0, 0},
|
{"enb-ral-ip-address", required_argument, 0, 0},
|
||||||
{"enb-ral-link-id", required_argument, 0, 0},
|
{"enb-ral-link-id", required_argument, 0, 0},
|
||||||
@@ -141,10 +141,10 @@ void get_simulation_options(int argc, char *argv[]) {
|
|||||||
while ((c = getopt_long (argc, argv, "aA:b:B:c:C:D:d:eE:f:FGg:hHi:IJ:j:k:K:l:L:m:M:n:N:oO:p:P:Q:rR:s:S:t:T:u:U:vV:w:W:x:X:y:Y:z:Z:", long_options, &option_index)) != -1) {
|
while ((c = getopt_long (argc, argv, "aA:b:B:c:C:D:d:eE:f:FGg:hHi:IJ:j:k:K:l:L:m:M:n:N:oO:p:P:Q:rR:s:S:t:T:u:U:vV:w:W:x:X:y:Y:z:Z:", long_options, &option_index)) != -1) {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 0:
|
case 0:
|
||||||
if (! strcmp(long_options[option_index].name, "config-file")) {
|
if (! strcmp(long_options[option_index].name, "enb-conf")) {
|
||||||
if (optarg) {
|
if (optarg) {
|
||||||
g_conf_config_file_name = strdup(optarg);
|
g_conf_config_file_name = strdup(optarg);
|
||||||
printf("config file is %s\n", g_conf_config_file_name);
|
printf("eNB configuration file is %s\n", g_conf_config_file_name);
|
||||||
}
|
}
|
||||||
} else if (! strcmp(long_options[option_index].name, "pdcp_period")) {
|
} else if (! strcmp(long_options[option_index].name, "pdcp_period")) {
|
||||||
if (optarg) {
|
if (optarg) {
|
||||||
@@ -462,19 +462,7 @@ void get_simulation_options(int argc, char *argv[]) {
|
|||||||
/* Sebastien ROUX: Reserved for future use (currently used in ltenow branch) */
|
/* Sebastien ROUX: Reserved for future use (currently used in ltenow branch) */
|
||||||
break;
|
break;
|
||||||
case 'O':
|
case 'O':
|
||||||
#if defined(ENABLE_USE_MME)
|
g_conf_config_file_name = optarg;
|
||||||
EPC_MODE_ENABLED = 1;
|
|
||||||
if (optarg == NULL) /* No IP address provided: use localhost */
|
|
||||||
{
|
|
||||||
memcpy(&EPC_MODE_MME_ADDRESS[0], "127.0.0.1", 10);
|
|
||||||
} else {
|
|
||||||
u8 ip_length = strlen(optarg) + 1;
|
|
||||||
memcpy(&EPC_MODE_MME_ADDRESS[0], optarg,
|
|
||||||
ip_length > 16 ? 16 : ip_length);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
printf("You enabled MME mode without compiling using ENABLE_USE_MME=1 ...\n");
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case 'o':
|
case 'o':
|
||||||
oai_emulation.info.slot_isr = 1;
|
oai_emulation.info.slot_isr = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user