AlliedWareTM OS How To | Configure QoS on AT-9900, x900-48, and x900-24 Series Switches Introduction This document describes some generic configuration examples for Quality of Service (QoS) on AT-9900 and x900 series switches running the AlliedWare OS. What information will you find in this document? This document provides information on the following sections: z "1. Setting the egress rate" on page 2 z "2. Setting the priority on a packet" on page 7 z "3.
1. Setting the egress rate 1. Setting the egress rate Example 1-1: Setting the egress limit of a switch port Port 24 Command: set switch port=24 egresslimit=640 This command will set the egress limit of port 24 to 640kbps. The granularity is 640kbps.
1. Setting the egress rate Example 1-2: setting the maximum bandwidth limit per ingress port Ingress rate limiting cannot be configured on the port per se, but is achieved by creating a QoS policy with a bandwidth limited traffic class, and applying that policy to each port.
1. Setting the egress rate Example 1-3: Setting the maximum bandwidth limit for each user In example 1-1, we configured an egress rate on ports. But the granularity of that bandwidth limiting was multiples of 640kbps. To achieve a finer-grained limiting on egress, it is necessary to make use of traffic classes. In this example we assume that there is one device with a known IP address, attached to each port.
1. Setting the egress rate Example 1-4: Setting the maximum bandwidth limit for each IP subnet This example is very similar to example 1-3, except that it is assumed that a whole subnet is attached to each port, not just a single device on each port. Port 24 Internet connection Users connected to the switch downloading files from the Internet (192.168.1.0/24 - 192.168.23.0/24) create class=1 ipda=192.168.1.0/24 create class=2 ipda=192.168.2.0/24 create class=3 ipda=192.168.3.0/24 ...
1.
2. Setting the priority on a packet 2. Setting the priority on a packet Example 2-1: Setting the Layer 2 (VLAN/802.1p) priority per ingress port Here we assign different 802.1p values to packets arriving on different ports. These values are also known as the Layer 2 (L2) or VLAN priority.
2. Setting the priority on a packet Example 2-2: Setting the Layer 2 (VLAN/802.
2.
3. Setting the egress queues 3. Setting the egress queues In this section we look at methods for directing certain packets into certain queues on the egress port. Example 3-1: Setting the egress queue according to the L2 priority of the incoming packet The priority-to-queue map is a straightforward method for assigning packets to egress on the basis of the packets’ 802.1p values.
3.
3. Setting the egress queues Example 3-3: Configuring WRR for egress queues This example is used for configuring WRR on egress queues according to the ingress port of the traffic.
Full QoS scenario 1: tiered services for a single customer Full QoS scenario 1: tiered services for a single customer In this section, we will build up a relatively complex QoS configuration to support a scenario requiring quite precise control over the traffic passing through the switch. The scenario is an ISP providing connectivity for a customer, and offering different levels of service for different types of traffic.
Full QoS scenario 1: tiered services for a single customer Bronze traffic is also allowed to burst up to the full egress bandwidth of the uplink port, but when congestion occurs, will be throttled back in favour of Gold traffic, and will share the remaining bandwidth with Silver traffic in a Weighted Round Robin fashion. The ISP makes no guarantees at all with regard to delivery of Bronze traffic across their network; it will be delivered on a best-effort basis.
Full QoS scenario 1: tiered services for a single customer The act of assigning packets in a particular traffic class to a particular egress queue is achieved in the pre-marking process.
Full QoS scenario 1: tiered services for a single customer X Step 3—Set the bandwidth limits The Gold traffic must be strictly limited to 2Mbps This is achieved by configuring a maxbandwidth on that traffic class, and dropping bandwidthclass 3 traffic: set qos trafficclass=3 maxbandwidth=2mbps maxburst=20Kbytes dropbwclass3=true For silver traffic, there is preferential treatment for the first 5Mbps of traffic.
Full QoS scenario 1: tiered services for a single customer RED curves—a refresher Random Early Discard curves are bandwidth class aware, and can drop lower priority packets when severe congestion occurs, with progressively more and higher priority packets dropped until congestion is eased. This is useful for TCP flows, because the sender will slow the rate of transmission when it detects a packet loss.
Full QoS scenario 2: bandwidth limiting of multiple customers Full QoS scenario 2: bandwidth limiting of multiple customers In this section, we will build up another relatively complex QoS configuration to support a different scenario. The scenario is an ISP providing connectivity for several independent customers (one per port). Different customers have signed up for different deals that provide different levels of service.
Full QoS scenario 2: bandwidth limiting of multiple customers The configuration required to impose these bandwidth limits would be: Limiting the outgoing traffic: create qos policy=1 dtcdropbwclass3=yes dtcmaxbandwidth=1Mbps dtcmaxburst=10Kb create qos policy=2 dtcdropbwclass3=yes dtcmaxbandwidth=10Mbps dtcmaxburst=10Kb create qos policy=3 dtcdropbwclass3=yes dtcmaxbandwidth=15Mbps dtcmaxburst=10Kb create qos policy=4 dtcdropbwclass3=yes dtcmaxbandwidth=5Mbps dtcmaxburst=10Kb create qos policy=5 dtcdropbwc
Full QoS scenario 2: bandwidth limiting of multiple customers create qos traff=9 set qos traff=9 maxband=5Mbps maxburst=10Kb dropbwc=yes add qos traff=9 flow=9 create qos traff=10 set qos traff=10 maxband=2Mbps maxburst=10Kb dropbwc=yes add qos traff=10 flow=10 create qos poli=6 add qos poli=6 traff=6-10 set qos port=24 poli=6 X Step 2—Giving better service to VOIP traffic The ISP can offer to the customer a guarantee that VoIP traffic (up to a certain, relatively low, bandwidth) will be given preferent
create qos policy=1 dtcdropbwclass3=yes dtcmaxbandwidth=1Mbps dtcmaxburst=10Kb add qos poli=1 traffic=1 create qos policy=2 dtcdropbwclass3=yes dtcmaxbandwidth=10Mbps dtcmaxburst=10Kb add qos poli=2 traffic=1 create qos policy=3 dtcdropbwclass3=yes dtcmaxbandwidth=15Mbps dtcmaxburst=10Kb add qos poli=3 traffic=1 create qos policy=4 dtcdropbwclass3=yes dtcmaxbandwidth=5Mbps dtcmaxburst=10Kb add qos poli=4 traffic=1 create qos policy=5 dtcdropbwclass3=yes dtcmaxbandwidth=2Mbps dtcmaxburst=10Kb add qos pol