Commit 03e0656e authored by Andrew Burger's avatar Andrew Burger

Debugging msg4

parent efb786d8
......@@ -504,7 +504,8 @@ int phy_rach_indication(struct nfapi_vnf_p7_config *config, nfapi_rach_indicatio
int phy_harq_indication(struct nfapi_vnf_p7_config *config, nfapi_harq_indication_t *ind) {
struct PHY_VARS_eNB_s *eNB = RC.eNB[0][0];
LOG_D(MAC, "%s() NFAPI SFN/SF:%d number_of_harqs:%u\n", __FUNCTION__, NFAPI_SFNSF2DEC(ind->sfn_sf), ind->harq_indication_body.number_of_harqs);
LOG_D(MAC, "%s() NFAPI Frame: %d Subframe: %d number_of_harqs:%u\n", __FUNCTION__, NFAPI_SFNSF2SFN(ind->sfn_sf),
NFAPI_SFNSF2SF(ind->sfn_sf), ind->harq_indication_body.number_of_harqs);
LOG_E(MAC, "%s entered\n", __func__);
pthread_mutex_lock(&eNB->UL_INFO_mutex);
if(NFAPI_MODE == NFAPI_MODE_VNF){
......
......@@ -2566,7 +2566,7 @@ typedef struct {
} nfapi_harq_indication_tdd_rel13_t;
#define NFAPI_HARQ_INDICATION_TDD_REL13_TAG 0x204F
typedef struct {
typedef struct {
nfapi_tl_t tl;
uint8_t harq_tb1;
uint8_t harq_tb2;
......
......@@ -700,8 +700,13 @@ int ul_config_req_UE_MAC(nfapi_ul_config_request_t *req,
req->ul_config_request_body.rach_prach_frequency_resources,
req->ul_config_request_body.srs_present);
int sfn = timer_frame;
int sf = timer_subframe;
// int sfn = timer_frame; // Needs the ul_config_req sfn_sf
// int sf = timer_subframe;
LOG_D(MAC, "ul_config_req Frame: %d Subframe: %d Proxy Frame: %u Subframe: %u\n",
NFAPI_SFNSF2SFN(req->sfn_sf), NFAPI_SFNSF2SF(req->sfn_sf),
timer_frame, timer_subframe);
int sfn = NFAPI_SFNSF2SFN(req->sfn_sf); // Needs the ul_config_req sfn_sf
int sf = NFAPI_SFNSF2SF(req->sfn_sf);
LOG_D(MAC,
"ul_config_req_UE_MAC() TOTAL NUMBER OF UL_CONFIG PDUs: %d, SFN/SF: "
......@@ -1345,8 +1350,9 @@ const char *hexdump(const void *data, size_t data_len, char *out, size_t out_len
LOG_E(MAC, "CQI_IND sent to Proxy, Size: %d\n", encoded_size);
break;
case NFAPI_HARQ_INDICATION:
LOG_E(MAC, "HARQ_IND sent to Proxy, Size: %d\n", encoded_size);
encoded_size = nfapi_p7_message_pack(&UL->harq_ind, buffer, sizeof(buffer), NULL);
LOG_E(MAC, "HARQ_IND sent to Proxy, Size: %d Frame %d Subframe %d\n", encoded_size,
NFAPI_SFNSF2SFN(UL->harq_ind.sfn_sf), NFAPI_SFNSF2SF(UL->harq_ind.sfn_sf));
break;
case NFAPI_RX_SR_INDICATION: // is this the right nfapi message_id? Ask Raymond
encoded_size = nfapi_p7_message_pack(&UL->sr_ind, buffer, sizeof(buffer), NULL);
......
......@@ -505,8 +505,8 @@ static void rrc_ue_generate_RRCConnectionSetupComplete( const protocol_ctxt_t *c
}
size = do_RRCConnectionSetupComplete(ctxt_pP->module_id, buffer, Transaction_id, nas_msg_length, nas_msg);
LOG_I(RRC,"[UE %d][RAPROC] Frame %d : Logical Channel UL-DCCH (SRB1), Generating RRCConnectionSetupComplete (bytes%d, eNB %d)\n",
ctxt_pP->module_id,ctxt_pP->frame, size, eNB_index);
LOG_I(RRC,"[UE %d][RAPROC] Frame %d Subframe %d : Logical Channel UL-DCCH (SRB1), Generating RRCConnectionSetupComplete (bytes%d, eNB %d)\n",
ctxt_pP->module_id,ctxt_pP->frame, ctxt_pP->subframe, size, eNB_index);
LOG_D(RLC,
"[FRAME %05d][RRC_UE][MOD %02d][][--- PDCP_DATA_REQ/%d Bytes (RRCConnectionSetupComplete to eNB %d MUI %d) --->][PDCP][MOD %02d][RB %02d]\n",
ctxt_pP->frame, ctxt_pP->module_id+NB_eNB_INST, size, eNB_index, rrc_mui, ctxt_pP->module_id+NB_eNB_INST, DCCH);
......
......@@ -1040,54 +1040,65 @@ static void *UE_phy_stub_standalone_pnf_task(void *arg)
int num_pairs = 0;
int num_lone = 0;
int last_sfn_sf = -1;
while (!oai_exit) {
bool sent_any = false;
int sfn_sf = current_sfn_sf;
if (sfn_sf == last_sfn_sf) {
if (sem_wait(&sfn_semaphore) != 0)
{
LOG_E(MAC, "sem_wait() error\n");
abort();
}
continue;
if (sem_wait(&sfn_semaphore) != 0) {
LOG_E(MAC, "sem_wait() error\n");
abort();
}
last_sfn_sf = sfn_sf;
LOG_E(MAC, "received from proxy frame %d subframe %d\n", NFAPI_SFNSF2SFN(sfn_sf),
NFAPI_SFNSF2SF(sfn_sf));
int sfn_sf = current_sfn_sf;
nfapi_dl_config_request_t *dl_config_req = get_queue(&dl_config_req_queue);
nfapi_tx_request_pdu_t *tx_request_pdu_list = get_queue(&tx_req_pdu_queue);
nfapi_ul_config_request_t *ul_config_req = get_queue(&ul_config_req_queue);
nfapi_hi_dci0_request_t *hi_dci0_req = get_queue(&hi_dci0_req_queue);
if ((dl_config_req != NULL) != (tx_request_pdu_list != NULL)) {
uint64_t start = clock_usec();
uint64_t deadline = start + 10000;
for (;;) {
if (dl_config_req == NULL) {
dl_config_req = get_queue(&dl_config_req_queue);
}
if (tx_request_pdu_list == NULL) {
tx_request_pdu_list = get_queue(&tx_req_pdu_queue);
}
if (dl_config_req && tx_request_pdu_list) {
uint64_t elapsed = clock_usec() - start;
if (elapsed > 1000) {
LOG_E(MAC, "Time difference between dl_config_req & tx_pdu is: %" PRIu64 "usec (%d %d)\n",
elapsed, num_lone, num_pairs);
}
break;
}
if (clock_usec() > deadline) {
LOG_E(MAC, "In behemoth dl_config_req: %p tx_req_pdu_list: %p (%d %d)\n", dl_config_req,
tx_request_pdu_list, num_lone, num_pairs);
break;
}
}
LOG_I(MAC, "received from proxy frame %d subframe %d\n",
NFAPI_SFNSF2SFN(sfn_sf), NFAPI_SFNSF2SF(sfn_sf));
if (dl_config_req != NULL) {
LOG_I(MAC, "dl_config_req pdus: %u\n",
dl_config_req->dl_config_request_body.number_pdu);
}
if (tx_request_pdu_list != NULL) {
LOG_I(MAC, "tx_req segments: %u\n",
tx_request_pdu_list->num_segments);
}
if (ul_config_req != NULL) {
LOG_I(MAC, "ul_config_req pdus: %u\n",
ul_config_req->ul_config_request_body.number_of_pdus);
}
if (hi_dci0_req != NULL) {
LOG_I(MAC, "hi_dci0_req pdus: %u\n",
hi_dci0_req->hi_dci0_request_body.number_of_dci);
}
// if ((dl_config_req != NULL) != (tx_request_pdu_list != NULL)) {
// uint64_t start = clock_usec();
// uint64_t deadline = start + 10000;
// for (;;) {
// if (dl_config_req == NULL) {
// dl_config_req = get_queue(&dl_config_req_queue);
// }
// if (tx_request_pdu_list == NULL) {
// tx_request_pdu_list = get_queue(&tx_req_pdu_queue);
// }
// if (dl_config_req && tx_request_pdu_list) {
// uint64_t elapsed = clock_usec() - start;
// if (elapsed > 1000) {
// LOG_E(MAC, "Time difference between dl_config_req & tx_pdu is: %" PRIu64 "usec (%d %d)\n",
// elapsed, num_lone, num_pairs);
// }
// break;
// }
// if (clock_usec() > deadline) {
// LOG_E(MAC, "In behemoth dl_config_req: %p tx_req_pdu_list: %p (%d %d)\n", dl_config_req,
// tx_request_pdu_list, num_lone, num_pairs);
// break;
// }
// }
// }
if ((dl_config_req != NULL) != (tx_request_pdu_list != NULL)) {
num_lone++;
......
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