NR RRC - Added GBR argument to function, so it can be considered for selecting next available drb

parent 63743349
...@@ -826,7 +826,7 @@ rrc_gNB_generate_dedicatedRRCReconfiguration( ...@@ -826,7 +826,7 @@ rrc_gNB_generate_dedicatedRRCReconfiguration(
for(long drb_id_add = 1; drb_id_add <= nb_drb_to_setup; drb_id_add++){ for(long drb_id_add = 1; drb_id_add <= nb_drb_to_setup; drb_id_add++){
if(drb_id_add > MAX_DRBS_PER_PDUSESSION) if(drb_id_add > MAX_DRBS_PER_PDUSESSION)
break; break;
uint8_t drb_id = next_available_drb(ue_p, ue_context_pP->ue_context.pduSession[i].param.pdusession_id); uint8_t drb_id = next_available_drb(ue_p, ue_context_pP->ue_context.pduSession[i].param.pdusession_id, NONGBR_FLOW);
// Reference TS23501 Table 5.7.4-1: Standardized 5QI to QoS characteristics mapping // Reference TS23501 Table 5.7.4-1: Standardized 5QI to QoS characteristics mapping
for (qos_flow_index = 0; qos_flow_index < ue_context_pP->ue_context.pduSession[i].param.nb_qos; qos_flow_index++) { for (qos_flow_index = 0; qos_flow_index < ue_context_pP->ue_context.pduSession[i].param.nb_qos; qos_flow_index++) {
......
...@@ -105,7 +105,7 @@ NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *ue, ...@@ -105,7 +105,7 @@ NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *ue,
return DRB_config; return DRB_config;
} }
uint8_t next_available_drb(gNB_RRC_UE_t *ue, uint8_t pdusession_id) { uint8_t next_available_drb(gNB_RRC_UE_t *ue, uint8_t pdusession_id, bool is_gbr) {
uint8_t drb_id; uint8_t drb_id;
for (drb_id = 0; drb_id < NGAP_MAX_DRBS_PER_UE; drb_id++) { for (drb_id = 0; drb_id < NGAP_MAX_DRBS_PER_UE; drb_id++) {
if(ue->DRB_active[drb_id] == DRB_INACTIVE) if(ue->DRB_active[drb_id] == DRB_INACTIVE)
......
...@@ -30,6 +30,8 @@ ...@@ -30,6 +30,8 @@
#define MAX_PDUS_PER_UE (8) /* Maximum number of PDU Sessions per UE */ #define MAX_PDUS_PER_UE (8) /* Maximum number of PDU Sessions per UE */
#define DRB_ACTIVE (1) #define DRB_ACTIVE (1)
#define DRB_INACTIVE (0) #define DRB_INACTIVE (0)
#define GBR_FLOW (1)
#define NONGBR_FLOW (0)
NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *rrc_ue, NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *rrc_ue,
uint8_t drb_id, uint8_t drb_id,
...@@ -38,7 +40,7 @@ NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *rrc_ue, ...@@ -38,7 +40,7 @@ NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *rrc_ue,
int do_drb_integrity, int do_drb_integrity,
int do_drb_ciphering); int do_drb_ciphering);
uint8_t next_available_drb(gNB_RRC_UE_t *ue, uint8_t pdusession_id); uint8_t next_available_drb(gNB_RRC_UE_t *ue, uint8_t pdusession_id, bool is_gbr);
bool drb_is_active(gNB_RRC_UE_t *ue, uint8_t drb_id); bool drb_is_active(gNB_RRC_UE_t *ue, uint8_t drb_id);
#endif #endif
\ No newline at end of file
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