Session

Optimizing Bandwidth Allocation with ETS and Traffic Classes

Speakers

Carolina Jubran

Label

Moonshot

Session Type

Talk

Description

Enhanced Transmission Selection (ETS) enables the prioritization of traffic classes to ensure efficient bandwidth allocation and maintain Quality of Service (QoS). In production environments, diverse applications with varying priority levels share the same network infrastructure. Implementing ETS allows for the differentiation and prioritization of critical traffic, ensuring that high-priority applications receive the necessary bandwidth, thereby maintaining performance and reliability. This comes from a real production need: in traditional methods, a 50Gbps PF is equally split between two VFs, giving each 25Gbps, with traffic classes (e.g., TC0 and TC1) limited to percentages of these smaller allocations. Using TC bandwidth allocation, the PF can instead be divided directly into 80% for TC0 and 20% for TC1 across all VFs, optimizing resource utilization and meeting specific customer requirements. Traditional methods like MQPRIO or TC police action provide limited solutions. MQPRIO allows ETS-like functionality within a VM by setting DSCP or VLAN-PCP values but cannot share a qdisc across multiple net-devices. TC police action enables packet classification and policing but lacks traffic shaping capabilities and does not provide backpressure to the VM. We will reference prior work on extending devlink rate and recent advancements in traffic shaping extensions. Devlink-rate provides a robust interface to manage bandwidth allocation at the group level for VFs. By introducing a new tc-bw argument, it enables precise control over bandwidth proportions across multiple VFs, addressing customer needs effectively. We will demonstrate how this implementation improves resource allocation across VFs by applying traffic class-based bandwidth proportions, supported by real-world results and a demo.