Internal priority for traffic....................................................................................................................................14
The purpose of that document is to detail the QoS features explained in the “OmniStack 6300-24 User Guide”
Please refer to the user guide for more information.
The document will go through the following features:
1. “Port based” rate limiting
2. Queue mode
3. Class of Service and priority queues
4. ACL marker: 802.1p, ToS, DSCP stamping on egress packets
5. ACL
6. “Flow based” QoS using Service Policy, Class-Map and Policy-Map
1. Port based rate limiting
Bandwidth shaping is configurable on an interface basis.
You can shape incoming traffic for an interface to 10Mbps with the “rate-limit input 10 “ interface command.
You can shape outgoing traffic for an interface to 20Mbps with the “rate-limit output20 “ interface comm and.
The granularity of the bandwidth is 1Mbps.
Example
To set ingress shaping to 10Mbps on interface 1/1 and set egress sha ping to 20Mbps on interface 1/2
By definition, shaping is done on an interface basis; all traffic for that interface will be shaped.
In order to make a flow based rate limiting rule, the user has to set a “Service Policy”.
Interoperability with OmniSwitch 6624/6648 7700/7800 8800
The OmniSwitch 6624/6648 7700/7800 8800 switches do not have a port based rate limiting concept.
They use the “policy rules” to make the bandwidth shaping for traffic matching the “policy conditions”.
They do a “flow based” rate limiting.
OmniSwitch 6300 can do both “port based” rate limiting and “flow based” rate limiting.
2. Queue mode
The switch has 8 priority queues per egress port.
You can configure the queue mode to a strict or a Weighted Round-Robin (WRR):
♦ WRR (default): shares bandwidth at the egress ports by using scheduling weights 1 2 4 6 8 10 12 14 for
queues 0 through 7 respectively; the higher the weight, the higher the bandwidth for that queue
♦ Strict: services the egress queues in sequential order, transmitting traffic in the higher priority queues before
servicing any lower priority queues
The queue mode is set for the entire switch. All interfaces are either in a strict mode or a WRR mode.
However, on WRR mode, the weights are configurable on an interface basis.
Since the queues are linked to the egress port, you will always modify the weights for the egress interface.
Example
To set queue mode to WRR and WRR bandwidth for queues serving interface 1/3
Interoperability with OmniSwitch 6624/6648 7700/7800 8800
Usually, there is no such queue mode in these switches. The queues are always in a strict mode.
The only modules that can be configured in a WRR mode are the High-Density modules GNI-U12/GNI-C12 on
OmniSwitch 7700/7800 and GNI-U24/GNI-C24 on OmniSwitch 8800.
The only location to configure a WRR in your network is on OmniStack 6300-34 or High-Density modules.
3. Priority CoS (Class of service)
The switch has 8 priority queues per egress port.
The switch uses CoS to determine the priority of a packet.
Each CoS value is mapped to a priority queue using the CoS/Queue table.
The default table is:
Priority Queue 2 0 1 3 4 5 6 7
CoS value 0 1 2 3 4 5 6 7
CoS means a lot of things.
CoS is an input value between 0 and 7 the switch uses to determine the priority queue.
The key is to know where that CoS came from.
The switch has several ways to interpret a CoS value:
♦ Using the 802.1p from tagged packet, default mode
♦ Using the port default priority for untagged packets
♦ Using the IP precedence (TOS) from IP packets
♦ Using the IP DSCP (diffServ) from IP packets
♦ Using an ACL to map specific packets to a CoS
Interoperability with OmniSwitch 6624/6648 7700/7800 8800
OmniSwitch 7700/7800 and 8800 only support 4 queues per egress port.
OmniSwitch 6624/6648 supports 8 queues per egress port.
3.1 802.1p Priority (tagged packets)
By default, the switch uses the 802.1p value seen in the incoming packets to determine the CoS.
In that mode, CoS and 802.1p are the same.
The priority queues are chosen using the table:
Priority Queue 2 0 1 3 4 5 6 7
802.1p (CoS) 0 1 2 3 4 5 6 7
All incoming-tagged packets are prioritized based on the 802.1p value they carry on their VLAN header.
The outgoing packets still carry the original 802.1p value. Packets are never modified.
Interoperability with OmniSwitch 6624/6648 7700/7800 8800
These switches do the same but they use a different table.
For instance OmniSwitch 7700/7800 and OmniSwitch 8800 map the 802.1p values to only 4 priority queues.
Priority Queue 0 0 1 1 2 2 3 3
802.1p 0 1 2 3 4 5 6 7
Packets with 802.1p 0 get the lowest priority whereas they get priority 2 on OmniStack 6300-24
By default, the switch uses the 802.1p value seen in the incoming packets to determine the CoS.
For incoming untagged packets, the switch has to define a “default 802.1p”
The switch uses the interface “switchport priority default” to determine the default 802.1p for incoming
untagged packets on that interface.
Also, the switch will automatically set the 802.1p value with the “default priority” if the packet has to go out on a
tagged interface. (The egress interface has to insert a VLAN header in the packet)
All incoming untagged packets are prioritized based on the interface default priority.
These packets will have their 802.1p value set with the default priority value when exiting the switch
By default, the default 802.1p is 0
♦ Incoming untagged packets will be queued to priority queue 2 (see CoS/queue table)
♦ When exiting the switch, these packets will have their 802.1p set to 0 on the VLAN header
When setting “Console(config-if)# switchport priority default 7” on an interface
♦ Incoming untagged packets will be queued to priority queue 7 (see CoS/queue table)
♦ When exiting the switch, these packets will have their 802.1p set to 7 on the VLAN header
Note
When “map ip precedence” or “map ip dscp” or ACL-CoS are configured, the switch does not use the interface
default priority to queue the incoming untagged packets but “ip precedence”, “ip dscp” or ACL that matches the
packets to determine to priority queue.
(See next chapters)
Interoperability with OmniSwitch 6624/6648 7700/7800 8800
These switches also support a port default priority for untagged packets.
However, there will be an incompatibility for the default priority 0 1 and 2 since they are not mapped to the same
priority queues.
Default priority 0 is the lowest priority whereas on OmniStack 6300-24, default priority is priority 2.
3.3 Mapping CoS value to egress priority queue
As explained before, the switch always maps a CoS to an egress priority queue.
The switch never directly maps an 802.1p value (or ToS/Dscp), or an interface default priority to a queue.
It first links the 802.1p (or ToS/Dscp) or the default interface priority to a CoS value and then maps that CoS
value to the egress priority queue.
You can change the CoS/Queue table to force some CoS values to be mapped to some specific queues.
That will not modify the packets, it just modifies the queuing of the packets.
The table is set for the entire switch.
Ex: To map CoS 1 to priority queue 5
Console(config-if)# queue cos-map 5 1
Priority Queue 2
CoS value 0
Also, you can map all CoS values to the same queue.
That will give the same priority for all packets.
To set priority 0 for all CoS you will use the command:
Priority Queue 0 0 0 0 0 0 0 0
CoS value 0 1 2 3 4 5 6 7
5
1 3 4 5 6 7
1
2 3 4 5 6 7
Limitation
CLI requires going to the interface command mode to change the table, even if the table is not interface-related.
Interoperability with OmniSwitch 6624/6648 7700/7800 8800
There is no CoS/queue concept. However, they do support the same idea with the “mapping” policies.
You can configure some policies to map an 802.1p/TOS/DSCP to another 802.1p/TOS/DSCP, using the map
groups.
That will change both priority queue and the 802.1p/TOS/DSCP value inside the packet.
Also, the policies are configured on a packet flow basis whereas on OmniStack 6300 -24 the CoS/queue table is
set for the entire chassis.
OmniStack 6300-24 does not support the trusted/untrusted feature, but setting priority 0 for all CoS values is a
similar way of making the switch untrusted (all packets have the same priority)
3.4 IP precedence Priority (IP packets)
By default, the switch uses the 802.1p value seen in the incoming-tagged packets or the interface default priority
for incoming untagged packets to determine the CoS.
That is L2 priority.
What if you want to do a L3 priority and use the ToS from the IP header?
IP defines 2 priorities on the ToS byte
♦ IP Precedence or ToS: 3 first bits of ToS byte. Value between 0 and 7.
♦ IP DSCP or DiffServ: 6 first bits of ToS byte. Value between 0 and 63.
The switch can be configured to take CoS from IP Precedence.
The switch also uses an IP Precedence/CoS table to map each IP Precedence value to a CoS value.
That table can be modified.
All settings are set for the entire switch.
All incoming IP packets are prioritized based on the ToS value they carry on their IP header.
The outgoing packets still carry the original ToS byte. Packets are never modified.
That mode only applies for IP packets.
Of course, non-IP packets will still be prioritized using their 802.1p or the interface default priority.
To determine the priority queue, the switch takes the CoS mapped to the IP Precedence.
Then, the switch reads the CoS/Queue table to map the CoS value to a priority queue.
The default tables are:
Packets with IP ToS 0 will be queued to priority queue 7 (CoS 7)
Packets with IP ToS 3 will be queued to priority queue 2 (CoS 0)
7
0
1 2
1 2
0
4 5 6 7
3
4 5 6 7
Limitation
CLI requires going to the interface command mode to change the table, even if the table is not interface-related.
Interoperability with OmniSwitch 6624/6648 7700/7800 8800
These switches do the same but they use a different table.
For instance OmniSwitch 7700/7800 and OmniSwitch 8800 map the ToS values to only 4 pri ority queues.
Packets with ToS 0 get the lowest priority whereas they get priority 2 on OmniStack 6300-24.
There is no ToS/CoS concept. However, you can modify the ToS/queue mapping by using the mapping policies.
The mapping policies will modify both the priority and the egress packet (i.e. the egress 802.1p/ToS/Dscp are
modified based on the ingress 802.1p/ToS/Dscp value, using the “policy map group”)
On OmniStack 6300-24, selecting IP Precedence Priority never alters the egress packets.
3.5 IP DSCP Priority (IP packets)
The switch can be configured to take CoS from IP DSCP.
The switch also uses an IP DSCP/CoS table to map each IP DSCP value to a CoS value.
That table can be modified.
All settings are set for the entire switch.
All incoming IP packets are prioritized based on the DSCP value they carry on their IP header.
The outgoing packets still carry the original ToS byte. Packets are never modified.
That mode only applies for IP packets.
Of course, non-IP packets will still be prioritized using their 802.1p or the interface default priority.
To determine the priority queue, the switch takes the CoS mapped to the IP DSCP.
Then, the switch reads the CoS/Queue table to map the CoS value to a priority queue.
The default tables are: