Change mapping between DRB id and channel id for interoperability with Accelleran CU

-Some hardcodings also added to be removed later
This commit is contained in:
Raymond Knopp
2022-02-01 14:03:42 +01:00
parent a19f2e3254
commit 2e0823a7ae
4 changed files with 12 additions and 10 deletions
+1 -1
View File
@@ -33,7 +33,7 @@
#include "f1ap_common.h"
#include "f1ap_decoder.h"
int asn1_decoder_xer_print = 0;
int asn1_decoder_xer_print = 1;
static int f1ap_decode_initiating_message(F1AP_F1AP_PDU_t *pdu) {
//MessageDef *message_p;
+1 -1
View File
@@ -127,7 +127,7 @@ void *F1AP_DU_task(void *arg) {
LOG_I(F1AP, "DU Task Received F1AP_SETUP_REQ\n");
f1ap_setup_req_t *msgSetup=&F1AP_SETUP_REQ(msg);
createF1inst(false, myInstance, msgSetup);
getCxt(DUtype, myInstance)->gtpInst=du_create_gtpu_instance_to_cu(msgSetup->CU_f1_ip_address.ipv4_address,
getCxt(DUtype, myInstance)->gtpInst=du_create_gtpu_instance_to_cu("192.168.18.91", //msgSetup->CU_f1_ip_address.ipv4_address, //"192.168.18.91"
msgSetup->CUport,
msgSetup->DU_f1_ip_address.ipv4_address,
msgSetup->DUport);
+9 -7
View File
@@ -166,7 +166,7 @@ void mac_rlc_data_ind (
switch (channel_idP) {
case 1 ... 3: rb = ue->srb[channel_idP - 1]; break;
case 4 ... 8: rb = ue->drb[channel_idP - 4]; break;
case 4 ... 8: rb = ue->drb[channel_idP - 1]; break;
default: rb = NULL; break;
}
@@ -207,7 +207,7 @@ tbs_size_t mac_rlc_data_req(
switch (channel_idP) {
case 1 ... 3: rb = ue->srb[channel_idP - 1]; break;
case 4 ... 8: rb = ue->drb[channel_idP - 4]; break;
case 4 ... 8: rb = ue->drb[channel_idP - 1]; break;
default:
rb = NULL;
LOG_E(RLC, "In %s:%d:%s: data request for unknown RB with LCID 0x%02x !\n", __FILE__, __LINE__, __FUNCTION__, channel_idP);
@@ -215,10 +215,12 @@ tbs_size_t mac_rlc_data_req(
}
if (rb != NULL) {
LOG_D(RLC, "MAC PDU to get created for channel_idP:%d \n", channel_idP);
rb->set_time(rb, nr_rlc_current_time);
maxsize = tb_sizeP;
ret = rb->generate_pdu(rb, buffer_pP, maxsize);
} else {
LOG_D(RLC, "MAC PDU failed to get created for channel_idP:%d \n", channel_idP);
ret = 0;
}
@@ -253,7 +255,7 @@ mac_rlc_status_resp_t mac_rlc_status_ind(
switch (channel_idP) {
case 1 ... 3: rb = ue->srb[channel_idP - 1]; break;
case 4 ... 8: rb = ue->drb[channel_idP - 4]; break;
case 4 ... 8: rb = ue->drb[channel_idP - 1]; break;
default: rb = NULL; break;
}
@@ -316,7 +318,7 @@ rlc_buffer_occupancy_t mac_rlc_get_buffer_occupancy_ind(
switch (channel_idP) {
case 1 ... 3: rb = ue->srb[channel_idP - 1]; break;
case 4 ... 8: rb = ue->drb[channel_idP - 4]; break;
case 4 ... 8: rb = ue->drb[channel_idP - 1]; break; //4
default: rb = NULL; break;
}
@@ -751,7 +753,7 @@ static void add_drb_am(int rnti, struct NR_DRB_ToAddMod *s, NR_RLC_BearerConfig_
struct NR_RLC_Config *r = rlc_BearerConfig->rlc_Config;
struct NR_LogicalChannelConfig *l = rlc_BearerConfig->mac_LogicalChannelConfig;
int drb_id = s->drb_Identity;
int channel_id = rlc_BearerConfig->logicalChannelIdentity;
//int channel_id = rlc_BearerConfig->logicalChannelIdentity;
int logical_channel_group;
int t_status_prohibit;
@@ -768,11 +770,11 @@ static void add_drb_am(int rnti, struct NR_DRB_ToAddMod *s, NR_RLC_BearerConfig_
exit(1);
}
if (channel_id != drb_id + 3) {
/*if (channel_id != drb_id + 3) {
LOG_E(RLC, "%s:%d:%s: todo, remove this limitation\n",
__FILE__, __LINE__, __FUNCTION__);
exit(1);
}
}*/
logical_channel_group = *l->ul_SpecificParameters->logicalChannelGroup;
+1 -1
View File
@@ -1647,7 +1647,7 @@ void fill_mastercellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig, NR_CellGr
rlc_BearerConfig_drb->logicalChannelIdentity = 4;
rlc_BearerConfig_drb->servedRadioBearer = calloc(1, sizeof(*rlc_BearerConfig_drb->servedRadioBearer));
rlc_BearerConfig_drb->servedRadioBearer->present = NR_RLC_BearerConfig__servedRadioBearer_PR_drb_Identity;
rlc_BearerConfig_drb->servedRadioBearer->choice.drb_Identity = 1;
rlc_BearerConfig_drb->servedRadioBearer->choice.drb_Identity = 4; //1;
rlc_BearerConfig_drb->reestablishRLC = NULL;
rlc_Config_drb = calloc(1, sizeof(NR_RLC_Config_t));
rlc_Config_drb->present = NR_RLC_Config_PR_am;