* add an OTG test to pre-ci
* fix the bug for selecting the destination address/ID git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5669 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -833,17 +833,22 @@ void pdcp_run (
|
||||
|
||||
#if defined(USER_MODE) && defined(OAI_EMU)
|
||||
pdcp_t *pdcp_p = NULL;
|
||||
int drb_id=0 ;
|
||||
// add other rb_ids
|
||||
for (drb_id=0; drb_id < DTCH; drb_id++) {
|
||||
if (enb_flagP == ENB_FLAG_NO) {
|
||||
pdcp_p = &pdcp_array_drb_ue[ue_mod_idP][drb_id];
|
||||
} else {
|
||||
pdcp_p = &pdcp_array_drb_eNB[enb_mod_idP][ue_mod_idP][drb_id];
|
||||
int drb_id=1 ;
|
||||
int ue_id=0;
|
||||
int read_otg=1;
|
||||
// add check for other rb_ids later
|
||||
if (enb_flagP == ENB_FLAG_NO) {
|
||||
if (pdcp_array_drb_ue[ue_mod_idP][drb_id-1].instanciated_instance != TRUE )
|
||||
read_otg=0;
|
||||
} else {
|
||||
for (ue_id=0; ue_id < NB_UE_INST; ue_id++)
|
||||
if (pdcp_array_drb_eNB[enb_mod_idP][ue_id][drb_id-1].instanciated_instance != TRUE ){
|
||||
read_otg =0;
|
||||
break;
|
||||
}
|
||||
if (pdcp_p->instanciated_instance == TRUE )
|
||||
pdcp_fifo_read_input_sdus_from_otg(frameP, enb_flagP, ue_mod_idP, enb_mod_idP);
|
||||
}
|
||||
}
|
||||
if (read_otg == 1 )
|
||||
pdcp_fifo_read_input_sdus_from_otg(frameP, enb_flagP, ue_mod_idP, enb_mod_idP);
|
||||
#endif
|
||||
|
||||
// IP/NAS -> PDCP traffic : TX, read the pkt from the upper layer buffer
|
||||
|
||||
@@ -848,7 +848,8 @@ void pdcp_fifo_read_input_sdus_from_otg (frame_t frameP, eNB_flag_t enb_flagP, m
|
||||
module_id_t src_id, module_id; // src for otg
|
||||
module_id_t dst_id; // dst for otg
|
||||
rb_id_t rb_id;
|
||||
signed long pkt_size=0, pkt_cnt=0;
|
||||
signed long pkt_size=0;
|
||||
static unsigned int pkt_cnt_enb=0, pkt_cnt_ue=0;
|
||||
uint8_t pdcp_mode, is_ue=0;
|
||||
Packet_otg_elt_t *otg_pkt_info=NULL;
|
||||
int result;
|
||||
@@ -878,23 +879,23 @@ void pdcp_fifo_read_input_sdus_from_otg (frame_t frameP, eNB_flag_t enb_flagP, m
|
||||
pkt_size = (otg_pkt_info->otg_pkt).sdu_buffer_size;
|
||||
if (otg_pkt != NULL) {
|
||||
if (is_ue == 0 ) {
|
||||
rlc_util_print_hex_octets(PDCP,
|
||||
/*rlc_util_print_hex_octets(PDCP,
|
||||
otg_pkt,
|
||||
pkt_size);
|
||||
|
||||
*/
|
||||
//rb_id = (/*NB_eNB_INST +*/ dst_id -1 ) * MAX_NUM_RB + DTCH;
|
||||
LOG_D(OTG,"[eNB %d] Frame %d sending packet %d from module %d on rab id %d (src %d, dst %d) pkt size %d for pdcp mode %d\n",
|
||||
enb_mod_idP, frameP, pkt_cnt++, module_id, rb_id, module_id, dst_id, pkt_size, pdcp_mode);
|
||||
result = pdcp_data_req(enb_mod_idP, ue_mod_idP, frameP, enb_flagP, SRB_FLAG_NO, rb_id, RLC_MUI_UNDEFINED, RLC_SDU_CONFIRM_NO, pkt_size, otg_pkt,pdcp_mode);
|
||||
enb_mod_idP, frameP, pkt_cnt_enb++, module_id, rb_id, module_id, dst_id, pkt_size, pdcp_mode);
|
||||
result = pdcp_data_req(enb_mod_idP, dst_id, frameP, enb_flagP, SRB_FLAG_NO, rb_id, RLC_MUI_UNDEFINED, RLC_SDU_CONFIRM_NO, pkt_size, otg_pkt,pdcp_mode);
|
||||
AssertFatal (result == TRUE, "PDCP data request failed!\n");
|
||||
}
|
||||
else {
|
||||
//rb_id= eNB_index * MAX_NUM_RB + DTCH;
|
||||
|
||||
|
||||
LOG_D(OTG,"[UE %d] sending packet from module %d on rab id %d (src %d, dst %d) pkt size %d\n",
|
||||
ue_mod_idP, src_id, rb_id, src_id, dst_id, pkt_size);
|
||||
result = pdcp_data_req( enb_mod_idP,
|
||||
LOG_D(OTG,"[UE %d] Frame %d: sending packet %d from module %d on rab id %d (src %d, dst %d) pkt size %d\n",
|
||||
ue_mod_idP, frameP, pkt_cnt_ue++, src_id, rb_id, src_id, dst_id, pkt_size);
|
||||
result = pdcp_data_req( dst_id,
|
||||
ue_mod_idP,
|
||||
frameP,
|
||||
enb_flagP,
|
||||
|
||||
@@ -211,6 +211,8 @@ void kpi_gen() {
|
||||
|
||||
int num_active_source=0;
|
||||
|
||||
|
||||
int dl_ok=0,ul_ok;
|
||||
|
||||
char traffic_type[12];
|
||||
char traffic[30];
|
||||
@@ -686,7 +688,9 @@ if ((g_otg->background_stats==1)&&(otg_info->tx_num_bytes_background[i][j]>0)){
|
||||
LOG_I(OTG,"[DATA] TX throughput = %.7f(Kbit/s) \n", ((double)tx_total_bytes_dl*1000*8)/(otg_info->ctime*1024));
|
||||
LOG_I(OTG,"[DATA] RX throughput = %.7f(Kbit/s) \n", ((double)rx_total_bytes_dl*1000*8)/(otg_info->ctime*1024));
|
||||
LOG_I(OTG,"[DATA] NB lost packet = %d \n", tx_total_pkts_dl - rx_total_pkts_dl );
|
||||
if ((g_otg->background_stats==1)&&(tx_total_pkts_dl_background>0)){
|
||||
if (tx_total_pkts_dl - rx_total_pkts_dl < (int) (tx_total_pkts_dl / 10) ) // below 10% of loss
|
||||
dl_ok=1;
|
||||
if ((g_otg->background_stats==1)&&(tx_total_pkts_dl_background>0)){
|
||||
LOG_I(OTG,"[BACKGROUND] Total packets(TX)= %d \n", tx_total_pkts_dl_background);
|
||||
LOG_I(OTG,"[BACKGROUND] Total bytes(TX)= %d \n", tx_total_bytes_dl_background);
|
||||
LOG_I(OTG,"[BACKGROUND] Total packets(RX)= %d \n", rx_total_pkts_dl_background);
|
||||
@@ -747,6 +751,10 @@ if ((g_otg->background_stats==1)&&(otg_info->tx_num_bytes_background[i][j]>0)){
|
||||
LOG_I(OTG,"[DATA] JITTER AVG ms= %lf \n", otg_info->average_jitter_ul/(float)num_active_source);
|
||||
LOG_I(OTG,"[DATA] TX throughput = %.7f(Kbit/s) \n", ((double)tx_total_bytes_ul*1000*8)/(otg_info->ctime*1024));
|
||||
LOG_I(OTG,"[DATA] RX throughput = %.7f(Kbit/s) \n", ((double)rx_total_bytes_ul*1000*8)/(otg_info->ctime*1024));
|
||||
LOG_I(OTG,"[DATA] NB lost packet = %d \n", tx_total_pkts_ul - rx_total_pkts_ul );
|
||||
if ((tx_total_pkts_ul - rx_total_pkts_ul) < (int)(tx_total_pkts_ul / 10) )
|
||||
ul_ok=1;
|
||||
|
||||
if ((g_otg->background_stats==1)&&(tx_total_pkts_ul_background>0)){
|
||||
LOG_I(OTG,"[BACKGROUND] Total packets(TX)= %d \n", tx_total_pkts_ul_background);
|
||||
LOG_I(OTG,"[BACKGROUND] Total bytes(TX)= %d \n", tx_total_bytes_ul_background);
|
||||
@@ -767,6 +775,7 @@ if ((g_otg->background_stats==1)&&(otg_info->tx_num_bytes_background[i][j]>0)){
|
||||
LOG_F(OTG,"[DATA] JITTER AVG ms= %lf \n", otg_info->average_jitter_ul/(float)num_active_source);
|
||||
LOG_F(OTG,"[DATA] TX throughput = %.7f(Kbit/s) \n", ((double)tx_total_bytes_ul*1000*8)/(otg_info->ctime*1024));
|
||||
LOG_F(OTG,"[DATA] RX throughput = %.7f(Kbit/s) \n", ((double)rx_total_bytes_ul*1000*8)/(otg_info->ctime*1024));
|
||||
LOG_F(OTG,"[DATA] NB lost packet = %d \n", tx_total_pkts_ul - rx_total_pkts_ul );
|
||||
if ((g_otg->background_stats==1)&&(tx_total_pkts_ul_background>0)){
|
||||
LOG_F(OTG,"[BACKGROUND] Total packets(TX)= %d \n", tx_total_pkts_ul_background);
|
||||
LOG_F(OTG,"[BACKGROUND] Total bytes(TX)= %d \n", tx_total_bytes_ul_background);
|
||||
@@ -777,6 +786,10 @@ if ((g_otg->background_stats==1)&&(otg_info->tx_num_bytes_background[i][j]>0)){
|
||||
|
||||
}
|
||||
|
||||
if ((dl_ok == 1 ) && (ul_ok ==1))
|
||||
LOG_I(OTG,"************ DL and UL loss rate below 10% *************\n");
|
||||
else
|
||||
LOG_I(OTG,"************ DL and UL loss rate above 10% *************\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user