diff --git a/openair1/SCHED/phy_procedures_lte_ue.c b/openair1/SCHED/phy_procedures_lte_ue.c index e35648d9a2b31e755de5f1ffeb21bad33aa239f0..68bd7f8be1f5ca54cbc3af2d9b487de53e8bcc8d 100755 --- a/openair1/SCHED/phy_procedures_lte_ue.c +++ b/openair1/SCHED/phy_procedures_lte_ue.c @@ -3311,7 +3311,7 @@ void phy_UE_lte_measurement_thresholds_test_and_report(instance_t instanceP, ral memcpy(&PHY_MEAS_REPORT_IND (message_p).link_param, &threshold_phy_pP->link_param, - sizeof(PHY_MEAS_REPORT_IND (message_p).link_param));\ + sizeof(PHY_MEAS_REPORT_IND (message_p).link_param)); switch (threshold_phy_pP->link_param.choice) { case RAL_LINK_PARAM_CHOICE_LINK_PARAM_VAL: @@ -3322,6 +3322,7 @@ void phy_UE_lte_measurement_thresholds_test_and_report(instance_t instanceP, ral AssertFatal (1 == 0, "TO DO RAL_LINK_PARAM_CHOICE_QOS_PARAM_VAL\n"); break; } + //LOG_I(PHY,"[XXX] Sending link parameters report msg message to RRC\n"); itti_send_msg_to_task(TASK_RRC_UE, instanceP, message_p); } } @@ -3346,6 +3347,8 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold break; case RAL_LINK_PARAM_GEN_THROUGHPUT: break; + default:; + } break; case RAL_LINK_PARAM_TYPE_CHOICE_LTE: @@ -3378,13 +3381,14 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold break; case RAL_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW: break; - default:; + default: + LOG_W(PHY,"unknown message %d\n", threshold_phy_pP->link_param.link_param_type._union.link_param_gen); } break; - default:; - } - } + default: + LOG_W(PHY,"unknown message %d\n", threshold_phy_pP->link_param.link_param_type.choice); + } } # endif #endif @@ -3466,8 +3470,8 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold // check if it is a measurement timer { hashtable_rc_t hashtable_rc; - hashtable_rc = hashtable_is_key_exists(PHY_vars_UE_g[Mod_id][CC_id]->ral_thresholds_timed, (uint64_t)(TIMER_HAS_EXPIRED(msg_p).timer_id)); + LOG_I(PHY, "[UE %d] Received TIMER HAS EXPIRED: (hash_rc %d, HASH_TABLE_OK %d)\n", Mod_id, hashtable_rc, HASH_TABLE_OK); if (hashtable_rc == HASH_TABLE_OK) { phy_UE_lte_check_measurement_thresholds(instance, (ral_threshold_phy_t*)TIMER_HAS_EXPIRED(msg_p).arg); } @@ -3518,6 +3522,7 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold &PHY_vars_UE_g[Mod_id][CC_id]->ral_thresholds_lte_polled[PHY_MEAS_THRESHOLD_REQ(msg_p).cfg_param.link_param_type._union.link_param_lte], threshold_phy_p, ral_thresholds); +//LOG_E(PHY, "[UE %d] NORMAL/ONE SHOT - TIMER NULL - type LTE in %s\n", Mod_id, msg_name); break; default: @@ -3540,6 +3545,7 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold hashtable_rc = hashtable_insert(PHY_vars_UE_g[Mod_id][CC_id]->ral_thresholds_timed, (uint64_t )timer_id, (void*)threshold_phy_p); if (hashtable_rc == HASH_TABLE_OK) { threshold_phy_p->timer_id = timer_id; + LOG_I(PHY, "[UE %d] NORMAL/ONE SHOT - TIMER CHOICE - OK - in Hash %s\n", Mod_id, msg_name); } else { LOG_E(PHY, "[UE %d] %s: Error in hashtable. Could not configure threshold index %d \n", Mod_id, msg_name, index); diff --git a/openair2/COMMON/ral_messages_types.h b/openair2/COMMON/ral_messages_types.h index 1feadd32d0813b55ac5e4773be7bf9db5adff8b4..2fa729a37145214cd9156aafa63d40b545d41e76 100755 --- a/openair2/COMMON/ral_messages_types.h +++ b/openair2/COMMON/ral_messages_types.h @@ -252,9 +252,9 @@ typedef MIH_C_LINK_PARAM_LTE_T ral_link_param_lt #define RAL_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW MIH_C_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW #define RAL_LINK_PARAM_LTE_MAX RAL_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW -#define RAL_LINK_PARAM_TYPE_CHOICE_GEN MIH_C_LINK_PARAM_TYPE_CHOICE_GEN +#define RAL_LINK_PARAM_TYPE_CHOICE_GEN MIH_C_LINK_PARAM_TYPE_CHOICE_GEN // 0 #define RAL_LINK_PARAM_TYPE_CHOICE_QOS MIH_C_LINK_PARAM_TYPE_CHOICE_QOS -#define RAL_LINK_PARAM_TYPE_CHOICE_LTE MIH_C_LINK_PARAM_TYPE_CHOICE_LTE +#define RAL_LINK_PARAM_TYPE_CHOICE_LTE MIH_C_LINK_PARAM_TYPE_CHOICE_LTE // 12 typedef struct ral_link_param_type_s { ral_choice_t choice; diff --git a/openair2/RRC/LITE/defs.h b/openair2/RRC/LITE/defs.h index d03d97a80d203775e9fd2faa1c68d9819b83559a..c5db1600d26b893b937ad83a6714dd025534db27 100644 --- a/openair2/RRC/LITE/defs.h +++ b/openair2/RRC/LITE/defs.h @@ -418,6 +418,7 @@ typedef struct UE_RRC_INST_s { uint8_t num_active_cba_groups; uint16_t cba_rnti[NUM_MAX_CBA_GROUP]; #endif + uint8_t num_srb; struct SRB_ToAddMod *SRB1_config[NB_CNX_UE]; struct SRB_ToAddMod *SRB2_config[NB_CNX_UE]; struct DRB_ToAddMod *DRB_config[NB_CNX_UE][8]; diff --git a/openair2/RRC/LITE/rrc_UE.c b/openair2/RRC/LITE/rrc_UE.c index f872bcba6a3023dc85dca8d107eb70653c69a7c1..4061efe8b0edb175c214429727835909b7c0c3b8 100644 --- a/openair2/RRC/LITE/rrc_UE.c +++ b/openair2/RRC/LITE/rrc_UE.c @@ -910,6 +910,11 @@ rrc_ue_process_radioResourceConfigDedicated(module_id_t ue_mod_idP, frame_t fram #endif ); +#ifdef ENABLE_RAL + // first msg that includes srb config + UE_rrc_inst[ue_mod_idP].num_srb=radioResourceConfigDedicated->srb_ToAddModList->list.count; +#endif + for (cnt=0;cnt<radioResourceConfigDedicated->srb_ToAddModList->list.count;cnt++) { // connection_reestablishment_ind.num_srb+=1; SRB_id = radioResourceConfigDedicated->srb_ToAddModList->list.array[cnt]->srb_Identity; @@ -1389,10 +1394,14 @@ void rrc_ue_process_rrcConnectionReconfiguration(module_id_t ue_mod_idP, frame_t connection_reestablishment_ind.num_drb = 0; } if (rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList != NULL) { - connection_reestablishment_ind.num_srb = rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count; + connection_reestablishment_ind.num_srb = rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count + UE_rrc_inst[ue_mod_idP].num_srb; + } else { - connection_reestablishment_ind.num_srb = 0; + connection_reestablishment_ind.num_srb += UE_rrc_inst[ue_mod_idP].num_srb; } + if (connection_reestablishment_ind.num_srb > 2) // fixme: only 2 srbs can exist, adjust the value + connection_reestablishment_ind.num_srb =2; + memcpy (&message_ral_p->ittiMsg, (void *) &connection_reestablishment_ind, sizeof(rrc_ral_connection_reestablishment_ind_t)); //#warning "ue_mod_idP ? for instance ? => YES" LOG_I(RRC, "Sending RRC_RAL_CONNECTION_REESTABLISHMENT_IND to mRAL\n"); @@ -1698,10 +1707,12 @@ void rrc_ue_decode_dcch(module_id_t ue_mod_idP, frame_t frameP,uint8_t Srb_id, connection_reconfiguration_ho_ind.num_drb = 0; } if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList != NULL) { - connection_reconfiguration_ho_ind.num_srb = dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count; + connection_reconfiguration_ho_ind.num_srb = dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count + UE_rrc_inst[ue_mod_idP].num_srb; } else { - connection_reconfiguration_ho_ind.num_srb = 0; + connection_reconfiguration_ho_ind.num_srb += UE_rrc_inst[ue_mod_idP].num_srb; } + if (connection_reconfiguration_ho_ind.num_srb > 2 ) + connection_reconfiguration_ho_ind.num_srb =2; memcpy (&message_ral_p->ittiMsg, (void *) &connection_reconfiguration_ho_ind, sizeof(rrc_ral_connection_reconfiguration_ho_ind_t)); //#warning "ue_mod_idP ? for instance ? => YES" LOG_I(RRC, "Sending RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND to mRAL\n"); @@ -1736,10 +1747,12 @@ void rrc_ue_decode_dcch(module_id_t ue_mod_idP, frame_t frameP,uint8_t Srb_id, connection_reconfiguration_ind.num_drb = 0; } if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList != NULL) { - connection_reconfiguration_ind.num_srb = dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count; + connection_reconfiguration_ind.num_srb = dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count + UE_rrc_inst[ue_mod_idP].num_srb; } else { - connection_reconfiguration_ind.num_srb = 0; + connection_reconfiguration_ind.num_srb +=UE_rrc_inst[ue_mod_idP].num_srb; } + if (connection_reconfiguration_ind.num_srb > 2 ) + connection_reconfiguration_ind.num_srb =2; memcpy (&message_ral_p->ittiMsg, (void *) &connection_reconfiguration_ind, sizeof(rrc_ral_connection_reconfiguration_ind_t)); //#warning "ue_mod_idP ? for instance ? => YES" LOG_I(RRC, "Sending RRC_RAL_CONNECTION_RECONFIGURATION_IND to mRAL\n"); @@ -3063,7 +3076,7 @@ void *rrc_ue_task(void *args_p) { LOG_C(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id)); break; } - break; + break; // PHY_FIND_CELL_IND case PHY_MEAS_REPORT_IND: { @@ -3077,7 +3090,8 @@ void *rrc_ue_task(void *args_p) { memcpy(&RRC_RAL_MEASUREMENT_REPORT_IND (message_p).link_param, &PHY_MEAS_REPORT_IND(msg_p).link_param, sizeof(RRC_RAL_MEASUREMENT_REPORT_IND (message_p).link_param)); - + + LOG_I(RRC, "[UE %d] PHY_MEAS_REPORT_IN: sending msg %s to %s \n", ue_mod_id, "RRC_RAL_MEASUREMENT_REPORT_IND", "TASK_RAL_UE"); itti_send_msg_to_task(TASK_RAL_UE, instance, message_p); break; } diff --git a/openair2/RRC/LITE/rrc_UE_ral.c b/openair2/RRC/LITE/rrc_UE_ral.c index e7c1c208a3b42c27f8d0cbb99cf366239f5a9732..2487fea3fc2dd4649fd9c9033989798ae6a21565 100755 --- a/openair2/RRC/LITE/rrc_UE_ral.c +++ b/openair2/RRC/LITE/rrc_UE_ral.c @@ -223,6 +223,7 @@ int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageD rrc_ue_ral_delete_threshold(mod_idP, &link_cfg_param_p->link_param_type, threshold_p); } } + LOG_E(RRC, "Message RRC_RAL_CONFIGURE_THRESHOLD_REQ with RAL_TH_ACTION_CANCEL_THRESHOLD\n"); break; default: LOG_E(RRC, "Message RRC_RAL_CONFIGURE_THRESHOLD_REQ malformed, unknown th_action %d\n", link_cfg_param_p->th_action); diff --git a/targets/PROJECTS/SPECTRA/build_all.bash b/targets/PROJECTS/SPECTRA/build_all.bash index 53a02782f59d5de35a2928f728928d7a2c5a85ff..f9bc814e62163a2f25cf13e6c455a5a9f1c22694 100755 --- a/targets/PROJECTS/SPECTRA/build_all.bash +++ b/targets/PROJECTS/SPECTRA/build_all.bash @@ -69,8 +69,13 @@ echo_success "\n###############################" echo_success "# COMPILE oaisim" echo_success "###############################" cd $OPENAIR_TARGETS/SIMU/USER -echo_success "Executing: make oaisim NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 USER_MODE=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 USE_3GPP_ADDR_AS_LINK_ADDR=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j`grep -c ^processor /proc/cpuinfo `" -make --keep-going oaisim NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 USER_MODE=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 USE_3GPP_ADDR_AS_LINK_ADDR=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j`grep -c ^processor /proc/cpuinfo ` +#echo_success "Executing: make oaisim NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 USER_MODE=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 USE_3GPP_ADDR_AS_LINK_ADDR=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j`grep -c ^processor /proc/cpuinfo `" +#make --keep-going oaisim NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 USER_MODE=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 USE_3GPP_ADDR_AS_LINK_ADDR=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j`grep -c ^processor /proc/cpuinfo ` + +echo_success "Executing: make oaisim NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 USER_MODE=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 USE_3GPP_ADDR_AS_LINK_ADDR=1 RLC_STOP_ON_LOST_PDU=1 -j`grep -c ^processor /proc/cpuinfo `" +#make --keep-going oaisim NAS= +make --keep-going oaisim DEBUG=1 NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 USER_MODE=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 USE_3GPP_ADDR_AS_LINK_ADDR=1 RLC_STOP_ON_LOST_PDU=1 -j`grep -c ^processor /proc/cpuinfo ` + if [[ $? -eq 2 ]] ; then exit 1 fi @@ -111,7 +116,7 @@ if [ ! -f $OPENAIR_HOME/common/utils/itti_analyzer/Makefile ] cd objs ../configure fi -make install -j`grep -c ^processor /proc/cpuinfo ` +sudo make install -j`grep -c ^processor /proc/cpuinfo ` diff --git a/targets/PROJECTS/SPECTRA/env_802dot21.bash b/targets/PROJECTS/SPECTRA/env_802dot21.bash index 2de642efecff00db4c146a90247d33e94fc1fb78..470c2ba163ee14abb60c273f8ba61f2496cf6b97 100755 --- a/targets/PROJECTS/SPECTRA/env_802dot21.bash +++ b/targets/PROJECTS/SPECTRA/env_802dot21.bash @@ -37,8 +37,8 @@ ##################################################### # VARIABLES TO BE FILLED WITH RIGHT VALUES: ##################################################### -export BOOST_ROOT=/usr/local/src/boost_1_49_0 -export ODTONE_ROOT=/usr/local/src/ODTONE +export BOOST_ROOT=/home/alexandrie/DEMO_SPECTRA/boost_1_49_0 +export ODTONE_ROOT=/home/alexandrie/DEMO_SPECTRA/ODTONE export MIH_F=odtone-mihf export ENB_MIH_F_CONF_FILE=odtone_enb.conf @@ -47,6 +47,8 @@ export UE_MIH_F_CONF_FILE=odtone_ue.conf export ODTONE_MIH_USER_DIR=$ODTONE_ROOT/app/lte_test_user export ODTONE_MIH_EXE_DIR=$ODTONE_ROOT/dist +#export ENB_MIH_USER=enb2_lte_user +#export ENB_MIH_USER_CONF_FILE=enb2_lte_user.conf export ENB_MIH_USER=enb_lte_user export ENB_MIH_USER_CONF_FILE=enb_lte_user.conf diff --git a/targets/PROJECTS/SPECTRA/start_enb.bash b/targets/PROJECTS/SPECTRA/start_enb.bash index 83478e37dfd73f740e306923ecba340baa19dbfd..a522b6a70dd58a4935123528e5c7a034b24c00ad 100755 --- a/targets/PROJECTS/SPECTRA/start_enb.bash +++ b/targets/PROJECTS/SPECTRA/start_enb.bash @@ -36,12 +36,14 @@ #------------------------------------------------ # ENB CONFIG FILE #------------------------------------------------ -declare -x ENB_CONFIG_FILE="CONF/enb.sfr.yang.conf" +#declare -x ENB_CONFIG_FILE="CONF/enb.sfr.yang.conf" +declare -x ENB_CONFIG_FILE="enb.conf" #------------------------------------------------ # OAI NETWORKING #------------------------------------------------ -declare -x EMULATION_DEV_INTERFACE="eth1" +declare -x EMULATION_DEV_INTERFACE="eth0" +declare -x EMULATION_DEV_ADDRESS="192.168.13.1" declare -x IP_DRIVER_NAME="oai_nw_drv" declare -x LTEIF="oai0" declare -x ENB_IPv4="10.0.0.1" @@ -49,7 +51,7 @@ declare -x ENB_IPv6="2001:1::1" declare -x ENB_IPv6_CIDR=$ENB_IPv6"/64" declare -x ENB_IPv4_CIDR=$ENB_IPv4"/24" declare -a NAS_IMEI=( 3 9 1 8 3 6 6 2 0 0 0 0 0 0 ) -declare -x IP_DEFAULT_MARK="3" +declare -x IP_DEFAULT_MARK="1" # originally 3 #------------------------------------------------ # OAI MIH #------------------------------------------------ @@ -64,7 +66,7 @@ LOG_FILE="/tmp/oai_sim_enb.log" THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) source $THIS_SCRIPT_PATH/env_802dot21.bash ########################################################### - +bash_exec "ifconfig $EMULATION_DEV_INTERFACE up $EMULATION_DEV_ADDRESS netmask 255.255.255.0" ########################################################### IPTABLES=/sbin/iptables THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) @@ -143,8 +145,7 @@ rotate_log_file $MIH_LOG_FILE # start MIH-F -#xterm -hold -e -$ODTONE_MIH_EXE_DIR/$MIH_F --log 4 --conf.file $ODTONE_MIH_EXE_DIR/$ENB_MIH_F_CONF_FILE > $MIH_LOG_FILE 2>&1 & +xterm -hold -e $ODTONE_MIH_EXE_DIR/$MIH_F --log 4 --conf.file $ODTONE_MIH_EXE_DIR/$ENB_MIH_F_CONF_FILE > $MIH_LOG_FILE 2>&1 & wait_process_started $MIH_F NOW=$(date +"%Y-%m-%d.%Hh_%Mm_%Ss") @@ -172,7 +173,8 @@ $OPENAIR_TARGETS/SIMU/USER/oaisim -a -K $LOG_FILE -l9 -u0 -b1 -M0 -p2 -g1 -D $ --enb-mihf-remote-port $ENB_MIHF_REMOTE_PORT \ --enb-mihf-ip-address $ENB_MIHF_IP_ADDRESS \ --enb-mihf-id $ENB_MIHF_ID \ - -O $ENB_CONFIG_FILE | grep "RAL\|PDCP" & + -O $ENB_CONFIG_FILE > log_enb.txt & +# -O $ENB_CONFIG_FILE | grep "RAL\|PDCP" & wait_process_started oaisim diff --git a/targets/PROJECTS/SPECTRA/start_ue.bash b/targets/PROJECTS/SPECTRA/start_ue.bash index d0a844e1fa736b9e65923a875ea8651bfd238f76..1294df8b77071e5170a0f92bf08dc63bd1765c19 100755 --- a/targets/PROJECTS/SPECTRA/start_ue.bash +++ b/targets/PROJECTS/SPECTRA/start_ue.bash @@ -36,7 +36,9 @@ #------------------------------------------------ # OAI NETWORKING #------------------------------------------------ -declare -x EMULATION_DEV_INTERFACE="eth1" +declare -x EMULATION_DEV_INTERFACE="eth0" +declare -x EMULATION_DEV_ADDRESS="192.168.13.2" + declare -x IP_DRIVER_NAME="oai_nw_drv" declare -x LTEIF="oai0" declare -x UE_IPv4="10.0.0.2" @@ -44,24 +46,26 @@ declare -x UE_IPv6="2001:1::2" declare -x UE_IPv6_CIDR=$UE_IPv6"/64" declare -x UE_IPv4_CIDR=$UE_IPv4"/24" declare -a NAS_IMEI=( 3 9 1 8 3 6 7 3 0 2 0 0 0 0 ) -declare -x IP_DEFAULT_MARK="3" +declare -x IP_DEFAULT_MARK="1" # originally 3 #------------------------------------------------ # OAI MIH #------------------------------------------------ declare -x UE_MIHF_IP_ADDRESS="127.0.0.1" declare -x UE_RAL_IP_ADDRESS="127.0.0.1" -LOG_FILE="/tmp/oai_sim_enb.log" +LOG_FILE="/tmp/oai_sim_ue.log" #------------------------------------------------ MIH_LOG_FILE="mih-f_ue.log" +# EXE options +EXE_MODE="DEBUG" # "PROD" ########################################################### THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) source $THIS_SCRIPT_PATH/env_802dot21.bash ########################################################### - +bash_exec "ifconfig $EMULATION_DEV_INTERFACE up $EMULATION_DEV_ADDRESS netmask 255.255.255.0" ########################################################### IPTABLES=/sbin/iptables THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) @@ -130,9 +134,12 @@ ip route add 239.0.0.160/28 dev $EMULATION_DEV_INTERFACE rotate_log_file $MIH_LOG_FILE +echo "printing the MIH file path" +echo "$ODTONE_MIH_EXE_DIR/$MIH_F $ODTONE_MIH_EXE_DIR/$UE_MIH_F_CONF_FILE" +echo "$ODTONE_MIH_EXE_DIR/$UE_MIH_USER $ODTONE_MIH_EXE_DIR/$UE_MIH_USER_CONF_FILE" + # start MIH-F -#xterm -hold -e -$ODTONE_MIH_EXE_DIR/$MIH_F --log 4 --conf.file $ODTONE_MIH_EXE_DIR/$UE_MIH_F_CONF_FILE > $MIH_LOG_FILE 2>&1 & +xterm -hold -e $ODTONE_MIH_EXE_DIR/$MIH_F --log 4 --conf.file $ODTONE_MIH_EXE_DIR/$UE_MIH_F_CONF_FILE > $MIH_LOG_FILE 2>&1 & wait_process_started $MIH_F sleep 3 @@ -153,14 +160,33 @@ UE_MIHF_REMOTE_PORT=`cat $ODTONE_MIH_EXE_DIR/$UE_MIH_F_CONF_FILE | grep local_po UE_MIHF_ID=`cat $ODTONE_MIH_EXE_DIR/$UE_MIH_F_CONF_FILE | grep id | grep \= | grep -v \# | tr -d " " | cut -d'=' -f2` #xterm -hold -e gdb --args -$OPENAIR_TARGETS/SIMU/USER/oaisim -a -K $LOG_FILE -l9 -u1 -b0 -M1 -p2 -g1 -D $EMULATION_DEV_INTERFACE \ +# $EMULATION_DEV_INTERFACE -D192.168.13.2 +#sudo ip route add 239.0.0.160/28 dev $EMULATION_DEV_INTERFACE +#$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -z0 -s 10.0.0.2 -t 10.0.0.1 -r 1 + +if [ $EXE_MODE = "DEBUG" ] ; then + echo "$OPENAIR_TARGETS/SIMU/USER/oaisim -a -K $LOG_FILE -l7 -u1 -b0 -M1 -p2 -g1 -D $EMULATION_DEV_ADDRESS --ue-ral-listening-port $UE_RAL_LISTENING_PORT --ue-ral-link-id $UE_RAL_LINK_ID_STRIPPED --ue-ral-ip-address $UE_RAL_IP_ADDRESS --ue-mihf-remote-port $UE_MIHF_REMOTE_PORT --ue-mihf-ip-address $UE_MIHF_IP_ADDRESS --ue-mihf-id $UE_MIHF_ID " + + $OPENAIR_TARGETS/SIMU/USER/oaisim -a -K $LOG_FILE -l7 -u1 -b0 -M1 -p2 -g1 -D $EMULATION_DEV_ADDRESS \ + --ue-ral-listening-port $UE_RAL_LISTENING_PORT \ + --ue-ral-link-id $UE_RAL_LINK_ID_STRIPPED \ + --ue-ral-ip-address $UE_RAL_IP_ADDRESS \ + --ue-mihf-remote-port $UE_MIHF_REMOTE_PORT \ + --ue-mihf-ip-address $UE_MIHF_IP_ADDRESS \ + --ue-mihf-id $UE_MIHF_ID > log_ue.txt & +else + echo "$OPENAIR_TARGETS/SIMU/USER/oaisim -a -l3 -u1 -b0 -M1 -p2 -g1 -D $EMULATION_DEV_ADDRESS --ue-ral-listening-port $UE_RAL_LISTENING_PORT --ue-ral-link-id $UE_RAL_LINK_ID_STRIPPED --ue-ral-ip-address $UE_RAL_IP_ADDRESS --ue-mihf-remote-port $UE_MIHF_REMOTE_PORT --ue-mihf-ip-address $UE_MIHF_IP_ADDRESS --ue-mihf-id $UE_MIHF_ID " + + $OPENAIR_TARGETS/SIMU/USER/oaisim -a -u1 -b0 -M1 -p2 -g1 -D $EMULATION_DEV_ADDRESS \ --ue-ral-listening-port $UE_RAL_LISTENING_PORT \ --ue-ral-link-id $UE_RAL_LINK_ID_STRIPPED \ --ue-ral-ip-address $UE_RAL_IP_ADDRESS \ --ue-mihf-remote-port $UE_MIHF_REMOTE_PORT \ --ue-mihf-ip-address $UE_MIHF_IP_ADDRESS \ - --ue-mihf-id $UE_MIHF_ID | grep "RAL\|PDCP" & - + --ue-mihf-id $UE_MIHF_ID > /dev/null & + +fi + wait_process_started oaisim