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(
MeasIdToAddMod_t *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
#if Rel10
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
long *logicalchannelgroup, *logicalchannelgroup_drb;
......@@ -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);
}
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(
module_id_t enb_mod_idP,
......@@ -3198,6 +3256,7 @@ void *rrc_enb_task(
MessageDef *msg_p;
const char *msg_name_p;
instance_t instance;
unsigned int ue_mod_id;
int result;
SRB_INFO *srb_info_p;
......@@ -3287,6 +3346,18 @@ void *rrc_enb_task(
break;
# 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:
LOG_E(RRC, "[eNB %d] Received unexpected message %s\n", instance, msg_name_p);
break;
......
......@@ -188,10 +188,10 @@ eNBs =
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_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_INTERFACE_NAME_FOR_S1U = "eth1";
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.10/24";
};
......
......@@ -37,8 +37,8 @@
#####################################################
# VARIABLES TO BE FILLED WITH RIGHT VALUES:
#####################################################
export BOOST_ROOT=/home/alexandrie/DEMO_SPECTRA/boost_1_49_0
export ODTONE_ROOT=/home/alexandrie/DEMO_SPECTRA/ODTONE
export BOOST_ROOT=/home/nikaia/DEMO_SPECTRA/boost_1_49_0/
export ODTONE_ROOT=/home/nikaia/DEMO_SPECTRA/ODTONE/
export MIH_F=odtone-mihf
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"
#------------------------------------------------
# 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 IP_DRIVER_NAME="oai_nw_drv"
declare -x LTEIF="oai0"
......@@ -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"
assert " `sysctl -n net.ipv4.conf.all.rp_filter` -eq 0" $LINENO
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
fgrep lte /etc/iproute2/rt_tables > /dev/null
......@@ -145,7 +147,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 -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
NOW=$(date +"%Y-%m-%d.%Hh_%Mm_%Ss")
......@@ -181,9 +183,11 @@ wait_process_started oaisim
# start MIH-USER
# wait for emulation start
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
xterm -hold -title "[RELAY][eNB1] CRM Client" -e tail -f outputGET.txt &
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