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(
for(long drb_id_add = 1; drb_id_add <= nb_drb_to_setup; drb_id_add++){
if(drb_id_add > MAX_DRBS_PER_PDUSESSION)
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
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,
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;
for (drb_id = 0; drb_id < NGAP_MAX_DRBS_PER_UE; drb_id++) {
if(ue->DRB_active[drb_id] == DRB_INACTIVE)
......
......@@ -30,6 +30,8 @@
#define MAX_PDUS_PER_UE (8) /* Maximum number of PDU Sessions per UE */
#define DRB_ACTIVE (1)
#define DRB_INACTIVE (0)
#define GBR_FLOW (1)
#define NONGBR_FLOW (0)
NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *rrc_ue,
uint8_t drb_id,
......@@ -38,7 +40,7 @@ NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *rrc_ue,
int do_drb_integrity,
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);
#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