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:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user