Commit 70fd4878 authored by Ferreira's avatar Ferreira

SPECTRA: added latest modifications after Project review.

	 Added Libcasablanca, CRMClient and libcrmclient
         RRC_eNB.c - added case for rrc_ConnectionReconfiguration message


git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5821 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 57f33e0c
...@@ -663,6 +663,8 @@ static void rrc_eNB_generate_defaultRRCConnectionReconfiguration( ...@@ -663,6 +663,8 @@ static void rrc_eNB_generate_defaultRRCConnectionReconfiguration(
MeasIdToAddMod_t *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5; MeasIdToAddMod_t *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
#if Rel10 #if Rel10
long *sr_ProhibitTimer_r9 = NULL; long *sr_ProhibitTimer_r9 = NULL;
// uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
uint8_t sCellIndexToAdd = 0;
#endif #endif
long *logicalchannelgroup, *logicalchannelgroup_drb; long *logicalchannelgroup, *logicalchannelgroup_drb;
...@@ -1186,6 +1188,62 @@ static void rrc_eNB_generate_defaultRRCConnectionReconfiguration( ...@@ -1186,6 +1188,62 @@ static void rrc_eNB_generate_defaultRRCConnectionReconfiguration(
pdcp_rrc_data_req(enb_mod_idP, ue_mod_idP, frameP, 1, DCCH, rrc_eNB_mui++, 0, size, buffer, 1); pdcp_rrc_data_req(enb_mod_idP, ue_mod_idP, frameP, 1, DCCH, rrc_eNB_mui++, 0, size, buffer, 1);
} }
int rrc_eNB_generate_RRCConnectionReconfiguration_SCell(module_id_t enb_mod_idP, module_id_t ue_mod_idP, frame_t frame, uint32_t dl_CarrierFreq_r10) {
uint8_t size;
uint8_t buffer[100];
#ifdef Rel10
uint8_t sCellIndexToAdd = 0; //one SCell so far
// uint8_t sCellIndexToAdd;
// sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
if (eNB_rrc_inst[enb_mod_idP].sCell_config[ue_mod_idP][sCellIndexToAdd]) {
eNB_rrc_inst[enb_mod_idP].sCell_config[ue_mod_idP][sCellIndexToAdd]->cellIdentification_r10->dl_CarrierFreq_r10 = dl_CarrierFreq_r10;
}
else {
LOG_E(RRC,"Scell not configured!\n");
return(-1);
}
#endif
size = do_RRCConnectionReconfiguration(enb_mod_idP,
buffer,
ue_mod_idP,
/*0*/rrc_eNB_get_next_transaction_identifier(enb_mod_idP),//Transaction_id,
(SRB_ToAddModList_t*)NULL,
(DRB_ToAddModList_t*)NULL,
(DRB_ToReleaseList_t*)NULL,
(struct SPS_Config*)NULL,
(struct PhysicalConfigDedicated*)NULL,
#ifdef Rel10
eNB_rrc_inst[enb_mod_idP].sCell_config[ue_mod_idP][sCellIndexToAdd],
#endif
(MeasObjectToAddModList_t*)NULL,
(ReportConfigToAddModList_t*)NULL,
(QuantityConfig_t*)NULL,
(MeasIdToAddModList_t*)NULL,
(MAC_MainConfig_t*)NULL,
(MeasGapConfig_t*)NULL,
(MobilityControlInfo_t*)NULL,
(struct MeasConfig__speedStatePars*)NULL,
(RSRP_Range_t*)NULL,
(C_RNTI_t*)NULL,
(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)NULL);
LOG_I(RRC,"[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration (bytes %d, UE id %d)\n",
enb_mod_idP,frame, size, ue_mod_idP);
LOG_D(RRC, "[MSC_MSG][FRAME %05d][RRC_eNB][MOD %02d][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %d MUI %d) --->][PDCP][MOD %02d][RB %02d]\n",
frame, enb_mod_idP, size, ue_mod_idP, rrc_eNB_mui, enb_mod_idP, /*(ue_mod_idP*MAX_NUM_RB)+*/DCCH);
//rrc_rlc_data_req(Mod_id,frame, 1,(UE_index*MAX_NUM_RB)+DCCH,rrc_eNB_mui++,0,size,(char*)buffer);
// pdcp_data_req(enb_mod_idP, ue_mod_idP, frame, 1, /*(UE_index * MAX_NUM_RB) + */DCCH, rrc_eNB_mui++, 0, size, (char*)buffer, 1);
pdcp_rrc_data_req(enb_mod_idP, ue_mod_idP, frame, 1, DCCH, rrc_eNB_mui++, 0, size, buffer, 1);
return(0);
}
/*------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------*/
void rrc_eNB_process_MeasurementReport( void rrc_eNB_process_MeasurementReport(
module_id_t enb_mod_idP, module_id_t enb_mod_idP,
...@@ -3198,6 +3256,7 @@ void *rrc_enb_task( ...@@ -3198,6 +3256,7 @@ void *rrc_enb_task(
MessageDef *msg_p; MessageDef *msg_p;
const char *msg_name_p; const char *msg_name_p;
instance_t instance; instance_t instance;
unsigned int ue_mod_id;
int result; int result;
SRB_INFO *srb_info_p; SRB_INFO *srb_info_p;
...@@ -3287,6 +3346,18 @@ void *rrc_enb_task( ...@@ -3287,6 +3346,18 @@ void *rrc_enb_task(
break; break;
# endif # endif
//SPECTRA: Add the RRC connection reconfiguration with Second cell configuration
case RRC_RAL_CONNECTION_RECONFIGURATION_REQ:
// ue_mod_id = 0; /* TODO force ue_mod_id to first UE, NAS UE not virtualized yet */
LOG_I(RRC, "[eNB %d] Send RRC_RAL_CONNECTION_RECONFIGURATION_REQ to UE %s\n", instance, msg_name_p);
//Method RRC connection reconfiguration command with Second cell configuration
# ifdef ENABLE_RAL
rrc_eNB_generate_RRCConnectionReconfiguration_SCell(instance, 0/* TODO put frameP number ! */, /*ue_mod_id force ue_mod_id to first UE*/0, 36126);
# else
rrc_eNB_generate_defaultRRCConnectionReconfiguration(instance, 0/* TODO put frameP number ! */, /*ue_mod_id force ue_mod_id to first UE*/0, eNB_rrc_inst[instance].HO_flag);
# endif
break;
default: default:
LOG_E(RRC, "[eNB %d] Received unexpected message %s\n", instance, msg_name_p); LOG_E(RRC, "[eNB %d] Received unexpected message %s\n", instance, msg_name_p);
break; break;
......
...@@ -188,10 +188,10 @@ eNBs = ...@@ -188,10 +188,10 @@ eNBs =
NETWORK_INTERFACES : NETWORK_INTERFACES :
{ {
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; ENB_INTERFACE_NAME_FOR_S1_MME = "eth1";
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.10/24"; ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.10/24";
ENB_INTERFACE_NAME_FOR_S1U = "eth0"; ENB_INTERFACE_NAME_FOR_S1U = "eth1";
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.10/24"; ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.10/24";
}; };
......
...@@ -37,8 +37,8 @@ ...@@ -37,8 +37,8 @@
##################################################### #####################################################
# VARIABLES TO BE FILLED WITH RIGHT VALUES: # VARIABLES TO BE FILLED WITH RIGHT VALUES:
##################################################### #####################################################
export BOOST_ROOT=/home/alexandrie/DEMO_SPECTRA/boost_1_49_0 export BOOST_ROOT=/home/nikaia/DEMO_SPECTRA/boost_1_49_0/
export ODTONE_ROOT=/home/alexandrie/DEMO_SPECTRA/ODTONE export ODTONE_ROOT=/home/nikaia/DEMO_SPECTRA/ODTONE/
export MIH_F=odtone-mihf export MIH_F=odtone-mihf
export ENB_MIH_F_CONF_FILE=odtone_enb.conf export ENB_MIH_F_CONF_FILE=odtone_enb.conf
......
/opt/casablanca/Binaries/Release32/libcasablanca.so
\ No newline at end of file
libcrmclient.so.1.0
\ No newline at end of file
libcrmclient.so.1.0
\ No newline at end of file
#!/bin/bash
export LD_LIBRARY_PATH=/usr/local/lib/:/usr/lib/:/opt/casablanca/Binaries/Release32
...@@ -42,7 +42,7 @@ declare -x ENB_CONFIG_FILE="enb.conf" ...@@ -42,7 +42,7 @@ declare -x ENB_CONFIG_FILE="enb.conf"
#------------------------------------------------ #------------------------------------------------
# OAI NETWORKING # OAI NETWORKING
#------------------------------------------------ #------------------------------------------------
declare -x EMULATION_DEV_INTERFACE="eth0" declare -x EMULATION_DEV_INTERFACE="eth1"
declare -x EMULATION_DEV_ADDRESS="192.168.13.1" declare -x EMULATION_DEV_ADDRESS="192.168.13.1"
declare -x IP_DRIVER_NAME="oai_nw_drv" declare -x IP_DRIVER_NAME="oai_nw_drv"
declare -x LTEIF="oai0" declare -x LTEIF="oai0"
...@@ -115,6 +115,8 @@ assert " `sysctl -n net.ipv4.conf.all.log_martians` -eq 1" $LINENO ...@@ -115,6 +115,8 @@ assert " `sysctl -n net.ipv4.conf.all.log_martians` -eq 1" $LINENO
bash_exec "sysctl -w net.ipv4.conf.all.rp_filter=0" bash_exec "sysctl -w net.ipv4.conf.all.rp_filter=0"
assert " `sysctl -n net.ipv4.conf.all.rp_filter` -eq 0" $LINENO assert " `sysctl -n net.ipv4.conf.all.rp_filter` -eq 0" $LINENO
bash_exec "ip route flush cache" bash_exec "ip route flush cache"
bash_exec "sysctl -w net.ipv4.ip_forward=1"
assert " `sysctl -n net.ipv4.ip_forward` -eq 1" $LINENO
# Check table 200 lte in /etc/iproute2/rt_tables # Check table 200 lte in /etc/iproute2/rt_tables
fgrep lte /etc/iproute2/rt_tables > /dev/null fgrep lte /etc/iproute2/rt_tables > /dev/null
...@@ -145,7 +147,7 @@ rotate_log_file $MIH_LOG_FILE ...@@ -145,7 +147,7 @@ rotate_log_file $MIH_LOG_FILE
# start MIH-F # 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 -title "[RELAY][eNB1] MIHF" -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 wait_process_started $MIH_F
NOW=$(date +"%Y-%m-%d.%Hh_%Mm_%Ss") NOW=$(date +"%Y-%m-%d.%Hh_%Mm_%Ss")
...@@ -181,9 +183,11 @@ wait_process_started oaisim ...@@ -181,9 +183,11 @@ wait_process_started oaisim
# start MIH-USER # start MIH-USER
# wait for emulation start # wait for emulation start
tshark -c 150 -i $EMULATION_DEV_INTERFACE > /dev/null 2>&1 tshark -c 150 -i $EMULATION_DEV_INTERFACE > /dev/null 2>&1
xterm -hold -e $ODTONE_MIH_EXE_DIR/$ENB_MIH_USER --conf.file $ODTONE_MIH_EXE_DIR/$ENB_MIH_USER_CONF_FILE & sudo xterm -hold -title "[RELAY][eNB1] MIH_USER" -e $ODTONE_MIH_EXE_DIR/$ENB_MIH_USER --conf.file $ODTONE_MIH_EXE_DIR/$ENB_MIH_USER_CONF_FILE &
wait_process_started $ENB_MIH_USER wait_process_started $ENB_MIH_USER
xterm -hold -title "[RELAY][eNB1] CRM Client" -e tail -f outputGET.txt &
sleep 100000 sleep 100000
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment