Commit 02fd6fbd authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen

add function to allow remove pdcp/rlc instance

parent a955432e
......@@ -353,7 +353,12 @@ typedef struct {
//RLC_INTERFACE_FUNCTIONS
void (*pdcp_run)(void);
void (*pdcp_data_req)(module_id_t, rb_id_t, sdu_size_t, char*);
signed int (*rrc_rlc_config_req)(unsigned int, unsigned int, unsigned int, unsigned int, rlc_info_t );
signed int (*rrc_rlc_config_req)(unsigned int, unsigned int, unsigned int, unsigned int, rlc_info_t
#ifdef Rel14
,unsigned int
,unsigned int
#endif
);
int (*rrc_mac_config_req)(uint8_t Mod_id,uint8_t eNB_flag,uint8_t UE_id,uint8_t eNB_index,
RadioResourceConfigCommonSIB_t *radioResourceConfigCommon,
struct PhysicalConfigDedicated *physicalConfigDedicated,
......
......@@ -1686,7 +1686,12 @@ rrc_pdcp_config_req (
const srb_flag_t srb_flagP,
const uint32_t actionP,
const rb_id_t rb_idP,
const uint8_t security_modeP)
const uint8_t security_modeP
#ifdef Rel14
,const uint32_t sourceL2Id
,const uint32_t destinationL2Id
#endif
)
//-----------------------------------------------------------------------------
{
pdcp_t *pdcp_p = NULL;
......
......@@ -263,7 +263,12 @@ public_pdcp(void rrc_pdcp_config_req (
const srb_flag_t srb_flagP,
const uint32_t actionP,
const rb_id_t rb_idP,
const uint8_t security_modeP);)
const uint8_t security_modeP
#ifdef Rel14
,const uint32_t sourceL2Id
,const uint32_t destinationL2Id
#endif
);)
/*! \fn bool rrc_pdcp_config_asn1_req (const protocol_ctxt_t* const , SRB_ToAddModList_t* srb2add_list, DRB_ToAddModList_t* drb2add_list, DRB_ToReleaseList_t* drb2release_list)
* \brief Function for RRC to configure a Radio Bearer.
......
......@@ -424,6 +424,8 @@ private_rlc_rrc(rlc_union_t* rrc_rlc_add_rlc (const protocol_ctxt_t* const
* \param[in] actionP Action for this radio bearer (add, modify, remove).
* \param[in] rb_idP Radio bearer identifier.
* \param[in] rlc_infoP RLC configuration parameters issued from Radio Resource Manager.
* \param[in] sourceL2ID [D2D] source L2 Identity.
* \param[in] destinationL2ID [D2D] destination L2 Identity.
* \return A status about the processing, OK or error code.
*/
public_rlc_rrc( rlc_op_status_t rrc_rlc_config_req (
......@@ -432,7 +434,12 @@ public_rlc_rrc( rlc_op_status_t rrc_rlc_config_req (
const MBMS_flag_t,
config_action_t,
const rb_id_t,
rlc_info_t );)
rlc_info_t
#ifdef Rel14
,const uint32_t
,const uint32_t
#endif
);)
/*! \fn rlc_op_status_t rrc_rlc_data_req (const protocol_ctxt_t* const ctxtP, const MBMS_flag_t MBMS_flagP, const rb_id_t rb_idP, mui_t muiP, confirm_t confirmP, sdu_size_t sdu_sizeP, char* sduP)
* \brief Function for RRC to send a SDU through a Signalling Radio Bearer.
......
......@@ -812,7 +812,12 @@ rlc_op_status_t rrc_rlc_config_req (
const MBMS_flag_t mbms_flagP,
const config_action_t actionP,
const rb_id_t rb_idP,
const rlc_info_t rlc_infoP)
const rlc_info_t rlc_infoP
#ifdef Rel14
,const uint32_t sourceL2Id
,const uint32_t destinationL2Id
#endif
)
{
//-----------------------------------------------------------------------------
//rlc_op_status_t status;
......@@ -886,9 +891,10 @@ rlc_op_status_t rrc_rlc_config_req (
case CONFIG_ACTION_REMOVE:
return rrc_rlc_remove_rlc(ctxt_pP, srb_flagP, mbms_flagP, rb_idP
#ifdef Rel14
,0, 0
,sourceL2Id
,destinationL2Id
#endif
);
);
break;
default:
......
......@@ -89,6 +89,8 @@
#define PC5S_ESTABLISH_REQ 11
#define PC5S_ESTABLISH_RSP 12
#define PC5_DISCOVERY_MESSAGE 13
#define PC5S_RELEASE_REQ 14
#define PC5S_RELEASE_RSP 15
#define PC5_DISCOVERY_PAYLOAD_SIZE 29
......@@ -133,6 +135,11 @@ struct PC5SEstablishRsp{
uint32_t slrbid_lcid30;
};
typedef enum {
PC5S_RELEASE_OK = 0,
PC5S_RELEASE_FAILURE
} PC5S_Release_Status_t;
//PC5_DISCOVERY MESSAGE
typedef struct {
......@@ -152,6 +159,7 @@ struct sidelink_ctrl_element {
struct DirectCommunicationEstablishReq direct_comm_establish_req;
Group_Communication_Status_t group_comm_release_rsp;
Direct_Communication_Status_t direct_comm_release_rsp;
PC5S_Release_Status_t pc5s_release_rsp;
SL_UE_STATE_t ue_state;
int slrb_id;
struct PC5SEstablishReq pc5s_establish_req;
......
This diff is collapsed.
......@@ -195,13 +195,23 @@ rrc_t310_expiration(
SRB_FLAG_YES,
CONFIG_ACTION_REMOVE,
UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Srb_info.Srb_id,
0);
0
#ifdef Rel14
,0
,0
#endif
);
rrc_rlc_config_req (ctxt_pP,
SRB_FLAG_YES,
MBMS_FLAG_NO,
CONFIG_ACTION_REMOVE,
UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Srb_info.Srb_id,
Rlc_info_um);
Rlc_info_um
#ifdef Rel14
,0
,0
#endif
);
UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Active = 0;
UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Status = IDLE;
UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Next_check_frame = 0;
......
......@@ -3741,7 +3741,12 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
MBMS_FLAG_NO,
CONFIG_ACTION_REMOVE,
DRB2LCHAN[i],
Rlc_info_um);
Rlc_info_um
#ifdef Rel14
,0
,0
#endif
);
}
ue_context_pP->ue_context.DRB_active[drb_id] = 0;
......
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