Commit e4ac9023 authored by Navid Nikaein's avatar Navid Nikaein

Fix F1-U srb and drb function calls (not tested).

parent ddb238b8
...@@ -395,7 +395,13 @@ boolean_t pdcp_data_req( ...@@ -395,7 +395,13 @@ boolean_t pdcp_data_req(
confirmP, pdcp_pdu_size, pdcp_pdu_p); confirmP, pdcp_pdu_size, pdcp_pdu_p);
/* assume good status */ /* assume good status */
rlc_status = RLC_OP_STATUS_OK; rlc_status = RLC_OP_STATUS_OK;
} else { ret = TRUE;
} else if (RC.rrc[ctxt_pP->module_id]->node_type == ngran_eNB_DU
|| RC.rrc[ctxt_pP->module_id]->node_type == ngran_gNB_DU){
LOG_E(PDCP, "Can't be DU, bad node type %d \n", RC.rrc[ctxt_pP->module_id]->node_type);
ret=FALSE;
}
else {
rlc_status = rlc_data_req(ctxt_pP, srb_flagP, MBMS_FLAG_NO, rb_idP, muiP, rlc_status = rlc_data_req(ctxt_pP, srb_flagP, MBMS_FLAG_NO, rb_idP, muiP,
confirmP, pdcp_pdu_size, pdcp_pdu_p confirmP, pdcp_pdu_size, pdcp_pdu_p
...@@ -404,6 +410,32 @@ boolean_t pdcp_data_req( ...@@ -404,6 +410,32 @@ boolean_t pdcp_data_req(
,destinationL2Id ,destinationL2Id
#endif #endif
); );
switch (rlc_status) {
case RLC_OP_STATUS_OK:
LOG_D(PDCP, "Data sending request over RLC succeeded!\n");
ret=TRUE;
break;
case RLC_OP_STATUS_BAD_PARAMETER:
LOG_W(PDCP, "Data sending request over RLC failed with 'Bad Parameter' reason!\n");
ret= FALSE;
break;
case RLC_OP_STATUS_INTERNAL_ERROR:
LOG_W(PDCP, "Data sending request over RLC failed with 'Internal Error' reason!\n");
ret= FALSE;
break;
case RLC_OP_STATUS_OUT_OF_RESSOURCES:
LOG_W(PDCP, "Data sending request over RLC failed with 'Out of Resources' reason!\n");
ret= FALSE;
break;
default:
LOG_W(PDCP, "RLC returned an unknown status code after PDCP placed the order to send some data (Status Code:%d)\n", rlc_status);
ret= FALSE;
break;
} // switch case
} /* end if node_type is CU */ } /* end if node_type is CU */
free_mem_block(pdcp_pdu_p, __FUNCTION__); free_mem_block(pdcp_pdu_p, __FUNCTION__);
......
...@@ -625,14 +625,8 @@ void rlc_data_ind ( ...@@ -625,14 +625,8 @@ void rlc_data_ind (
case ngran_eNB_CU : case ngran_eNB_CU :
case ngran_ng_eNB_CU : case ngran_ng_eNB_CU :
case ngran_gNB_CU : case ngran_gNB_CU :
proto_agent_send_pdcp_data_ind ( LOG_E(RLC, "Can't be CU, Bad Node type %d\n",RC.rrc[ctxt_pP->module_id]->node_type);
ctxt_pP, break ;
1, // srb_flagP,
0, // MBMS_flagP,
rb_idP,
sdu_sizeP,
sdu_pP);
break;
case ngran_eNB_DU : case ngran_eNB_DU :
case ngran_gNB_DU : case ngran_gNB_DU :
if (srb_flagP == 1) if (srb_flagP == 1)
...@@ -640,6 +634,15 @@ void rlc_data_ind ( ...@@ -640,6 +634,15 @@ void rlc_data_ind (
rb_idP, rb_idP,
sdu_sizeP, sdu_sizeP,
sdu_pP->data); sdu_pP->data);
else
proto_agent_send_pdcp_data_ind (
ctxt_pP,
srb_flagP,
MBMS_flagP,
rb_idP,
sdu_sizeP,
sdu_pP);
break; break;
default: default:
......
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