Commit 466f753e authored by francescomani's avatar francescomani

remove mac_LogicalChannelConfig from RLC (handled at MAC)

parent ee287d62
...@@ -647,7 +647,7 @@ void nr_rlc_reestablish_entity(int rnti, int lc_id) ...@@ -647,7 +647,7 @@ void nr_rlc_reestablish_entity(int rnti, int lc_id)
nr_rlc_manager_unlock(nr_rlc_ue_manager); nr_rlc_manager_unlock(nr_rlc_ue_manager);
} }
void nr_rlc_reconfigure_entity(int rnti, int lc_id, struct NR_RLC_Config *rlc_Config, struct NR_LogicalChannelConfig *lc_Config) void nr_rlc_reconfigure_entity(int rnti, int lc_id, NR_RLC_Config_t *rlc_Config)
{ {
nr_rlc_manager_lock(nr_rlc_ue_manager); nr_rlc_manager_lock(nr_rlc_ue_manager);
nr_rlc_ue_t *ue = nr_rlc_manager_get_ue(nr_rlc_ue_manager, rnti); nr_rlc_ue_t *ue = nr_rlc_manager_get_ue(nr_rlc_ue_manager, rnti);
...@@ -656,12 +656,6 @@ void nr_rlc_reconfigure_entity(int rnti, int lc_id, struct NR_RLC_Config *rlc_Co ...@@ -656,12 +656,6 @@ void nr_rlc_reconfigure_entity(int rnti, int lc_id, struct NR_RLC_Config *rlc_Co
LOG_E(RLC, "RLC instance for the given UE was not found \n"); LOG_E(RLC, "RLC instance for the given UE was not found \n");
nr_rlc_entity_t *rb = get_rlc_entity_from_lcid(ue, lc_id); nr_rlc_entity_t *rb = get_rlc_entity_from_lcid(ue, lc_id);
if (lc_Config) {
if (lc_Config->ul_SpecificParameters && lc_Config->ul_SpecificParameters->logicalChannelGroup)
AssertFatal(*lc_Config->ul_SpecificParameters->logicalChannelGroup < 2,
"LCG %ld not supported as per limitation when creating RBs\n",
*lc_Config->ul_SpecificParameters->logicalChannelGroup);
}
if (rlc_Config) { if (rlc_Config) {
AssertFatal(rb->stats.mode != NR_RLC_TM, "Cannot reconfigure TM mode\n"); AssertFatal(rb->stats.mode != NR_RLC_TM, "Cannot reconfigure TM mode\n");
if (rb->stats.mode == NR_RLC_AM) { if (rb->stats.mode == NR_RLC_AM) {
...@@ -718,9 +712,6 @@ void nr_rlc_reconfigure_entity(int rnti, int lc_id, struct NR_RLC_Config *rlc_Co ...@@ -718,9 +712,6 @@ void nr_rlc_reconfigure_entity(int rnti, int lc_id, struct NR_RLC_Config *rlc_Co
void nr_rlc_add_srb(int rnti, int srb_id, const NR_RLC_BearerConfig_t *rlc_BearerConfig) void nr_rlc_add_srb(int rnti, int srb_id, const NR_RLC_BearerConfig_t *rlc_BearerConfig)
{ {
struct NR_RLC_Config *r = rlc_BearerConfig->rlc_Config; struct NR_RLC_Config *r = rlc_BearerConfig->rlc_Config;
struct NR_LogicalChannelConfig *l = rlc_BearerConfig->mac_LogicalChannelConfig;
int logical_channel_group;
int t_status_prohibit; int t_status_prohibit;
int t_poll_retransmit; int t_poll_retransmit;
int poll_pdu; int poll_pdu;
...@@ -733,17 +724,6 @@ void nr_rlc_add_srb(int rnti, int srb_id, const NR_RLC_BearerConfig_t *rlc_Beare ...@@ -733,17 +724,6 @@ void nr_rlc_add_srb(int rnti, int srb_id, const NR_RLC_BearerConfig_t *rlc_Beare
AssertFatal(srb_id > 0 && srb_id < 4, AssertFatal(srb_id > 0 && srb_id < 4,
"Invalid srb id %d\n", srb_id); "Invalid srb id %d\n", srb_id);
if (l && l->ul_SpecificParameters && l->ul_SpecificParameters->logicalChannelGroup)
logical_channel_group = *l->ul_SpecificParameters->logicalChannelGroup;
else
logical_channel_group = 0; // default value as in 9.2.1 of 38.331
/* TODO: accept other values? */
if (logical_channel_group != 0) {
LOG_E(RLC, "%s:%d:%s: fatal error\n", __FILE__, __LINE__, __FUNCTION__);
exit(1);
}
if (r && r->present == NR_RLC_Config_PR_am) { if (r && r->present == NR_RLC_Config_PR_am) {
struct NR_RLC_Config__am *am; struct NR_RLC_Config__am *am;
am = r->choice.am; am = r->choice.am;
...@@ -800,8 +780,6 @@ void nr_rlc_add_srb(int rnti, int srb_id, const NR_RLC_BearerConfig_t *rlc_Beare ...@@ -800,8 +780,6 @@ void nr_rlc_add_srb(int rnti, int srb_id, const NR_RLC_BearerConfig_t *rlc_Beare
static void add_drb_am(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_BearerConfig) static void add_drb_am(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_BearerConfig)
{ {
struct NR_RLC_Config *r = rlc_BearerConfig->rlc_Config; struct NR_RLC_Config *r = rlc_BearerConfig->rlc_Config;
struct NR_LogicalChannelConfig *l = rlc_BearerConfig->mac_LogicalChannelConfig;
int logical_channel_group;
int t_status_prohibit; int t_status_prohibit;
int t_poll_retransmit; int t_poll_retransmit;
...@@ -814,14 +792,6 @@ static void add_drb_am(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_Be ...@@ -814,14 +792,6 @@ static void add_drb_am(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_Be
AssertFatal(drb_id > 0 && drb_id <= MAX_DRBS_PER_UE, AssertFatal(drb_id > 0 && drb_id <= MAX_DRBS_PER_UE,
"Invalid DRB ID %d\n", drb_id); "Invalid DRB ID %d\n", drb_id);
logical_channel_group = *l->ul_SpecificParameters->logicalChannelGroup;
/* TODO: accept other values? */
if (logical_channel_group != 1) {
LOG_E(RLC, "%s:%d:%s: fatal error\n", __FILE__, __LINE__, __FUNCTION__);
//exit(1);
}
switch (r->present) { switch (r->present) {
case NR_RLC_Config_PR_am: { case NR_RLC_Config_PR_am: {
struct NR_RLC_Config__am *am; struct NR_RLC_Config__am *am;
...@@ -875,8 +845,6 @@ static void add_drb_am(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_Be ...@@ -875,8 +845,6 @@ static void add_drb_am(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_Be
static void add_drb_um(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_BearerConfig) static void add_drb_um(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_BearerConfig)
{ {
struct NR_RLC_Config *r = rlc_BearerConfig->rlc_Config; struct NR_RLC_Config *r = rlc_BearerConfig->rlc_Config;
struct NR_LogicalChannelConfig *l = rlc_BearerConfig->mac_LogicalChannelConfig;
int logical_channel_group;
int sn_field_length; int sn_field_length;
int t_reassembly; int t_reassembly;
...@@ -884,14 +852,6 @@ static void add_drb_um(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_Be ...@@ -884,14 +852,6 @@ static void add_drb_um(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_Be
AssertFatal(drb_id > 0 && drb_id <= MAX_DRBS_PER_UE, AssertFatal(drb_id > 0 && drb_id <= MAX_DRBS_PER_UE,
"Invalid DRB ID %d\n", drb_id); "Invalid DRB ID %d\n", drb_id);
logical_channel_group = *l->ul_SpecificParameters->logicalChannelGroup;
/* TODO: accept other values? */
if (logical_channel_group != 1) {
LOG_E(RLC, "%s:%d:%s: fatal error\n", __FILE__, __LINE__, __FUNCTION__);
exit(1);
}
switch (r->present) { switch (r->present) {
case NR_RLC_Config_PR_um_Bi_Directional: { case NR_RLC_Config_PR_um_Bi_Directional: {
struct NR_RLC_Config__um_Bi_Directional *um; struct NR_RLC_Config__um_Bi_Directional *um;
......
...@@ -53,7 +53,7 @@ void nr_rlc_test_trigger_reestablishment(int rnti); ...@@ -53,7 +53,7 @@ void nr_rlc_test_trigger_reestablishment(int rnti);
void nr_rlc_release_entity(int rnti, logical_chan_id_t channel_id); void nr_rlc_release_entity(int rnti, logical_chan_id_t channel_id);
void nr_rlc_reconfigure_entity(int rnti, int lc_id, struct NR_RLC_Config *rlc_Config, struct NR_LogicalChannelConfig *lc_Config); void nr_rlc_reconfigure_entity(int rnti, int lc_id, NR_RLC_Config_t *rlc_Config);
int nr_rlc_get_available_tx_space( int nr_rlc_get_available_tx_space(
const rnti_t rntiP, const rnti_t rntiP,
......
...@@ -745,7 +745,7 @@ static void nr_rrc_manage_rlc_bearers(const instance_t instance, ...@@ -745,7 +745,7 @@ static void nr_rrc_manage_rlc_bearers(const instance_t instance,
if (rrc->active_RLC_entity[lcid]) { if (rrc->active_RLC_entity[lcid]) {
if (rlc_bearer->reestablishRLC) if (rlc_bearer->reestablishRLC)
nr_rlc_reestablish_entity(rnti, lcid); nr_rlc_reestablish_entity(rnti, lcid);
nr_rlc_reconfigure_entity(rnti, lcid, rlc_bearer->rlc_Config, rlc_bearer->mac_LogicalChannelConfig); nr_rlc_reconfigure_entity(rnti, lcid, rlc_bearer->rlc_Config);
} else { } else {
rrc->active_RLC_entity[lcid] = true; rrc->active_RLC_entity[lcid] = true;
AssertFatal(rlc_bearer->servedRadioBearer, "servedRadioBearer mandatory in case of setup\n"); AssertFatal(rlc_bearer->servedRadioBearer, "servedRadioBearer mandatory in case of setup\n");
......
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