Summary of the content on the page No. 1
TM
AlliedWare Plus OS
Overview of | Quality of Service Features on x900-12,
x900-24, and SwitchBlade x908 Switches
Introduction
This How To Note describes the main features of QoS on switches running the
AlliedWare Plus OS. The main features include:
Prioritisation and marking
Right at the point of ingress into the QoS process, packets classified to particular class
maps can have values written to one or more of their associated “markers”. The markers
can be externally visible fields (DSCP
Summary of the content on the page No. 2
Ability to see the current state of egress queues There are commands that enable you to see statistics relating to every egress queue on every port. Each of these features is discussed in much more detail later on in this document. Contents Introduction .............................................................................................................................................. 1 Which products and software version does this Note apply to? ......................................
Summary of the content on the page No. 3
Which products and software version does this Note apply to? Products: SwitchBlade x908, x900-12XT/S, and x900-24 series switches Software versions: AlliedWare Plus version 5.2.1-0.1 and above The process flow and methodology of the QoS system Before discussing the details of the various processes that comprise the QoS system, it is desirable to first get a picture of what the processes are, and the order in which they are applied to the packets passing through the system. Therefore, this
Summary of the content on the page No. 4
Packet markers There are four items that are used to mark packets as they pass through the QoS system. Two markers that are carried within fields of the packet itself: 802.1p: The 802.1p or User Priority field in the VLAN tag of an Ethernet frame. This is a 3-bit number, so it can have a value in the range 0-7. DSCP: The Differentiated Services Code Point within the TOS field of an IP packet header. This is a 6-bit number, so it can have a value in the range 0-63. Two items that are just u
Summary of the content on the page No. 5
Outline of the QoS processing flow Let's look at each QoS process in the order that they are applied to a packet. The following figure gives a quick view of the QoS features we are about to discuss. Packet Ingress port Tagged: priority mapped to queue Untagged: mapped to default queue Ingress Classification using ACLs Premarking Policing Remarking Limiting (dropping non-conformant) Egress Queue shaping Queue emptying and egress QoS4.eps Initial mapping to an egress queue, based on 802.1p valu
Summary of the content on the page No. 6
Classification Classification is simply a method of dividing the incoming traffic into traffic flows so that packets of one type can be treated differently to packets of another type. To do this, you create class maps and if desired ACLs. Incoming packets are inspected and may be classified on a very broad range of criteria. The classification process does not update any of the four marker values on the packet, but does dictate the path that the packet will subsequently take through the QoS
Summary of the content on the page No. 7
Policing Policing involves measuring the bandwidth used by a policer and comparing the measurement to the bandwidth limits that have been set for the policer. The policing process allocates a temporary bandwidth class value to packets. It is important to note that the policing process does not overwrite the bandwidth class value that the packet is already carrying around with it. Instead, an extra, temporary, bandwidth class marker is attached to the packets. When traffic first enters the s
Summary of the content on the page No. 8
Queue shaping Each egress port has eight egress queues, which are numbered 0-7 with 7 being the highest priority queue. Unfortunately, the queues are of a limited length, so packets cannot be added to them indefinitely; if the switch is congested, the queues may fill up and no more packets can be added. In this case, packets will inevitably be dropped from the end of the queues, even if they are high-priority packets. Queue shaping is a general term to describe how the egress queues can be
Summary of the content on the page No. 9
Scheduling In addition to managing the way in which packets can be dropped when the egress queues for a given port start to fill up, you can also configure the method that is used to allocate bandwidth to each of the queues to transmit packets onto the line. There are two ways that the queues can be scheduled for transmission: Strict Priority Scheduling Higher-priority queues are emptied before any packets are transmitted from lower- priority queues. This means that queue 7 must be totally e
Summary of the content on the page No. 10
Details of the component processes, and how to configure them QoS elements: policy maps, class maps, policers, matches Some aspects of QoS are configured globally, such as default mapping of CoS to egress queue. However, most aspects are configured on a per-port basis, mostly as part of the port’s policy map. The policy map contains QoS settings for a port, and is made of class maps—one class map for each type of traffic you want to control on the port. Class maps have match commands to sp
Summary of the content on the page No. 11
none Diagram of the overall QoS process flow The following figure summarises the QoS process flow and the commands to configure each stage. The following sections describe the configuration in detail. From L2 switch Tagged packets: set egress queue based on 802.1p, using mls qos map cos-queue Marker updated: Egress Queue Untagged packets: set egress queue based on mls qos queue and CoS based on mls qos cos Markers updated: Egress Queue, CoS When using trust dscp alone, packets must have a DSCP
Summary of the content on the page No. 12
Enabling QoS globally Before configuring QoS, you need to enable it by entering the following command in global configuration mode: awplus(config)#mls qos enable Initial mapping to queue based on tag When packets arrive at a port, they are assigned to an egress queue. This is done by the switch associating an egress queue marker with the packet. For tagged packets, the switch decides the initial queue setting by looking at the packet’s CoS value (802.1p User Priority field). For untagged pac
Summary of the content on the page No. 13
awplus(config)#interface awplus(config-if)#mls qos cos <0-7> The value you change the CoS to is not used to look up the initial egress queue setting; the mls qos queue command still determines the queue for untagged packets. Classification The process of assigning packets to class maps requires a two stage configuration. First, create a class map by entering the following command: awplus(config)#class-map Then, specify the parameters for classifying traffic, by using the ma
Summary of the content on the page No. 14
Setting new values explicitly To explicitly set new values for a particular class map, first create the class map (if necessary), by entering the following command: awplus(config)#class-map Then simply enter the following commands: awplus(config)#policy-map awplus(config-pmap)#class awplus(config-pmap-c)#set cos <0-7> awplus(config-pmap-c)#set queue <0-7> awplus(config-pmap-c)#set bandwidth-class {green|yellow|red} awplus(config-pmap-c)#set dscp <0-63> You can set one or mo
Summary of the content on the page No. 15
Note that there is just a single mark-dscp map for the whole switch—separate class maps do not have separate mark-dscp maps. The configuration required to use the mark-dscp map is a little more complex than the configuration for setting the values explicitly. 1. First, write entries into the mark-dscp map table. This is a matter of specifying the DSCP, CoS, queue, and/or bandwidth class to associate with the given pair of DSCP and bandwidth class values. To do this, enter the command: awplus(
Summary of the content on the page No. 16
Example For the class map called “example”, if you want to take all traffic with a DSCP of 34, 36 or 38 and premark it to CoS 4, queue 4; CoS 5, queue 5; and CoS 6, queue 6 respectively, then enter the following commands: awplus(config)#mls qos map mark-dscp 34 to new-cos 4 new-queue 4 awplus(config)#mls qos map mark-dscp 36 to new-cos 5 new-queue 5 awplus(config)#mls qos map mark-dscp 38 to new-cos 6 new-queue 6 awplus(config)#policy-map example awplus(config-pmap)#class example awplus(config
Summary of the content on the page No. 17
Applying ordinary policers to class maps Ordinary policers are used when policing traffic in a single class map in a single policy map on a single port. You create them in policy map class configuration mode, which means they are attached to that policy map and class map at the time they are created. They do not have a name, because they are identified by the policy map and class map. The following commands give an example of a single-rate policer that monitors VLAN 2 traffic in the class ma
Summary of the content on the page No. 18
Single-rate policing Both ordinary and aggregate policers can be single-rate. Single-rate policing uses three parameters: average bandwidth (in kbps) minimum burst size (in bytes) maximum burst size (in bytes) With this combination, the algorithm used to determine the temporary bandwidth class to assign to a packet is: If the data rate for the policer is below the average bandwidth, or is slightly above the average bandwidth, but the accumulation of total bits that have exceeded the ave
Summary of the content on the page No. 19
Twin-rate policing Both ordinary and aggregate policers can be twin-rate. Twin-rate policing uses four parameters: minimum bandwidth (in kbps) maximum bandwidth (in kbps) maximum burst size (in bytes) minimum burst size (in bytes) With this combination, the algorithm used to determine the temporary bandwidth class to assign to a packet is: If the data rate for the policer is below the minimum bandwidth, or is slightly above the minimum bandwidth, but the accumulation of total bits that
Summary of the content on the page No. 20
Counting policed packets To see the count of policed packets: 1. Turn on the QoS counters enhanced mode by entering global configuration mode and using the command: awplus(config)#platform enhancedmode qoscounters 2. Restart the switch 3. Return to privileged exec mode and use the command: awplus#show mls qos interface policer-counters Counting packets for ordinary policers For each class map, the output shows the total (aggregate) number of bytes, and the number of bytes of each colour