From the blog.

Managing Digital Racket
The more I tune out, the less I miss it. But that has presented me with some complex choices for a nuanced approach to curb
Complexity – My Friend, My Enemy
Over my years of network engineering, I've learned that the fewer features you can implement while still achieving a business goal, the better. Why? Fewer

NMC DOiT Vol.2 Scenario 7 Day 1 – Catalyst 3550 CoS Marking + WRR Queue Bandwidth Sharing with Expedite Queue

655 Words. Plan about 4 minute(s) to read this.

I started scenario 7 tonight, which is classified by NetMasterClass.com as “difficult”. Scenarios 1-6 were merely “moderate”. There are number of oddball things that I don’t know how to do. (Have I said that before? Like pretty much every scenario I’ve done thus far?) But, I’m determining to work through them, item by item and sort them all out. One such task was a Catalyst 3550 queueing issue.

The challenge was something like what follows:

Fa0/10 connect a net admin’s laptop. VLAN20 ports uplinking R2 need to allow the net admin to manage the router, even when the network is congested. Traffic from the laptop must go to the router before any other traffic and shall be classified as CoS of 3. Other VLAN 20 traffic going to R2 should share bandwidth as follows: CoS 6 & 7 @ 27%, CoS 0, 1 & 2 @ 40%, CoS 4 & 5 @ 33%.

One key phrase I noticed: “before any other traffic” – that told me we needed to use an expedite/priority queue. I remembered from studying up on Catalyst QoS that the 3550 has 4 queues. You can map traffic into those queues how you like, and then tell the 3550 how to dequeue them. And I remembered that there’s a queue you can use as an expedite queue, where he must be dequeued before the other 3 queues.

I had a pretty good idea of what I needed to do, but didn’t know all the commands to do it. I had the following tasks in my head:

  1. Enable QoS on the 3550.
  2. Mark with a CoS value of 3 on all ethernet frames flowing into Fa0/10. Marking the frames and/or packets is the first thing you have to do in a QoS scenario – you have to mark the important traffic before you can do much in the way of special handling later on.
  3. Map CoS values to egress queues. Turns out you do this per-interface, which makes sense, but I wasn’t sure before I looked it up.
  4. Enable the egress expedite queue on the interface uplinking R2. This would be the “egress” traffic, since the traffic would be flowing out of the interface towards the routers. On a 3550, queue 4 is eligible to be an expedite queue.
  5. Dequeue the non-priority egress queues in the specific ratio of 27/40/33.

Read more about egress queueing on the Catalyst 3550.

So…here’s my solution to this problem after reading through the link above, certified by the NMC answer key:

!1. Enable QoS on the 3550.
mls qos
!
interface fa0/10
des Engineer’s Laptop
!2. Mark with a CoS value of 3 on all ethernet frames flowing into Fa0/10.
mls qos cos 3
mls qos cos override
no shut
exit
!
interface fa0/2
des R2 Fa0/0
!3. Map CoS values to egress queues.
wrr-queue cos-map 1 6 7
wrr-queue cos-map 2 0 1 2
wrr-queue cos-map 3 4 5
wrr-queue cos-map 4 3
!4. Enable the egress expedite queue.
priority-queue out
!5. Dequeue the non-priority egress queues in the specific ratio. Note that when the priority queue is enabled, the last value in the following statement is not used. If you disabled the priority queue on the interface, then the value would come back into use.
wrr-queue bandwidth 27 40 33 100
exit

With that done, here’s a peek at some show commands you would use to verify your configuration is good:

CAT1#show run interf fa0/10
Building configuration…

Current configuration : 153 bytes
!
interface FastEthernet0/10
description Engineer’s Laptop
switchport access vlan 20
switchport mode access
mls qos cos 3
mls qos cos override
end

CAT1#show run interf fa0/2
Building configuration…

Current configuration : 294 bytes
!
interface FastEthernet0/2
description R2 Fa0/0
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
wrr-queue bandwidth 27 40 33 100
wrr-queue cos-map 1 6 7
wrr-queue cos-map 2 0 1 2
wrr-queue cos-map 3 4 5
wrr-queue cos-map 4 3
priority-queue out
end

CAT1#show mls qos interface fa0/10
FastEthernet0/10
trust state: not trusted
trust mode: not trusted
COS override: ena
default COS: 3
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: none

CAT1#show mls qos interface fa0/2 queueing
FastEthernet0/2
Egress expedite queue: ena
wrr bandwidth weights:
qid-weights
1 – 27
2 – 40
3 – 33
4 – 100 when expedite queue is disabled
Cos-queue map:
cos-qid
0 – 2
1 – 2
2 – 2
3 – 4
4 – 3
5 – 3
6 – 1
7 – 1