Commit 1063adfe authored by nikaeinn's avatar nikaeinn
Browse files

fix/revert the pdcp array indexing based on rb id

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4176 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent cbbefb59
...@@ -90,7 +90,7 @@ BOOL pdcp_data_req(module_id_t module_id, u32_t frame, u8_t eNB_flag, rb_id_t rb ...@@ -90,7 +90,7 @@ BOOL pdcp_data_req(module_id_t module_id, u32_t frame, u8_t eNB_flag, rb_id_t rb
#ifdef PDCP_UNIT_TEST #ifdef PDCP_UNIT_TEST
pdcp_t* pdcp = test_pdcp_entity; pdcp_t* pdcp = test_pdcp_entity;
#else #else
pdcp_t* pdcp = &pdcp_array[module_id][rb_id%NB_RB_MAX]; pdcp_t* pdcp = &pdcp_array[module_id][rb_id];
#endif #endif
u8 i; u8 i;
u8 pdcp_header_len=0, pdcp_tailer_len=0; u8 pdcp_header_len=0, pdcp_tailer_len=0;
...@@ -282,7 +282,7 @@ BOOL pdcp_data_ind(module_id_t module_id, u32_t frame, u8_t eNB_flag, rb_id_t rb ...@@ -282,7 +282,7 @@ BOOL pdcp_data_ind(module_id_t module_id, u32_t frame, u8_t eNB_flag, rb_id_t rb
pdcp_t* pdcp = pdcp_test_entity; pdcp_t* pdcp = pdcp_test_entity;
list_t* sdu_list = test_list; list_t* sdu_list = test_list;
#else #else
pdcp_t* pdcp = &pdcp_array[module_id][rb_id%NB_RB_MAX]; pdcp_t* pdcp = &pdcp_array[module_id][rb_id];
list_t* sdu_list = &pdcp_sdu_list; list_t* sdu_list = &pdcp_sdu_list;
#endif #endif
mem_block_t *new_sdu = NULL; mem_block_t *new_sdu = NULL;
...@@ -562,7 +562,7 @@ BOOL rrc_pdcp_config_asn1_req (module_id_t module_id, u32_t frame, u8_t eNB_flag ...@@ -562,7 +562,7 @@ BOOL rrc_pdcp_config_asn1_req (module_id_t module_id, u32_t frame, u8_t eNB_flag
srb_id = srb2add_list->list.array[cnt]->srb_Identity; srb_id = srb2add_list->list.array[cnt]->srb_Identity;
lc_id = srb_id; lc_id = srb_id;
rb_id = (index * NB_RB_MAX) + srb_id; rb_id = (index * NB_RB_MAX) + srb_id;
if (pdcp_array[module_id][lc_id].instanciated_instance == module_id + 1) if (pdcp_array[module_id][rb_id].instanciated_instance == module_id + 1)
action = ACTION_MODIFY; action = ACTION_MODIFY;
else else
action = ACTION_ADD; action = ACTION_ADD;
...@@ -619,7 +619,7 @@ BOOL rrc_pdcp_config_asn1_req (module_id_t module_id, u32_t frame, u8_t eNB_flag ...@@ -619,7 +619,7 @@ BOOL rrc_pdcp_config_asn1_req (module_id_t module_id, u32_t frame, u8_t eNB_flag
lc_id = -1; lc_id = -1;
} }
rb_id = (index * NB_RB_MAX) + lc_id; rb_id = (index * NB_RB_MAX) + lc_id;
if (pdcp_array[module_id][lc_id].instanciated_instance == module_id + 1) if (pdcp_array[module_id][rb_id].instanciated_instance == module_id + 1)
action = ACTION_MODIFY; action = ACTION_MODIFY;
else else
action = ACTION_ADD; action = ACTION_ADD;
...@@ -767,30 +767,30 @@ BOOL pdcp_config_req_asn1 (module_id_t module_id, u32 frame, u8_t eNB_flag, u16 ...@@ -767,30 +767,30 @@ BOOL pdcp_config_req_asn1 (module_id_t module_id, u32 frame, u8_t eNB_flag, u16
u8 *kUPenc){ u8 *kUPenc){
switch (action) { switch (action) {
case ACTION_ADD: case ACTION_ADD:
pdcp_array[module_id][lc_id].instanciated_instance = module_id + 1; pdcp_array[module_id][rb_id].instanciated_instance = module_id + 1;
pdcp_array[module_id][lc_id].is_ue = (eNB_flag == 0) ? 1 : 0; pdcp_array[module_id][rb_id].is_ue = (eNB_flag == 0) ? 1 : 0;
pdcp_array[module_id][lc_id].lcid = lc_id; pdcp_array[module_id][rb_id].lcid = lc_id;
pdcp_array[module_id][lc_id].header_compression_profile=header_compression_profile; pdcp_array[module_id][rb_id].header_compression_profile=header_compression_profile;
pdcp_array[module_id][lc_id].status_report = rb_report; pdcp_array[module_id][rb_id].status_report = rb_report;
if (rb_sn == PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits) if (rb_sn == PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits)
pdcp_array[module_id][lc_id].seq_num_size = 7; pdcp_array[module_id][rb_id].seq_num_size = 7;
else if (rb_sn == PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits) else if (rb_sn == PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits)
pdcp_array[module_id][lc_id].seq_num_size=12; pdcp_array[module_id][rb_id].seq_num_size=12;
else else
pdcp_array[module_id][lc_id].seq_num_size=5; pdcp_array[module_id][rb_id].seq_num_size=5;
pdcp_array[module_id][lc_id].rlc_mode = rlc_mode; pdcp_array[module_id][rb_id].rlc_mode = rlc_mode;
pdcp_array[module_id][lc_id].next_pdcp_tx_sn = 0; pdcp_array[module_id][rb_id].next_pdcp_tx_sn = 0;
pdcp_array[module_id][lc_id].next_pdcp_rx_sn = 0; pdcp_array[module_id][rb_id].next_pdcp_rx_sn = 0;
pdcp_array[module_id][lc_id].tx_hfn = 0; pdcp_array[module_id][rb_id].tx_hfn = 0;
pdcp_array[module_id][lc_id].rx_hfn = 0; pdcp_array[module_id][rb_id].rx_hfn = 0;
pdcp_array[module_id][lc_id].last_submitted_pdcp_rx_sn = 4095; pdcp_array[module_id][rb_id].last_submitted_pdcp_rx_sn = 4095;
pdcp_array[module_id][lc_id].first_missing_pdu = -1; pdcp_array[module_id][rb_id].first_missing_pdu = -1;
LOG_I(PDCP,"[%s %d] Config request : Action ADD for %s %d: Frame %d LCID %d (rb id %d) configured with SN size %d bits and RLC %s\n", LOG_I(PDCP,"[%s %d] Config request : Action ADD for %s %d: Frame %d LCID %d (rb id %d) configured with SN size %d bits and RLC %s\n",
(eNB_flag) ? "eNB" : "UE", module_id, (eNB_flag) ? "eNB" : "UE", module_id,
(eNB_flag) ? "UE" : "eNB", index, (eNB_flag) ? "UE" : "eNB", index,
frame, lc_id, rb_id, pdcp_array[module_id][lc_id].seq_num_size, frame, lc_id, rb_id, pdcp_array[module_id][rb_id].seq_num_size,
(rlc_mode == 1) ? "AM" : (rlc_mode == 2) ? "TM" : "UM"); (rlc_mode == 1) ? "AM" : (rlc_mode == 2) ? "TM" : "UM");
/* Setup security */ /* Setup security */
...@@ -802,9 +802,9 @@ BOOL pdcp_config_req_asn1 (module_id_t module_id, u32 frame, u8_t eNB_flag, u16 ...@@ -802,9 +802,9 @@ BOOL pdcp_config_req_asn1 (module_id_t module_id, u32 frame, u8_t eNB_flag, u16
break; break;
case ACTION_MODIFY: case ACTION_MODIFY:
pdcp_array[module_id][lc_id].header_compression_profile=header_compression_profile; pdcp_array[module_id][rb_id].header_compression_profile=header_compression_profile;
pdcp_array[module_id][lc_id].status_report = rb_report; pdcp_array[module_id][rb_id].status_report = rb_report;
pdcp_array[module_id][lc_id].rlc_mode = rlc_mode; pdcp_array[module_id][rb_id].rlc_mode = rlc_mode;
/* Setup security */ /* Setup security */
if (security_mode != 0xff) { if (security_mode != 0xff) {
...@@ -812,11 +812,11 @@ BOOL pdcp_config_req_asn1 (module_id_t module_id, u32 frame, u8_t eNB_flag, u16 ...@@ -812,11 +812,11 @@ BOOL pdcp_config_req_asn1 (module_id_t module_id, u32 frame, u8_t eNB_flag, u16
} }
if (rb_sn == PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits) if (rb_sn == PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits)
pdcp_array[module_id][lc_id].seq_num_size = 7; pdcp_array[module_id][rb_id].seq_num_size = 7;
else if (rb_sn == PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits) else if (rb_sn == PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits)
pdcp_array[module_id][lc_id].seq_num_size=12; pdcp_array[module_id][rb_id].seq_num_size=12;
else else
pdcp_array[module_id][lc_id].seq_num_size=5; pdcp_array[module_id][rb_id].seq_num_size=5;
LOG_I(PDCP,"[%s %d] Config request : Action MODIFY for %s %d: Frame %d LCID %d RB id %d configured with SN size %d and RLC %s \n", LOG_I(PDCP,"[%s %d] Config request : Action MODIFY for %s %d: Frame %d LCID %d RB id %d configured with SN size %d and RLC %s \n",
(eNB_flag) ? "eNB" : "UE", module_id, (eNB_flag) ? "eNB" : "UE", module_id,
...@@ -826,33 +826,33 @@ BOOL pdcp_config_req_asn1 (module_id_t module_id, u32 frame, u8_t eNB_flag, u16 ...@@ -826,33 +826,33 @@ BOOL pdcp_config_req_asn1 (module_id_t module_id, u32 frame, u8_t eNB_flag, u16
break; break;
case ACTION_REMOVE: case ACTION_REMOVE:
pdcp_array[module_id][lc_id].instanciated_instance = 0; pdcp_array[module_id][rb_id].instanciated_instance = 0;
pdcp_array[module_id][lc_id].lcid= 0; pdcp_array[module_id][rb_id].lcid= 0;
pdcp_array[module_id][lc_id].header_compression_profile=0x0; pdcp_array[module_id][rb_id].header_compression_profile=0x0;
pdcp_array[module_id][lc_id].cipheringAlgorithm=0xff; pdcp_array[module_id][rb_id].cipheringAlgorithm=0xff;
pdcp_array[module_id][lc_id].integrityProtAlgorithm=0xff; pdcp_array[module_id][rb_id].integrityProtAlgorithm=0xff;
pdcp_array[module_id][lc_id].status_report = 0; pdcp_array[module_id][rb_id].status_report = 0;
pdcp_array[module_id][lc_id].rlc_mode = RLC_NONE; pdcp_array[module_id][rb_id].rlc_mode = RLC_NONE;
pdcp_array[module_id][lc_id].next_pdcp_tx_sn = 0; pdcp_array[module_id][rb_id].next_pdcp_tx_sn = 0;
pdcp_array[module_id][lc_id].next_pdcp_rx_sn = 0; pdcp_array[module_id][rb_id].next_pdcp_rx_sn = 0;
pdcp_array[module_id][lc_id].tx_hfn = 0; pdcp_array[module_id][rb_id].tx_hfn = 0;
pdcp_array[module_id][lc_id].rx_hfn = 0; pdcp_array[module_id][rb_id].rx_hfn = 0;
pdcp_array[module_id][lc_id].last_submitted_pdcp_rx_sn = 4095; pdcp_array[module_id][rb_id].last_submitted_pdcp_rx_sn = 4095;
pdcp_array[module_id][lc_id].seq_num_size = 0; pdcp_array[module_id][rb_id].seq_num_size = 0;
pdcp_array[module_id][lc_id].first_missing_pdu = -1; pdcp_array[module_id][rb_id].first_missing_pdu = -1;
pdcp_array[module_id][lc_id].security_activated = 0; pdcp_array[module_id][rb_id].security_activated = 0;
LOG_I(PDCP,"[%s %d] Config request : ACTION_REMOVE: Frame %d LCID %d RBID %d configured\n", LOG_I(PDCP,"[%s %d] Config request : ACTION_REMOVE: Frame %d LCID %d RBID %d configured\n",
(eNB_flag) ? "eNB" : "UE", module_id, frame, lc_id, rb_id); (eNB_flag) ? "eNB" : "UE", module_id, frame, lc_id, rb_id);
/* Security keys */ /* Security keys */
if (pdcp_array[module_id][lc_id].kUPenc != NULL) { if (pdcp_array[module_id][rb_id].kUPenc != NULL) {
free(pdcp_array[module_id][lc_id].kUPenc); free(pdcp_array[module_id][rb_id].kUPenc);
} }
if (pdcp_array[module_id][lc_id].kRRCint != NULL) { if (pdcp_array[module_id][rb_id].kRRCint != NULL) {
free(pdcp_array[module_id][lc_id].kRRCint); free(pdcp_array[module_id][rb_id].kRRCint);
} }
if (pdcp_array[module_id][lc_id].kRRCenc != NULL) { if (pdcp_array[module_id][rb_id].kRRCenc != NULL) {
free(pdcp_array[module_id][lc_id].kRRCenc); free(pdcp_array[module_id][rb_id].kRRCenc);
} }
...@@ -880,19 +880,19 @@ void pdcp_config_set_security(module_id_t module_id, u32 frame, u8 eNB_flag, rb_ ...@@ -880,19 +880,19 @@ void pdcp_config_set_security(module_id_t module_id, u32 frame, u8 eNB_flag, rb_
u16 lc_id, u8 security_mode, u8 *kRRCenc, u8 *kRRCint, u8 *kUPenc) u16 lc_id, u8 security_mode, u8 *kRRCenc, u8 *kRRCint, u8 *kUPenc)
{ {
if ((security_mode >= 0) && (security_mode <= 0x77)) { if ((security_mode >= 0) && (security_mode <= 0x77)) {
pdcp_array[module_id][lc_id].cipheringAlgorithm = security_mode & 0x0f; pdcp_array[module_id][rb_id].cipheringAlgorithm = security_mode & 0x0f;
pdcp_array[module_id][lc_id].integrityProtAlgorithm = (security_mode>>4) & 0xf; pdcp_array[module_id][rb_id].integrityProtAlgorithm = (security_mode>>4) & 0xf;
LOG_D(PDCP,"[%s %d][RB %02d] Set security mode : ACTION_SET_SECURITY_MODE: " LOG_D(PDCP,"[%s %d][RB %02d] Set security mode : ACTION_SET_SECURITY_MODE: "
"Frame %d cipheringAlgorithm %d integrityProtAlgorithm %d\n", "Frame %d cipheringAlgorithm %d integrityProtAlgorithm %d\n",
(eNB_flag) ? "eNB" : "UE", module_id, rb_id, frame, (eNB_flag) ? "eNB" : "UE", module_id, rb_id, frame,
pdcp_array[module_id][lc_id].cipheringAlgorithm, pdcp_array[module_id][rb_id].cipheringAlgorithm,
pdcp_array[module_id][lc_id].integrityProtAlgorithm); pdcp_array[module_id][rb_id].integrityProtAlgorithm);
pdcp_array[module_id][lc_id].kRRCenc = kRRCenc; pdcp_array[module_id][rb_id].kRRCenc = kRRCenc;
pdcp_array[module_id][lc_id].kRRCint = kRRCint; pdcp_array[module_id][rb_id].kRRCint = kRRCint;
pdcp_array[module_id][lc_id].kUPenc = kUPenc; pdcp_array[module_id][rb_id].kUPenc = kUPenc;
/* Activate security */ /* Activate security */
pdcp_array[module_id][lc_id].security_activated = 1; pdcp_array[module_id][rb_id].security_activated = 1;
} else { } else {
LOG_D(PDCP,"[%s %d] bad security mode %d", security_mode); LOG_D(PDCP,"[%s %d] bad security mode %d", security_mode);
} }
...@@ -905,20 +905,20 @@ void rrc_pdcp_config_req (module_id_t module_id, u32 frame, u8_t eNB_flag, u32 ...@@ -905,20 +905,20 @@ void rrc_pdcp_config_req (module_id_t module_id, u32 frame, u8_t eNB_flag, u32
*/ */
switch (action) { switch (action) {
case ACTION_ADD: case ACTION_ADD:
pdcp_array[module_id][rb_id%NB_RB_MAX].instanciated_instance = module_id + 1; pdcp_array[module_id][rb_id].instanciated_instance = module_id + 1;
pdcp_array[module_id][rb_id%NB_RB_MAX].next_pdcp_tx_sn = 0; pdcp_array[module_id][rb_id].next_pdcp_tx_sn = 0;
pdcp_array[module_id][rb_id%NB_RB_MAX].next_pdcp_rx_sn = 0; pdcp_array[module_id][rb_id].next_pdcp_rx_sn = 0;
pdcp_array[module_id][rb_id%NB_RB_MAX].tx_hfn = 0; pdcp_array[module_id][rb_id].tx_hfn = 0;
pdcp_array[module_id][rb_id%NB_RB_MAX].rx_hfn = 0; pdcp_array[module_id][rb_id].rx_hfn = 0;
/* SN of the last PDCP SDU delivered to upper layers */ /* SN of the last PDCP SDU delivered to upper layers */
pdcp_array[module_id][rb_id%NB_RB_MAX].last_submitted_pdcp_rx_sn = 4095; pdcp_array[module_id][rb_id].last_submitted_pdcp_rx_sn = 4095;
if ( (rb_id % NB_RB_MAX) < DTCH) // SRB if ( (rb_id % NB_RB_MAX) < DTCH) // SRB
pdcp_array[module_id][rb_id%NB_RB_MAX].seq_num_size = 5; pdcp_array[module_id][rb_id].seq_num_size = 5;
else // DRB else // DRB
pdcp_array[module_id][rb_id%NB_RB_MAX].seq_num_size = 12; pdcp_array[module_id][rb_id].seq_num_size = 12;
pdcp_array[module_id][rb_id%NB_RB_MAX].first_missing_pdu = -1; pdcp_array[module_id][rb_id].first_missing_pdu = -1;
LOG_D(PDCP,"[%s %d] Config request : Action ADD: Frame %d radio bearer id %d configured\n", LOG_D(PDCP,"[%s %d] Config request : Action ADD: Frame %d radio bearer id %d configured\n",
(eNB_flag) ? "eNB" : "UE", module_id, frame, rb_id); (eNB_flag) ? "eNB" : "UE", module_id, frame, rb_id);
LOG_D(PDCP, "[MSC_NEW][FRAME %05d][PDCP][MOD %02d][RB %02d]\n", frame, module_id,rb_id); LOG_D(PDCP, "[MSC_NEW][FRAME %05d][PDCP][MOD %02d][RB %02d]\n", frame, module_id,rb_id);
...@@ -926,14 +926,14 @@ void rrc_pdcp_config_req (module_id_t module_id, u32 frame, u8_t eNB_flag, u32 ...@@ -926,14 +926,14 @@ void rrc_pdcp_config_req (module_id_t module_id, u32 frame, u8_t eNB_flag, u32
case ACTION_MODIFY: case ACTION_MODIFY:
break; break;
case ACTION_REMOVE: case ACTION_REMOVE:
pdcp_array[module_id][rb_id%NB_RB_MAX].instanciated_instance = 0; pdcp_array[module_id][rb_id].instanciated_instance = 0;
pdcp_array[module_id][rb_id%NB_RB_MAX].next_pdcp_tx_sn = 0; pdcp_array[module_id][rb_id].next_pdcp_tx_sn = 0;
pdcp_array[module_id][rb_id%NB_RB_MAX].next_pdcp_rx_sn = 0; pdcp_array[module_id][rb_id].next_pdcp_rx_sn = 0;
pdcp_array[module_id][rb_id%NB_RB_MAX].tx_hfn = 0; pdcp_array[module_id][rb_id].tx_hfn = 0;
pdcp_array[module_id][rb_id%NB_RB_MAX].rx_hfn = 0; pdcp_array[module_id][rb_id].rx_hfn = 0;
pdcp_array[module_id][rb_id%NB_RB_MAX].last_submitted_pdcp_rx_sn = 4095; pdcp_array[module_id][rb_id].last_submitted_pdcp_rx_sn = 4095;
pdcp_array[module_id][rb_id%NB_RB_MAX].seq_num_size = 0; pdcp_array[module_id][rb_id].seq_num_size = 0;
pdcp_array[module_id][rb_id%NB_RB_MAX].first_missing_pdu = -1; pdcp_array[module_id][rb_id].first_missing_pdu = -1;
pdcp_array[module_id][rb_id].security_activated = 0; pdcp_array[module_id][rb_id].security_activated = 0;
LOG_D(PDCP,"[%s %d] Config request : ACTION_REMOVE: Frame %d radio bearer id %d configured\n", LOG_D(PDCP,"[%s %d] Config request : ACTION_REMOVE: Frame %d radio bearer id %d configured\n",
(eNB_flag) ? "eNB" : "UE", module_id, frame, rb_id); (eNB_flag) ? "eNB" : "UE", module_id, frame, rb_id);
...@@ -941,12 +941,12 @@ void rrc_pdcp_config_req (module_id_t module_id, u32 frame, u8_t eNB_flag, u32 ...@@ -941,12 +941,12 @@ void rrc_pdcp_config_req (module_id_t module_id, u32 frame, u8_t eNB_flag, u32
break; break;
case ACTION_SET_SECURITY_MODE: case ACTION_SET_SECURITY_MODE:
if ((security_mode >= 0 ) && (security_mode <=0x77)) { if ((security_mode >= 0 ) && (security_mode <=0x77)) {
pdcp_array[module_id][rb_id%NB_RB_MAX].cipheringAlgorithm= security_mode & 0x0f; pdcp_array[module_id][rb_id].cipheringAlgorithm= security_mode & 0x0f;
pdcp_array[module_id][rb_id%NB_RB_MAX].integrityProtAlgorithm = (security_mode>>4) & 0xf; pdcp_array[module_id][rb_id].integrityProtAlgorithm = (security_mode>>4) & 0xf;
LOG_D(PDCP,"[%s %d] Set security mode : ACTION_SET_SECURITY_MODE: Frame %d cipheringAlgorithm %d integrityProtAlgorithm %d\n", LOG_D(PDCP,"[%s %d] Set security mode : ACTION_SET_SECURITY_MODE: Frame %d cipheringAlgorithm %d integrityProtAlgorithm %d\n",
(eNB_flag) ? "eNB" : "UE", module_id, frame, (eNB_flag) ? "eNB" : "UE", module_id, frame,
pdcp_array[module_id][rb_id%NB_RB_MAX].cipheringAlgorithm, pdcp_array[module_id][rb_id].cipheringAlgorithm,
pdcp_array[module_id][rb_id%NB_RB_MAX].integrityProtAlgorithm ); pdcp_array[module_id][rb_id].integrityProtAlgorithm );
}else }else
LOG_D(PDCP,"[%s %d] bad security mode %d", security_mode); LOG_D(PDCP,"[%s %d] bad security mode %d", security_mode);
break; break;
......
...@@ -387,7 +387,7 @@ typedef struct pdcp_missing_pdu_info_t { ...@@ -387,7 +387,7 @@ typedef struct pdcp_missing_pdu_info_t {
#define PDCP_MAX_SN_12BIT 4095 // 2^12-1 #define PDCP_MAX_SN_12BIT 4095 // 2^12-1
protected_pdcp(signed int pdcp_2_nas_irq;) protected_pdcp(signed int pdcp_2_nas_irq;)
protected_pdcp(pdcp_t pdcp_array[MAX_MODULES][NB_RB_MAX];) protected_pdcp(pdcp_t pdcp_array[MAX_MODULES][MAX_MODULES*NB_RB_MAX];)
public_pdcp(pdcp_mbms_t pdcp_mbms_array[MAX_MODULES][16*29];) // MAX_SERVICEx MAX_SESSION public_pdcp(pdcp_mbms_t pdcp_mbms_array[MAX_MODULES][16*29];) // MAX_SERVICEx MAX_SESSION
protected_pdcp(sdu_size_t pdcp_output_sdu_bytes_to_write;) protected_pdcp(sdu_size_t pdcp_output_sdu_bytes_to_write;)
protected_pdcp(sdu_size_t pdcp_output_header_bytes_to_write;) protected_pdcp(sdu_size_t pdcp_output_header_bytes_to_write;)
......
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