mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
QoS Handling: implement intelligent QoS-to-DRB mapping based on 3GPP TS 23.501
Implement QoS flow multiplexing logic that optimizes DRB usage by classifying 5QI values per 3GPP TS 23.501 Table 5.7.4-1 and applying resource-type-aware multiplexing limits. The changes are adopted in nr_rrc_add_bearers, which is the RRC function responsible for adding PDU Sessions and DRBs in RRC. Key features: - Classify 5QI by resource type (DC-GBR, GBR, Non-GBR) - Reuse existing DRBs when QoS characteristics are compatible - Dedicated DRBs for DC-GBR (5QI 82-90) and high-priority services - Per-type multiplexing limits: DC-GBR=1, GBR=2, Non-GBR=5 - Aggregate cap: max 5 flows per DRB Implementation: - nr_rrc_get_5qi_resource_type(): Maps 5QI values to resource types using lookup table. DC-GBR: 5QI 82-90, GBR: 5QI 1-4,65-67,71-76, Non-GBR: 5QI 5-11,69-70,79-80. Unknown 5QIs default to Non-GBR with warning. - nr_rrc_qos_dedicated_drb(): Identifies 5QIs requiring isolated DRBs (high priority, low-PER). Includes: DC-GBR: 5QI 82-90, 5QI 4,6-10 (video), 5QI 70 (mission-critical), 5QI 71-73 (live streaming), 5QI 80 (low-latency). - nr_rrc_count_qos_flows_by_type(): Counts QoS flows mapped to a specific DRB, grouped by resource type. Used to check capacity and enforce multiplexing limits. - nr_rrc_find_suitable_drb_for_qos(): Searches existing DRBs in the same PDU session for available capacity. Checks resource type compatibility, per-type limits, and aggregate cap. Returns DRB ID if suitable, -1 if new DRB needed. DC-GBR flows always return -1 (require dedicated DRB). - nr_rrc_assign_drb_to_qos_flow(), which either reuses a DRB selected by nr_rrc_find_suitable_drb_for_qos() or creates a new DRB via nr_rrc_add_drb, assigns its ID to the QoS flow Note: this commit is multi-QoS ready. Signed-off-by: Guido Casati <guido.casati@openairinterface.org>
This commit is contained in:
@@ -36,6 +36,14 @@ typedef enum {
|
||||
|
||||
typedef enum { NON_DYNAMIC, DYNAMIC } fiveQI_t;
|
||||
|
||||
/* 5QI (5G QoS Identifier) - 3GPP TS 23.501 §5.7.2.1
|
||||
* Range: 0..255
|
||||
* - Standardized 5QI values: have one-to-one mapping to standardized 5G QoS characteristics (Table 5.7.4-1)
|
||||
* - Pre-configured 5QI values: pre-configured in the AN
|
||||
* - Dynamically assigned 5QI values: require signaling of QoS characteristics as part of QoS profile */
|
||||
#define MIN_FIVEQI 0
|
||||
#define MAX_FIVEQI 255
|
||||
|
||||
/* ARP Priority Level - 3GPP TS 23.501 §5.7.2.2
|
||||
* The ARP priority level defines the relative importance of a QoS Flow.
|
||||
* Range: 1 to 15, with 1 as the highest priority.
|
||||
|
||||
Reference in New Issue
Block a user