Commit de983924 authored by lfq's avatar lfq

time test

parent b9e6a565
......@@ -49,8 +49,8 @@ gNBs =
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "eno1";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.199.225/24";
GNB_INTERFACE_NAME_FOR_NGU = "eno1";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.199.225/24";
GNB_INTERFACE_NAME_FOR_NGU = "enp103s0f1";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.199.200/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
......
......@@ -181,8 +181,8 @@ int main(int argc, char **argv)
// AssertFatal(rc >= 0, "Create task for SP U failed\n");
rc = itti_create_task(TASK_SP_SORT, SP_sort_task, NULL);
AssertFatal(rc >= 0, "Create task for SP sort failed\n");
rc = itti_create_task(TASK_SP_SORT, SP_sort_task, NULL);
AssertFatal(rc >= 0, "Create task for SP sort failed\n");
// rc = itti_create_task(TASK_SP_SORT, SP_sort_task, NULL);
// AssertFatal(rc >= 0, "Create task for SP sort failed\n");
rc = itti_create_task(TASK_SDAP_GTP, sdap_gtp_Task, NULL);
AssertFatal(rc >= 0, "Create task for sdap gtp failed\n");
nr_pdcp_layer_init();
......
......@@ -82,8 +82,7 @@ static void fill_DRB_configList_e1(NR_DRB_ToAddModList_t *DRB_configList, pdu_se
asn1cCallocOne(drbCfg->integrityProtection, NR_PDCP_Config__drb__integrityProtection_enabled);
}
if (pdu->confidentialityProtectionIndication == 0 || // Required
pdu->confidentialityProtectionIndication == 1) { // Preferred
if (pdu->confidentialityProtectionIndication == 2) { // Preferred
asn1cCalloc(pdcp_config->ext1, ext1);
asn1cCallocOne(ext1->cipheringDisabled, NR_PDCP_Config__ext1__cipheringDisabled_true);
}
......
......@@ -65,6 +65,7 @@
#include "nr_pdcp_e1_api.h"
#include "gnb_config.h"
#include "executables/softmodem-common.h"
#include <time.h>
int count_pdcp=0;
uint8_t *pdcp_ctxt;
uint8_t *pdcp_drb_shm = NULL;
......@@ -439,6 +440,8 @@ static void do_pdcp_data_ind(
rb->set_time = nr_pdcp_entity_set_time;
rb->delete_entity = nr_pdcp_entity_delete;
rb->get_stats = nr_pdcp_entity_get_stats;
rb->free_integrity = NULL;
rb->free_security = NULL;
// rb->deliver_sdu = deliver_sdu_drb;
// rb->deliver_pdu = deliver_pdu_drb;
nr_pdcp_entity_set_security(rb,
......@@ -1481,6 +1484,7 @@ void *pdcp_dl_task(void *arg){
float time_thirty = 0;
float gap_thirty = 0;
int pack_thirty = 0;
LOG_I(PDCP,"------size %d\n",sizeof(pdcp_data_req_msgbuf));
while(1) {
int msgId = msgget(0x5678, 0777);
if(msgId==-1){
......@@ -1544,7 +1548,7 @@ void *pdcp_dl_task(void *arg){
time_thirty=0;
}
temp = msg_state.timeval_pdcp_read;
usleep(8);
// LOG_I(PDCP,"msg num :%d\n",readBuf.sq.msg_state.msg_num);
// LOG_I(PDCP,"gtp to sdap %d sec,%d us\n", msg_state.timeval_gtp_to_sdap.tv_sec, msg_state.timeval_gtp_to_sdap.tv_usec);
// LOG_I(PDCP,"sdap read %d sec,%d us\n",msg_state.timeval_sdap_read.tv_sec, msg_state.timeval_sdap_read.tv_usec);
......
......@@ -235,6 +235,7 @@ void *SP_task(void *arg){
float time_thirty = 0;
float gap_thirty = 0;
int pack_thirty = 0;
LOG_I(SDAP,"------size %d\n",sizeof(msgbuf));
while(1) {
int msgId = msgget(0x1234, 0777);
if(msgId==-1){
......
......@@ -1703,6 +1703,24 @@ void *SP_sort_task(void *args) {
return NULL;
}
typedef struct {
int msg_num;
int gap_wait_g_s;
int gap_wait_s;
int gap_wait_s_p;
int gap_wait_p;
int gap_wait_p_g;
int gap_wait_g;
int gap_g_s;
int gap_s;
int gap_s_p;
int gap_p;
int gap_p_g;
int num_sdap;
int num_pdcp;
int num_gtp;
} test_10000_pack;
test_10000_pack test_10000[100];
void *SP_monitor_task(void *args) {
msgbuf_pdcp_t readBuf;
int sum_byte = 0;
......@@ -1720,6 +1738,11 @@ void *SP_monitor_task(void *args) {
double msg_g_s_30,msg_s_p_30,msg_p_g_30=0;
memset(&temp,0,sizeof(pdcp_data_t));
FILE* fp;
memset(test_10000,0,sizeof(test_10000));
int test_10000_flag=0;
bool if_begin_in = false;
int gap_wait_g_s,gap_wait_s,gap_wait_s_p,gap_wait_p,gap_wait_p_g,gap_wait_g=0;
float sum_us_ms,sum_gap_gtp_to_sdap_ms,sum_gap_sdap_to_pdcp_ms,sum_gap_pdcp_to_gtp_ms,sum_gap_sdap_ms,sum_gap_pdcp_ms= 0;
while(1) {
int msgId = msgget(0x6789, 0777);
if(msgId==-1){
......@@ -1731,40 +1754,7 @@ void *SP_monitor_task(void *args) {
perror("msgrcv"); //invalid argument to msgrcv
exit(1);
}else{
// if(sum_package == 0){
// temp = readBuf.q;
// }
// sum_byte += readBuf.q.size;
// if(sum_byte < 1048576){
// sum_package++;
// }else{
// sum_package = 0;
// ret_byte = sum_byte - 1048576;
// sum_byte = ret_byte;
// long int sec_sec = readBuf.q.timeval_gtp_read.tv_sec-temp.timeval_gtp_read.tv_sec;
// long int usec_usec = readBuf.q.timeval_gtp_read.tv_usec-temp.timeval_gtp_read.tv_usec;
// LOG_I(GTPU,"%d usec per Mbyte\n",sec_sec*1000000+usec_usec);
// }
// LOG_I(GTPU,"%d %d %d %d,\n",readBuf.q.timeval_gtp_read.tv_usec,readBuf.q.timeval_gtp_to_sdap.tv_usec,
// readBuf.q.timeval_sdap_read.tv_usec,readBuf.q.timeval_sdap_to_pdcp.tv_usec);
// if(temp.sec_1!=0){
// // LOG_I(GTPU,"temp %d read %d\n",temp.sec_4,readBuf.q.sec_4);
// gap_wait_sdap = readBuf.q.sec_4-temp.sec_4;
// gap_wait_pdcp = readBuf.q.sec_8-temp.sec_8;
// gap_wait_gtp = readBuf.q.sec_12-temp.sec_12;
// if(gap_wait_sdap<0){
// gap_wait_sdap = 1000000+gap_wait_sdap;
// }
// if(gap_wait_pdcp<0){
// gap_wait_pdcp = 1000000+gap_wait_pdcp ;
// }
// if(gap_pdcp<0){
// gap_wait_gtp = 1000000+gap_wait_gtp;
// }
// wait_sdap += gap_wait_sdap;
// wait_pdcp += gap_wait_pdcp;
// wait_gtp += gap_wait_gtp;
// }
sum_package++;
sum_byte += readBuf.q.size;
sum_msg_sdap += readBuf.q.sdap_msg_num;
......@@ -1776,7 +1766,12 @@ void *SP_monitor_task(void *args) {
gap_pdcp_to_gtp = readBuf.q.sec_12 - readBuf.q.sec_10;
gap_sdap = readBuf.q.sec_6 - readBuf.q.sec_4;
gap_pdcp = readBuf.q.sec_10 - readBuf.q.sec_8;
gap_wait_g_s = readBuf.q.sec_2- temp.sec_2;
gap_wait_s = readBuf.q.sec_4 - temp.sec_4;
gap_wait_s_p = readBuf.q.sec_6 - temp.sec_6;
gap_wait_p = readBuf.q.sec_8 - temp.sec_8;
gap_wait_p_g = readBuf.q.sec_10 - temp.sec_10;
gap_wait_g = readBuf.q.sec_12 - temp.sec_12;
if(gap<0){
gap = 1000000+gap;
}
......@@ -1795,12 +1790,65 @@ void *SP_monitor_task(void *args) {
if(gap_pdcp<0){
gap_pdcp = 1000000+gap_pdcp;
}
if(gap_wait_g_s<0){
gap_wait_g_s = 1000000+gap_wait_g_s;
}
if(gap_wait_s<0){
gap_wait_s = 1000000+gap_wait_s;
}
if(gap_wait_s_p<0){
gap_wait_s_p = 1000000+gap_wait_s_p;
}
if(gap_wait_p<0){
gap_wait_p = 1000000+gap_wait_p;
}
if(gap_wait_p_g<0){
gap_wait_p_g = 1000000+gap_wait_p_g;
}
if(gap_wait_g<0){
gap_wait_g = 1000000+gap_wait_g;
}
sum_us += gap;
sum_gap_gtp_to_sdap += gap_gtp_to_sdap;
sum_gap_sdap_to_pdcp += gap_sdap_to_pdcp;
sum_gap_pdcp_to_gtp += gap_pdcp_to_gtp;
sum_gap_sdap += gap_sdap;
sum_gap_pdcp += gap_pdcp;
if(readBuf.q.pdcp_msg_num>5){
if_begin_in = true;
// LOG_I(GTPU,"begin in\n");
}
if(if_begin_in){
test_10000[test_10000_flag].msg_num=readBuf.q.msg_num;
test_10000[test_10000_flag].gap_wait_g_s=gap_wait_g_s;
test_10000[test_10000_flag].gap_wait_s=gap_wait_s;
test_10000[test_10000_flag].gap_wait_s_p=gap_wait_s_p;
test_10000[test_10000_flag].gap_wait_p=gap_wait_p;
test_10000[test_10000_flag].gap_wait_p_g=gap_wait_p_g;
test_10000[test_10000_flag].gap_wait_g=gap_wait_g;
test_10000[test_10000_flag].gap_g_s=gap_gtp_to_sdap;
test_10000[test_10000_flag].gap_s=gap_sdap;
test_10000[test_10000_flag].gap_s_p=gap_sdap_to_pdcp;
test_10000[test_10000_flag].gap_p=gap_pdcp;
test_10000[test_10000_flag].gap_p_g=gap_pdcp_to_gtp;
test_10000[test_10000_flag].num_sdap=readBuf.q.sdap_msg_num;
test_10000[test_10000_flag].num_pdcp=readBuf.q.pdcp_msg_num;
test_10000[test_10000_flag].num_gtp=readBuf.q.gtp_msg_num;
test_10000_flag++;
}
if(test_10000_flag==100){
// LOG_I(GTPU,"finish in \n");
// for(int i=0;i<100;i++){
// LOG_I(GTPU,"%d | %d %d %d %d %d %d | %d %d %d %d %d | %d %d %d\n",test_10000[i].msg_num,
// test_10000[i].gap_wait_g_s,test_10000[i].gap_wait_s,test_10000[i].gap_wait_s_p,
// test_10000[i].gap_wait_p,test_10000[i].gap_wait_p_g,test_10000[i].gap_wait_g,
// test_10000[i].gap_g_s,test_10000[i].gap_s,test_10000[i].gap_s_p,test_10000[i].gap_p,test_10000[i].gap_p_g,
// test_10000[i].num_sdap,test_10000[i].num_pdcp,test_10000[i].num_gtp);
// }
test_10000_flag = 0;
if_begin_in=false;
}
if(temp.sec_11!=readBuf.q.sec_11){
// LOG_I(GTPU,"time temp %d tv_sec %d \n",temp.timeval_gtp_read.tv_sec,readBuf.q.timeval_gtp_read.tv_sec);
time_thirth++;
......@@ -1813,9 +1861,9 @@ void *SP_monitor_task(void *args) {
// LOG_I(GTPU," %f us per package %f %f %f %f %f ; %d , %d. \n",
// sum_us,sum_gap_gtp_to_sdap,sum_gap_sdap,sum_gap_sdap_to_pdcp,
// sum_gap_pdcp,sum_gap_pdcp_to_gtp,sum_byte,sum_package);
LOG_I(GTPU," %f us per package %f %f %f %f %f ; %d , %d. \n",
LOG_I(GTPU," %f us per package %f %f %f %f %f ; %f , %d. \n",
package_per_us,sum_gap_gtp_to_sdap/sum_package,sum_gap_sdap/sum_package,sum_gap_sdap_to_pdcp/sum_package,
sum_gap_pdcp/sum_package,sum_gap_pdcp_to_gtp/sum_package,sum_byte,sum_package);
sum_gap_pdcp/sum_package,sum_gap_pdcp_to_gtp/sum_package,sum_f,sum_package);
LOG_I(GTPU," %f %f %f msg num \n",sum_msg_sdap/sum_package,sum_msg_pdcp/sum_package,sum_msg_gtp/sum_package);
// LOG_I(GTPU,"%f %f %f\n",wait_sdap/sum_package,wait_pdcp/sum_package,wait_gtp/sum_package);
// fp = fopen("../../../../ceshishijian.txt", "a+");
......@@ -1869,15 +1917,6 @@ void *SP_monitor_task(void *args) {
}
temp = readBuf.q;
// LOG_I(GTPU,"gap %d \n", readBuf.q.timeval_gtp_read.tv_usec-readBuf.q.timeval_gtp_to_sdap.tv_usec);
// LOG_I(GTPU,"gtp to sdap %d sec,%d us\n", readBuf.q.timeval_gtp_to_sdap.tv_sec, readBuf.q.timeval_gtp_to_sdap.tv_usec);
// LOG_I(GTPU,"sdap read %d sec,%d us\n",readBuf.q.timeval_sdap_read.tv_sec, readBuf.q.timeval_sdap_read.tv_usec);
// LOG_I(GTPU,"sdap to pdcp %d sec,%d us\n",readBuf.q.timeval_sdap_to_pdcp.tv_sec, readBuf.q.timeval_sdap_to_pdcp.tv_usec);
// LOG_I(GTPU,"pdcp read %d sec,%d us\n",readBuf.q.timeval_pdcp_read.tv_sec, readBuf.q.timeval_pdcp_read.tv_usec);
// LOG_I(GTPU,"pdcp to gtp %d sec,%d us\n",readBuf.q.timeval_pdcp_to_gtp.tv_sec, readBuf.q.timeval_pdcp_to_gtp.tv_usec);
// LOG_I(GTPU,"GTP read %d sec,%d us\n",readBuf.q.timeval_gtp_read.tv_sec, readBuf.q.timeval_gtp_read.tv_usec);
// LOG_I(PDCP,"size %d\n",readBuf.q.msg_num);
}
......
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