Modify starting LCID for DTCH to start from 4 instead of 3 for both UL and DL
- Make required adaptations in RLC and default DRB configuration
This commit is contained in:
@@ -176,7 +176,7 @@ typedef struct {
|
||||
#define DL_SCH_LCID_CCCH 0x00
|
||||
#define DL_SCH_LCID_DCCH 0x01
|
||||
#define DL_SCH_LCID_DCCH1 0x02
|
||||
#define DL_SCH_LCID_DTCH 0x03
|
||||
#define DL_SCH_LCID_DTCH 0x04
|
||||
#define DL_SCH_LCID_RECOMMENDED_BITRATE 0x2F
|
||||
#define DL_SCH_LCID_SP_ZP_CSI_RS_RES_SET_ACT 0x30
|
||||
#define DL_SCH_LCID_PUCCH_SPATIAL_RELATION_ACT 0x31
|
||||
|
||||
@@ -2390,7 +2390,7 @@ void nr_ip_over_LTE_DRB_preconfiguration(void){
|
||||
// 1 + drb_identiy_index;
|
||||
DRB_config->drb_Identity = 1;
|
||||
DRB_config->logicalChannelIdentity = CALLOC(1, sizeof(long));
|
||||
*(DRB_config->logicalChannelIdentity) = DRB_config->drb_Identity + 2; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
|
||||
*(DRB_config->logicalChannelIdentity) = DRB_config->drb_Identity + 3; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
|
||||
|
||||
DRB_rlc_config = CALLOC(1, sizeof(*DRB_rlc_config));
|
||||
DRB_config->rlc_Config = DRB_rlc_config;
|
||||
|
||||
@@ -72,8 +72,8 @@ void mac_rlc_data_ind (
|
||||
LOG_I(RLC, "RLC instance for the given UE was not found \n");
|
||||
|
||||
switch (channel_idP) {
|
||||
case 1 ... 2: rb = ue->srb[channel_idP - 1]; break;
|
||||
case 3 ... 7: rb = ue->drb[channel_idP - 3]; break;
|
||||
case 1 ... 3: rb = ue->srb[channel_idP - 1]; break;
|
||||
case 4 ... 7: rb = ue->drb[channel_idP - 4]; break;
|
||||
default: rb = NULL; break;
|
||||
}
|
||||
|
||||
@@ -113,8 +113,8 @@ tbs_size_t mac_rlc_data_req(
|
||||
ue = nr_rlc_manager_get_ue(nr_rlc_ue_manager, rntiP);
|
||||
|
||||
switch (channel_idP) {
|
||||
case 1 ... 2: rb = ue->srb[channel_idP - 1]; break;
|
||||
case 3 ... 7: rb = ue->drb[channel_idP - 3]; break;
|
||||
case 1 ... 3: rb = ue->srb[channel_idP - 1]; break;
|
||||
case 4 ... 7: rb = ue->drb[channel_idP - 4]; break;
|
||||
default: rb = NULL; break;
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ tbs_size_t mac_rlc_data_req(
|
||||
maxsize = tb_sizeP;
|
||||
ret = rb->generate_pdu(rb, buffer_pP, maxsize);
|
||||
} else {
|
||||
LOG_E(RLC, "%s:%d:%s: fatal: data req for unknown RB\n", __FILE__, __LINE__, __FUNCTION__);
|
||||
LOG_E(RLC, "%s:%d:%s: fatal: data req for unknown RB, channel_idP: %d\n", __FILE__, __LINE__, __FUNCTION__, channel_idP);
|
||||
exit(1);
|
||||
ret = 0;
|
||||
}
|
||||
@@ -166,8 +166,8 @@ mac_rlc_status_resp_t mac_rlc_status_ind(
|
||||
ue = nr_rlc_manager_get_ue(nr_rlc_ue_manager, rntiP);
|
||||
|
||||
switch (channel_idP) {
|
||||
case 1 ... 2: rb = ue->srb[channel_idP - 1]; break;
|
||||
case 3 ... 7: rb = ue->drb[channel_idP - 3]; break;
|
||||
case 1 ... 3: rb = ue->srb[channel_idP - 1]; break;
|
||||
case 4 ... 7: rb = ue->drb[channel_idP - 4]; break;
|
||||
default: rb = NULL; break;
|
||||
}
|
||||
|
||||
@@ -227,8 +227,8 @@ rlc_buffer_occupancy_t mac_rlc_get_buffer_occupancy_ind(
|
||||
ue = nr_rlc_manager_get_ue(nr_rlc_ue_manager, rntiP);
|
||||
|
||||
switch (channel_idP) {
|
||||
case 1 ... 2: rb = ue->srb[channel_idP - 1]; break;
|
||||
case 3 ... 7: rb = ue->drb[channel_idP - 3]; break;
|
||||
case 1 ... 3: rb = ue->srb[channel_idP - 1]; break;
|
||||
case 4 ... 7: rb = ue->drb[channel_idP - 4]; break;
|
||||
default: rb = NULL; break;
|
||||
}
|
||||
|
||||
@@ -654,11 +654,11 @@ static void add_drb_am(int rnti, struct LTE_DRB_ToAddMod *s)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (channel_id != drb_id + 2) {
|
||||
/*if (channel_id != drb_id + 2) {
|
||||
LOG_E(RLC, "%s:%d:%s: todo, remove this limitation\n",
|
||||
__FILE__, __LINE__, __FUNCTION__);
|
||||
exit(1);
|
||||
}
|
||||
}*/
|
||||
|
||||
logical_channel_group = *l->ul_SpecificParameters->logicalChannelGroup;
|
||||
|
||||
@@ -737,11 +737,11 @@ static void add_drb_um(int rnti, struct LTE_DRB_ToAddMod *s)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (channel_id != drb_id + 2) {
|
||||
/*if (channel_id != drb_id + 2) {
|
||||
LOG_E(RLC, "%s:%d:%s: todo, remove this limitation\n",
|
||||
__FILE__, __LINE__, __FUNCTION__);
|
||||
exit(1);
|
||||
}
|
||||
}*/
|
||||
|
||||
logical_channel_group = *l->ul_SpecificParameters->logicalChannelGroup;
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ typedef void nr_rlc_ue_manager_t;
|
||||
|
||||
typedef struct nr_rlc_ue_t {
|
||||
int rnti;
|
||||
nr_rlc_entity_t *srb[2];
|
||||
nr_rlc_entity_t *srb[3];
|
||||
nr_rlc_entity_t *drb[5];
|
||||
} nr_rlc_ue_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user