Commit 036870ad authored by Navid Nikaein's avatar Navid Nikaein

fix the issue with the pre-ci tests

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5756 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 295dd718
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
* otherwise use standard fprintf as logger. * otherwise use standard fprintf as logger.
*/ */
#if defined(ENB_MODE) #if defined(ENB_MODE)
# define GTPU_DEBUG(x, args...) LOG_I(GTPU, x, ##args) # define GTPU_DEBUG(x, args...) LOG_D(GTPU, x, ##args)
# define GTPU_INFO(x, args...) LOG_I(GTPU, x, ##args) # define GTPU_INFO(x, args...) LOG_I(GTPU, x, ##args)
# define GTPU_WARNING(x, args...) LOG_W(GTPU, x, ##args) # define GTPU_WARNING(x, args...) LOG_W(GTPU, x, ##args)
# define GTPU_ERROR(x, args...) LOG_E(GTPU, x, ##args) # define GTPU_ERROR(x, args...) LOG_E(GTPU, x, ##args)
......
...@@ -782,7 +782,7 @@ nwGtpv1uProcessUdpReq( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, ...@@ -782,7 +782,7 @@ nwGtpv1uProcessUdpReq( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
break; break;
case NW_GTP_GPDU: case NW_GTP_GPDU:
GTPU_DEBUG("NW_GTP_GPDU"); GTPU_DEBUG("NW_GTP_GPDU: DATA COMING FROM UDP\n");
ret = nwGtpv1uProcessGpdu(thiz, udpData, udpDataLen, peerIp); ret = nwGtpv1uProcessGpdu(thiz, udpData, udpDataLen, peerIp);
break; break;
......
...@@ -614,7 +614,7 @@ inline void sctp_eNB_read_from_socket(struct sctp_cnx_list_elm_s *sctp_cnx) ...@@ -614,7 +614,7 @@ inline void sctp_eNB_read_from_socket(struct sctp_cnx_list_elm_s *sctp_cnx)
free(sctp_cnx); free(sctp_cnx);
} else { } else {
SCTP_DEBUG("An error occured during read\n"); SCTP_DEBUG("An error occured during read\n");
SCTP_ERROR("sctp_recvmsg: %s:%d\n", strerror(errno), errno); SCTP_ERROR("sctp_recvmsg (fd %d, len %d ): %s:%d\n", sctp_cnx->sd, n, strerror(errno), errno);
} }
return; return;
} else if (n == 0) { } else if (n == 0) {
......
...@@ -134,7 +134,7 @@ void udp_eNB_process_file_descriptors(struct epoll_event *events, int nb_events) ...@@ -134,7 +134,7 @@ void udp_eNB_process_file_descriptors(struct epoll_event *events, int nb_events)
for (i = 0; i < nb_events; i++) { for (i = 0; i < nb_events; i++) {
STAILQ_FOREACH(udp_sock_p, &udp_socket_list, entries) { STAILQ_FOREACH(udp_sock_p, &udp_socket_list, entries) {
if (udp_sock_p->sd == events[i].data.fd) { if (udp_sock_p->sd == events[i].data.fd) {
LOG_I(UDP_, "Found matching task desc\n"); LOG_D(UDP_, "Found matching task desc\n");
udp_eNB_receiver(udp_sock_p); udp_eNB_receiver(udp_sock_p);
break; break;
} }
...@@ -239,13 +239,12 @@ void udp_eNB_receiver(struct udp_socket_desc_s *udp_sock_pP) ...@@ -239,13 +239,12 @@ void udp_eNB_receiver(struct udp_socket_desc_s *udp_sock_pP)
if (1) { if (1) {
from_len = (socklen_t)sizeof(struct sockaddr_in); from_len = (socklen_t)sizeof(struct sockaddr_in);
LOG_I(UDP_, "before recvfrom sd %d\n", udp_sock_pP->sd);
if ((n = recvfrom(udp_sock_pP->sd, l_buffer, sizeof(l_buffer), 0, if ((n = recvfrom(udp_sock_pP->sd, l_buffer, sizeof(l_buffer), 0,
(struct sockaddr *)&addr, &from_len)) < 0) { (struct sockaddr *)&addr, &from_len)) < 0) {
LOG_E(UDP_, "Recvfrom failed %s\n", strerror(errno)); LOG_E(UDP_, "Recvfrom failed %s\n", strerror(errno));
return; return;
} else if (n == 0){ } else if (n == 0){
LOG_I(UDP_, "Recvfrom returned 0\n"); LOG_W(UDP_, "Recvfrom returned 0\n");
return; return;
} else{ } else{
forwarded_buffer = calloc(n, sizeof(uint8_t)); forwarded_buffer = calloc(n, sizeof(uint8_t));
...@@ -289,7 +288,7 @@ void *udp_eNB_task(void *args_p) ...@@ -289,7 +288,7 @@ void *udp_eNB_task(void *args_p)
itti_mark_task_ready(TASK_UDP); itti_mark_task_ready(TASK_UDP);
while(1) { while(1) {
itti_receive_msg(TASK_UDP, &received_message_p); itti_receive_msg(TASK_UDP, &received_message_p);
LOG_W(UDP_, "Got message %p\n", received_message_p); LOG_D(UDP_, "Got message %p\n", &received_message_p);
if (received_message_p != NULL) { if (received_message_p != NULL) {
msg_name = ITTI_MSG_NAME (received_message_p); msg_name = ITTI_MSG_NAME (received_message_p);
...@@ -298,7 +297,7 @@ void *udp_eNB_task(void *args_p) ...@@ -298,7 +297,7 @@ void *udp_eNB_task(void *args_p)
switch (ITTI_MSG_ID(received_message_p)) switch (ITTI_MSG_ID(received_message_p))
{ {
case UDP_INIT: { case UDP_INIT: {
LOG_W(UDP_, "Received UDP_INIT\n"); LOG_D(UDP_, "Received UDP_INIT\n");
udp_init_t *udp_init_p; udp_init_t *udp_init_p;
udp_init_p = &received_message_p->ittiMsg.udp_init; udp_init_p = &received_message_p->ittiMsg.udp_init;
udp_eNB_create_socket( udp_eNB_create_socket(
...@@ -308,7 +307,7 @@ void *udp_eNB_task(void *args_p) ...@@ -308,7 +307,7 @@ void *udp_eNB_task(void *args_p)
} break; } break;
case UDP_DATA_REQ: { case UDP_DATA_REQ: {
LOG_W(UDP_, "Received UDP_DATA_REQ\n"); LOG_D(UDP_, "Received UDP_DATA_REQ\n");
int udp_sd = -1; int udp_sd = -1;
ssize_t bytes_written; ssize_t bytes_written;
...@@ -341,7 +340,7 @@ void *udp_eNB_task(void *args_p) ...@@ -341,7 +340,7 @@ void *udp_eNB_task(void *args_p)
udp_sd = udp_sock_p->sd; udp_sd = udp_sock_p->sd;
pthread_mutex_unlock(&udp_socket_list_mutex); pthread_mutex_unlock(&udp_socket_list_mutex);
LOG_W(UDP_, "[%d] Sending message of size %u to "IPV4_ADDR" and port %u\n", LOG_D(UDP_, "[%d] Sending message of size %u to "IPV4_ADDR" and port %u\n",
udp_sd, udp_sd,
udp_data_req_p->buffer_length, udp_data_req_p->buffer_length,
IPV4_ADDR_FORMAT(udp_data_req_p->peer_address), IPV4_ADDR_FORMAT(udp_data_req_p->peer_address),
...@@ -381,11 +380,11 @@ on_error: ...@@ -381,11 +380,11 @@ on_error:
nb_events = itti_get_events(TASK_UDP, &events); nb_events = itti_get_events(TASK_UDP, &events);
/* Now handle notifications for other sockets */ /* Now handle notifications for other sockets */
if (nb_events > 0) { if (nb_events > 0) {
LOG_W(UDP_, "UDP task Process %d events\n",nb_events); LOG_D(UDP_, "UDP task Process %d events\n",nb_events);
udp_eNB_process_file_descriptors(events, nb_events); udp_eNB_process_file_descriptors(events, nb_events);
} }
} }
LOG_W(UDP_, "Task UDP eNB exiting\n"); LOG_N(UDP_, "Task UDP eNB exiting\n");
return NULL; return NULL;
} }
......
...@@ -3306,9 +3306,9 @@ void phy_UE_lte_measurement_thresholds_test_and_report(instance_t instanceP, ral ...@@ -3306,9 +3306,9 @@ void phy_UE_lte_measurement_thresholds_test_and_report(instance_t instanceP, ral
void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold_phy_t* threshold_phy_pP) { void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold_phy_t* threshold_phy_pP) {
unsigned int mod_id; unsigned int mod_id;
int CC_id = 0; // this should become the function argument, requested by the upper layers.
mod_id = instanceP - NB_eNB_INST; mod_id = instanceP - NB_eNB_INST;
switch (threshold_phy_pP->link_param.link_param_type.choice) { switch (threshold_phy_pP->link_param.link_param_type.choice) {
case RAL_LINK_PARAM_TYPE_CHOICE_GEN: case RAL_LINK_PARAM_TYPE_CHOICE_GEN:
...@@ -3324,23 +3324,19 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold ...@@ -3324,23 +3324,19 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold
break; break;
case RAL_LINK_PARAM_GEN_THROUGHPUT: case RAL_LINK_PARAM_GEN_THROUGHPUT:
break; break;
case RAL_LINK_PARAM_GEN_PACKET_ERROR_RATE:
break;
default:;
}
break; break;
case RAL_LINK_PARAM_TYPE_CHOICE_LTE: case RAL_LINK_PARAM_TYPE_CHOICE_LTE:
switch (threshold_phy_pP->link_param.link_param_type._union.link_param_gen) { switch (threshold_phy_pP->link_param.link_param_type._union.link_param_gen) {
case RAL_LINK_PARAM_LTE_UE_RSRP: case RAL_LINK_PARAM_LTE_UE_RSRP:
// phy_UE_lte_measurement_thresholds_test_and_report(instanceP, threshold_phy_pP, PHY_vars_UE_g[mod_id]->PHY_measurements.rx_rssi_dBm[0]); // phy_UE_lte_measurement_thresholds_test_and_report(instanceP, threshold_phy_pP, PHY_vars_UE_g[mod_id]->PHY_measurements.rx_rssi_dBm[0]);
phy_UE_lte_measurement_thresholds_test_and_report(instanceP, threshold_phy_pP, PHY_vars_UE_g[mod_id]->PHY_measurements.rsrp[0]); phy_UE_lte_measurement_thresholds_test_and_report(instanceP, threshold_phy_pP, PHY_vars_UE_g[mod_id][CC_id]->PHY_measurements.rsrp[0]);
break; break;
case RAL_LINK_PARAM_LTE_UE_RSRQ: case RAL_LINK_PARAM_LTE_UE_RSRQ:
phy_UE_lte_measurement_thresholds_test_and_report(instanceP, threshold_phy_pP, PHY_vars_UE_g[mod_id]->PHY_measurements.rsrq[0]); phy_UE_lte_measurement_thresholds_test_and_report(instanceP, threshold_phy_pP, PHY_vars_UE_g[mod_id][CC_id]->PHY_measurements.rsrq[0]);
break; break;
case RAL_LINK_PARAM_LTE_UE_CQI: case RAL_LINK_PARAM_LTE_UE_CQI:
phy_UE_lte_measurement_thresholds_test_and_report(instanceP, threshold_phy_pP, PHY_vars_UE_g[mod_id]->PHY_measurements.wideband_cqi_avg[0]); phy_UE_lte_measurement_thresholds_test_and_report(instanceP, threshold_phy_pP, PHY_vars_UE_g[mod_id][CC_id]->PHY_measurements.wideband_cqi_avg[0]);
break; break;
case RAL_LINK_PARAM_LTE_AVAILABLE_BW: case RAL_LINK_PARAM_LTE_AVAILABLE_BW:
break; break;
...@@ -3366,6 +3362,7 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold ...@@ -3366,6 +3362,7 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold
default:; default:;
} }
}
} }
# endif # endif
#endif #endif
...@@ -3378,6 +3375,7 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold ...@@ -3378,6 +3375,7 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold
instance_t instance; instance_t instance;
unsigned int Mod_id; unsigned int Mod_id;
int result; int result;
int CC_id =0;
#endif #endif
#undef DEBUG_PHY_PROC #undef DEBUG_PHY_PROC
...@@ -3442,7 +3440,7 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold ...@@ -3442,7 +3440,7 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold
{ {
hashtable_rc_t hashtable_rc; hashtable_rc_t hashtable_rc;
hashtable_rc = hashtable_is_key_exists(PHY_vars_UE_g[Mod_id]->ral_thresholds_timed, (uint64_t)(TIMER_HAS_EXPIRED(msg_p).timer_id)); 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));
if (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); phy_UE_lte_check_measurement_thresholds(instance, (ral_threshold_phy_t*)TIMER_HAS_EXPIRED(msg_p).arg);
} }
...@@ -3483,14 +3481,14 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold ...@@ -3483,14 +3481,14 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold
switch (PHY_MEAS_THRESHOLD_REQ(msg_p).cfg_param.link_param_type.choice) { switch (PHY_MEAS_THRESHOLD_REQ(msg_p).cfg_param.link_param_type.choice) {
case RAL_LINK_PARAM_TYPE_CHOICE_GEN: case RAL_LINK_PARAM_TYPE_CHOICE_GEN:
SLIST_INSERT_HEAD( SLIST_INSERT_HEAD(
&PHY_vars_UE_g[Mod_id]->ral_thresholds_gen_polled[PHY_MEAS_THRESHOLD_REQ(msg_p).cfg_param.link_param_type._union.link_param_gen], &PHY_vars_UE_g[Mod_id][CC_id]->ral_thresholds_gen_polled[PHY_MEAS_THRESHOLD_REQ(msg_p).cfg_param.link_param_type._union.link_param_gen],
threshold_phy_p, threshold_phy_p,
ral_thresholds); ral_thresholds);
break; break;
case RAL_LINK_PARAM_TYPE_CHOICE_LTE: case RAL_LINK_PARAM_TYPE_CHOICE_LTE:
SLIST_INSERT_HEAD( SLIST_INSERT_HEAD(
&PHY_vars_UE_g[Mod_id]->ral_thresholds_lte_polled[PHY_MEAS_THRESHOLD_REQ(msg_p).cfg_param.link_param_type._union.link_param_lte], &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, threshold_phy_p,
ral_thresholds); ral_thresholds);
break; break;
...@@ -3512,7 +3510,7 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold ...@@ -3512,7 +3510,7 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold
&timer_id); &timer_id);
if (res == 0) { if (res == 0) {
hashtable_rc = hashtable_insert(PHY_vars_UE_g[Mod_id]->ral_thresholds_timed, (uint64_t )timer_id, (void*)threshold_phy_p); 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) { if (hashtable_rc == HASH_TABLE_OK) {
threshold_phy_p->timer_id = timer_id; threshold_phy_p->timer_id = timer_id;
} else { } else {
......
...@@ -325,6 +325,8 @@ void schedule_ue_spec(module_id_t module_idP, ...@@ -325,6 +325,8 @@ void schedule_ue_spec(module_id_t module_idP,
eNB_MAC_INST *eNB = &eNB_mac_inst[module_idP]; eNB_MAC_INST *eNB = &eNB_mac_inst[module_idP];
UE_list_t *UE_list = &eNB->UE_list; UE_list_t *UE_list = &eNB->UE_list;
LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs]; LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs];
int continue_flag=0;
if (UE_list->head==-1) if (UE_list->head==-1)
return; return;
...@@ -376,21 +378,29 @@ void schedule_ue_spec(module_id_t module_idP, ...@@ -376,21 +378,29 @@ void schedule_ue_spec(module_id_t module_idP,
if (rnti==0) { if (rnti==0) {
LOG_N(MAC,"Cannot find rnti for UE_id %d (num_UEs %d)\n",UE_id,UE_list->num_UEs); LOG_N(MAC,"Cannot find rnti for UE_id %d (num_UEs %d)\n",UE_id,UE_list->num_UEs);
// mac_xface->macphy_exit("Cannot find rnti for UE_id"); // mac_xface->macphy_exit("Cannot find rnti for UE_id");
continue; continue_flag=1;
} }
if (eNB_UE_stats==NULL) { if (eNB_UE_stats==NULL) {
LOG_N(MAC,"[eNB] Cannot find eNB_UE_stats\n"); LOG_N(MAC,"[eNB] Cannot find eNB_UE_stats\n");
// mac_xface->macphy_exit("[MAC][eNB] Cannot find eNB_UE_stats\n"); // mac_xface->macphy_exit("[MAC][eNB] Cannot find eNB_UE_stats\n");
continue; continue_flag=1;
} }
if ((pre_nb_available_rbs[CC_id][UE_id] == 0) || (nCCE[CC_id] < (1<<aggregation))) { if ((pre_nb_available_rbs[CC_id][UE_id] == 0) || (nCCE[CC_id] < (1<<aggregation))) {
LOG_D(MAC,"[eNB %d] Frame %d : no RB allocated for UE %d on CC_id %d: continue \n", LOG_D(MAC,"[eNB %d] Frame %d : no RB allocated for UE %d on CC_id %d: continue \n",
module_idP, frameP, UE_id, CC_id, nb_rb_used0[CC_id], pre_nb_available_rbs[CC_id][UE_id], nCCE[CC_id], aggregation); module_idP, frameP, UE_id, CC_id, nb_rb_used0[CC_id], pre_nb_available_rbs[CC_id][UE_id], nCCE[CC_id], aggregation);
//if(mac_xface->get_transmission_mode(module_idP,rnti)==5) //if(mac_xface->get_transmission_mode(module_idP,rnti)==5)
continue; //to next user (there might be rbs availiable for other UEs in TM5 continue_flag=1; //to next user (there might be rbs availiable for other UEs in TM5
// else // else
// break; // break;
} }
if (continue_flag == 1 ){
add_ue_dlsch_info(module_idP,
CC_id,
UE_id,
subframeP,
S_DL_NONE);
continue;
}
if (frame_parms[CC_id]->frame_type == TDD) if (frame_parms[CC_id]->frame_type == TDD)
set_ue_dai (subframeP, set_ue_dai (subframeP,
frame_parms[CC_id]->tdd_config, frame_parms[CC_id]->tdd_config,
...@@ -430,9 +440,10 @@ void schedule_ue_spec(module_id_t module_idP, ...@@ -430,9 +440,10 @@ void schedule_ue_spec(module_id_t module_idP,
UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = 0; UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = 0;
} }
LOG_D(MAC,"[eNB %d] Frame %d: Scheduling UE %d on CC_id %d (rnti %x, harq_pid %d, round %d, available rb %d, cqi %d, mcs %d, rrc status %d)\n", LOG_D(MAC,"[eNB %d] Frame %d: Scheduling UE %d on CC_id %d (rnti %x, harq_pid %d, round %d, rb %d, cqi %d, mcs %d, ncc %d, rrc %d)\n",
module_idP, frameP, UE_id,CC_id,rnti,harq_pid, round,nb_available_rb, module_idP, frameP, UE_id,CC_id,rnti,harq_pid, round,nb_available_rb,
eNB_UE_stats->DL_cqi[0], eNB_UE_stats->dlsch_mcs1, eNB_UE_stats->DL_cqi[0], eNB_UE_stats->dlsch_mcs1,
nCCE[CC_id],
UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status); UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status);
...@@ -1718,7 +1729,7 @@ void fill_DLSCH_dci(module_id_t module_idP,frame_t frameP, sub_frame_t subframeP ...@@ -1718,7 +1729,7 @@ void fill_DLSCH_dci(module_id_t module_idP,frame_t frameP, sub_frame_t subframeP
case 1: case 1:
case 2: case 2:
LOG_D(MAC,"[USER-PLANE DEFAULT DRB] Adding UE spec DCI for %d PRBS (%x) => ",nb_rb,rballoc); LOG_D(MAC,"[eNB %d] Adding UE %d spec DCI for %d PRBS (rb alloc: %x) \n",module_idP, UE_id, nb_rb,rballoc);
if (PHY_vars_eNB_g[module_idP][CC_id]->lte_frame_parms.frame_type == TDD) { if (PHY_vars_eNB_g[module_idP][CC_id]->lte_frame_parms.frame_type == TDD) {
switch (PHY_vars_eNB_g[module_idP][CC_id]->lte_frame_parms.N_RB_DL) { switch (PHY_vars_eNB_g[module_idP][CC_id]->lte_frame_parms.N_RB_DL) {
case 6: case 6:
......
...@@ -540,6 +540,8 @@ void add_ue_spec_dci(DCI_PDU *DCI_pdu,void *pdu,rnti_t rnti,unsigned char dci_si ...@@ -540,6 +540,8 @@ void add_ue_spec_dci(DCI_PDU *DCI_pdu,void *pdu,rnti_t rnti,unsigned char dci_si
DCI_pdu->dci_alloc[DCI_pdu->Num_common_dci+DCI_pdu->Num_ue_spec_dci].ra_flag = ra_flag; DCI_pdu->dci_alloc[DCI_pdu->Num_common_dci+DCI_pdu->Num_ue_spec_dci].ra_flag = ra_flag;
DCI_pdu->Num_ue_spec_dci++; DCI_pdu->Num_ue_spec_dci++;
LOG_D(MAC,"add ue specific dci format %d for rnti %d \n",dci_fmt,rnti);
} }
......
...@@ -467,6 +467,7 @@ int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, uint8_t cba_group_ ...@@ -467,6 +467,7 @@ int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, uint8_t cba_group_
mac_xface->get_TBS_DL = get_TBS_DL; mac_xface->get_TBS_DL = get_TBS_DL;
mac_xface->get_TBS_UL = get_TBS_UL; mac_xface->get_TBS_UL = get_TBS_UL;
mac_xface->get_nCCE_max = get_nCCE_max; mac_xface->get_nCCE_max = get_nCCE_max;
mac_xface->get_nCCE_offset = get_nCCE_offset;
mac_xface->get_ue_mode = get_ue_mode; mac_xface->get_ue_mode = get_ue_mode;
mac_xface->phy_config_sib1_eNB = phy_config_sib1_eNB; mac_xface->phy_config_sib1_eNB = phy_config_sib1_eNB;
mac_xface->phy_config_sib1_ue = phy_config_sib1_ue; mac_xface->phy_config_sib1_ue = phy_config_sib1_ue;
......
...@@ -241,6 +241,9 @@ typedef struct ...@@ -241,6 +241,9 @@ typedef struct
/// Function to retrieve number of CCE /// Function to retrieve number of CCE
uint16_t (*get_nCCE_max)(module_id_t Mod_id,uint8_t CC_id); uint16_t (*get_nCCE_max)(module_id_t Mod_id,uint8_t CC_id);
/// Function to get the CCE offset
int (*get_nCCE_offset)(unsigned char L, int nCCE, int common_dci, unsigned short rnti, unsigned char subframe);
/// Function to retrieve number of PRB in an rb_alloc /// Function to retrieve number of PRB in an rb_alloc
uint32_t (*get_nb_rb)(uint8_t ra_header, uint32_t rb_alloc, int n_rb_dl); uint32_t (*get_nb_rb)(uint8_t ra_header, uint32_t rb_alloc, int n_rb_dl);
......
...@@ -108,7 +108,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): ...@@ -108,7 +108,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug):
for i in range(NUM_eNB) : for i in range(NUM_eNB) :
for j in range(NUM_UE) : for j in range(NUM_UE) :
conf = '-a -A AWGN -l6 -u' + str(j+1) +' -b'+ str(i+1) conf = '-a -A AWGN -l7 -u' + str(j+1) +' -b'+ str(i+1)
trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 > ' + trace tee = ' 2>&1 > ' + trace
...@@ -116,7 +116,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): ...@@ -116,7 +116,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug):
oai.send('./oaisim.rel8.nas.' + host + ' ' + conf + ' &') oai.send('./oaisim.rel8.nas.' + host + ' ' + conf + ' &')
else : else :
oai.send('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas.'+ host + ' ' + conf + tee + ' &') oai.send('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas.'+ host + ' ' + conf + tee + ' &')
time.sleep(20) time.sleep(10)
for k in range(NUM_TRIALS) : for k in range(NUM_TRIALS) :
trace_ping = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + str(k) + '_ping.txt' trace_ping = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + str(k) + '_ping.txt'
tee_ping = ' 2>&1 | tee ' + trace_ping tee_ping = ' 2>&1 | tee ' + trace_ping
...@@ -176,7 +176,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): ...@@ -176,7 +176,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug):
log_name = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) log_name = logdir + '/log_' + host + case + test + '_' + str(i) + str(j)
itti_name = log_name + '.log' itti_name = log_name + '.log'
trace_name = log_name + '.txt' trace_name = log_name + '.txt'
conf = '-a -l7 -A AWGN --enb-conf ../../PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name conf = '-a -l7 -A AWGN --enb-conf ../../PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.conf -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
tee = ' 2>&1 | tee -a ' + trace_name tee = ' 2>&1 | tee -a ' + trace_name
command = './oaisim.rel8.itti.' + host + ' ' + conf command = './oaisim.rel8.itti.' + host + ' ' + conf
oai.send('echo ' + command + ' > ' + trace_name + ';') oai.send('echo ' + command + ' > ' + trace_name + ';')
......
...@@ -94,7 +94,11 @@ try: ...@@ -94,7 +94,11 @@ try:
print "username: " + user print "username: " + user
#print "password: " + pw #print "password: " + pw
try:
prompt = os.getenv("PS1")[-2] prompt = os.getenv("PS1")[-2]
except :
#prompt = input('set your shell prompt: ')
prompt = '$'
print "your prompt is: " + prompt print "your prompt is: " + prompt
oai.connect(user,pw,prompt) oai.connect(user,pw,prompt)
......
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