Please Rate this Document

How to configure Class of Service (CoS) through Omada Controller

Knowledgebase
FAQ
2024-10-22

Contents

Objective

Requirements

Introduction

Configuration

Conclusion

Objective

This article introduces the configuration of Class of Service (CoS) on Omada switches through Omada Controller.

Requirements

  • Omada Smart, L2+ and L3 series switches
  • Omada Controller (Software Controller / Hardware Controller / Cloud Based Controller, V5.9 and above)

Introduction

With network scale expanding and applications developing, internet traffic is dramatically increased, thus resulting in network congestion, packet drops and long transmission delay. Typically, networks treat all traffic equally on FIFO (First In First Out) delivery basis, but nowadays many special applications like VoD, online meeting, VoIP, etc, require more bandwidth or shorter transmission delay to guarantee the performance.

With QoS (Quality of Service) technology, you can classify and prioritize network traffic to provide differentiated services to certain types of traffic.

In QoS, CoS (Class of Service) is a mechanism used to differentiate and manage network traffic. CoS marks the priority of data packets by setting a priority value in the Ethernet frame header, helping network devices identify and handle traffic with different priorities.

On Omada switches, QoS is implemented through eight forwarding queues with different priorities, which are TC-0 to TC-7, TC-0 is the forwarding queue with the lowest priority while the TC-7 is the highest. We then introduce three kinds of priority tags to map to these queues, the 802.1p priority, port priority and DSCP priority.

  • 802.1p priority: A kind of priority tag which is included in the 802.1Q VLAN tag, which means if this packet is untagged, the 802.1p tag will not exist either. 802.1p priority ranges from 0-7, usually it maps to the 8 queues one by one from 0 to 7, you can also make a remap manually. When using 802.1p priority, set the port trust mode as Trust 802.1p, which means to process the packet according to the 802.1p priority tag carried in the packet originally.
  • Port priority: Based on port, this allow the switch to process packets according to the ingress port only, regardless of the priority tags included in the packets. This is realized by mapping the port to a 802.1p priority, the 802.1p priority will then be mapped to the forwarding queues. When using port priority, set the port trust mode as Untrust, which means to ignore the priority tags carried in the packets originally and process them according to the priority bound on ports.
  • DSCP priority: Included in the IP header, it ranges from 0 to 63, which is 64 numbers, usually it will be mapped to 802.1p priority first, and then the 802.1p priority will be mapped to the forwarding queues. By default, 8 DSCP priorities are mapped to one 802.1p priority. For example, DSCP 0-7 will be mapped to 802.1p 0, DSCP 8-15 will be mapped to 802.1p 1. By using DSCP priorities, the priority tags of different packets no longer correspond one-to-one with the forwarding queues. Instead, a finer granularity is provided, with 8 sub-priorities within the same forwarding queue. When using DSCP priority, set the port trust mode as Trust DSCP, which means to process the packet according to the DSCP priority tag carried in the packet originally

On Omada switches, the Class of Service (CoS) scheduling methods for each queue offer two options: Strict Priority (SP) and Weighted Round Robin (WRR)

  • Strict Priority (SP) Scheduling: Ensures that higher priority queues are always serviced before lower priority queues, providing immediate forwarding for critical traffic such as voice and video. This guarantees minimal delay and maximum priority for time-sensitive applications.

Using SP as scheduler could ensure that the high priority queues are always serviced first, critical traffic like voice and video receives minimal delay and maximum priority. But lower priority queues may suffer from starvation if high-priority traffic is consistently present, leading to delays or dropped packets for less critical applications

  • Weighted Round Robin (WRR) Scheduling: Allocates bandwidth among queues based on assigned weights. Each queue is serviced in a round-robin fashion according to its weight, ensuring fair bandwidth distribution and preventing lower priority queues from experiencing starvation.

Using WRR as scheduler could provide a balanced approach to managing network resources, which is suitable for environments with diverse traffic types. But high-priority traffic may experience slight delays compared to SP, as bandwidth is shared among all queues.

We support choosing some of the queues as SP mode and others as WRR mode, in this case, the queues with SP mode will be forwarded first, when there are free bandwidth, the other queues will be forwarded with WRR.

Here we make it a simple scenario, an access switch connecting to a PC on port 1 and an IP phone on port 2 as downlink and an aggregation switch on port 3 as uplink.

As the traffic for IP phone is time sensitive, it needs to be forwarded firstly, when the traffic congestion happens, the PC traffic will only be forwarded when the IP phone traffic finished forwarding, ensuring the experience of IP phone usage.

Scheme: On the access switch, configure the port priority on port 1 and 2, for port 1, make all the traffic enter TC-4 queue and for port 2, make all the traffic enter TC-6 queue, for the scheduler settings, configure these two queues as SP mode, which make sure the IP phone traffic are firstly forwarded to the aggregation switch.

In this example, we will use port priority, and the port priority is mapped to the 802.1p priority first, then mapped to the forwarding queues. First, we need to set the port trust mode as Untrust, which means to ignore the priority tags carried by the packets, execute them according to the priority set on this port. By default, the 802.1p priority 0-7 is mapped to the forwarding queues TC 0-7 one by one, so here we only need to set the port priority as 4, it will be automatically mapped to 802.1p priority 4 and then forwarding queue TC-4. Then configure the scheduler mode for TC-4 and TC-6, SP mode for both.

CAUTION:

There are two cases when configuring the scheduler for queues, on some devices, this is configured globally, in CLI, the commands are executed under the global config mode. On other devices, the scheduler for queues needs to be configured per port, which means you need to enter the interface config mode first.

Device list which scheduler is configured globally:

TL-SG3452X , TL-SG3452XP , SG3428XPP-M2 , SG6654XHP , TL-SX3008F , TL-SX3016F , SG3428 , TL-SG3428X , SG3218XP-M2 , TL-SG3428XF, SG3452X , SG3210XHP-M2 V2, TL-SG3210XHP-M2 V2, SG3428XF , SG6428XHP , SX3008F , SG3428X , SX3016F , TL-SG3428X-UPS , SX6632YF , SG3452XP , TL-SG3428, SG6654X , SG6428X , TL-SG3428MP , TL-SG3452 , TL-SX3206HPP , SG3428XMP , TL-SG3428XMP , SX3206HPP

Device list which scheduler is configured per port:

TL-SG2008P , TL-SG2218P , TL-SG2016P , SG2210XMP-M2 , SG3428XPP-M2 , TL-SG2210P , SG2210MP , TL-SL2428P , SG2218 , SG3452P , SG3218XP-M2 , SL2428P , TL-SG3428X-M2 , SG3210X-M2 , TL-SG2210MP , SG3428X-M2 , SG3210 , TL-SG3428XPP-M2 , SG3210XHP-M2 V3 , TL-SG3210XHP-M2 V3, SG2008 , TL-SG2428P , SG2005P-PD , SG2428LP , SG2218P , SG2428P , SG2008P , TL-SG2218 , SG6654X , SG2016P , TL-SG2008 , TL-SG3210 , TL-SG3452 , TL-SG3452P

Configuration

Step 1

Adopt all the switches in Omada Controller.

Step 2.

Use the CLI template to send the commands to the switch. For how to use CLI template in the Omada SDN Controller, please refer to the FAQ: CLI Configuration Guide for Omada SDN Controller (v5.9.9 and above).

For this example, the commands should go like: (For devices which queue scheduler configured globally)

interface gigabitEthernet 1/0/1

qos trust mode untrust

qos port-priority 4

#

interface gigabitEthernet 1/0/2

qos trust mode untrust

qos port-priority 6

#

qos queue 4 mode sp

qos queue 6 mode sp

For another case, the commands should go like: (For devices which queue scheduler configured per port)

interface gigabitEthernet 1/0/1

qos trust mode untrust

qos port-priority 4

qos queue 4 mode sp

qos queue 6 mode sp

#

interface gigabitEthernet 1/0/2

qos trust mode untrust

qos port-priority 6

qos queue 4 mode sp

qos queue 6 mode sp

For other details of using CLI command, please refer to the CLI Guide.

Conclusion

Briefly summarize the configuration results in one or two sentences.

Get to know more details of each function and configuration please go to Download Center to download the manual of your product.

Related Documents