I'm trying to understand the priority-queue out command configured on an interface.

Based on what I have read, here is what it does : the Priority Queue (Queue 1) on the switch will be emptied before any other queues (Q2, Q3, Q4).

But how can you tell which traffic should be sent to Q1 ? Is this done using a class-map and a policy-map ? Based on this document : https://www.cisco.com/c/en/us/td/docs/routers/connectedgrid/cgr1000/1_0/software/configuration/guide/qos/cgr1000_Book/qos_priority_cgr1000.pdf ... you would have to configure "priority level 1" in your policy-map. Is this correct ?

We have a switch here configured with priority-queue out, but I can't find any class-map or policy-map on it. Is it possible to assign traffic to the priority queue in another way ?

  • What is the switch model? Some switches need to use the mls qos commands. The document you linked is specific to the Cisco 1000 Series Connected Grid Router, not a switch. – Ron Maupin Jan 23 at 18:02
  • The switch is a C2960X. – user53632 Jan 23 at 18:04

Actually, I just found the answer.

You can assign CoS/DSCP values to specific queues. There are 4 queues for egress traffic. Since Q1 is the priority-queue, here is an example that would assign CoS value 7 to Q1 Threshold 2:

mls qos srr-queue output cos-map queue 1 threshold 2 7

Here is the same for DSCP value 56 :

mls qos srr-queue output dscp-map queue 1 threshold 2 56

Traffic marked with CoS value 7 or DSCP value 56 would be sent to Q1, and thus the command priority-queue out should empty this queue before anything else, and prioritize our traffic.

Please note that this is for egress traffic. Ingress traffic works differently, since it has only 2 queues (Q1 and Q2), and Q2 is the priority queue by default.

Each queue has multiple threshold (3 in total per queue) which can also be configured, but there are default values if you don't. Thresholds values define when traffic starts to get dropped. There is a good explanation on thresholds here : https://community.cisco.com/t5/telepresence-and-video/help-understanding-qos-threshold/td-p/1374101

  • Understand that the switch will reset any traffic entering the switch to BE (0), so you need to classify and mark the traffic. – Ron Maupin Jan 23 at 18:33
  • Yes, you are right - for traffic that comes in unmarked. I was thinking of Cisco VoIP phones when writing this answer. Cisco phones mark their voice traffic on their own, and we had the "mls qos trust dscp" command configured on the switchport. – user53632 Jan 23 at 18:35
  • 2
    Right, you would need to trust, otherwise, it will mark the traffic BE. The switch, by default, marks everything BE, regardless of how it was marked before. Be careful with simply trusting everything. There are applications that mark their traffic as EF, even though that is not what the traffic should be marked. That will interfere with your VoIP traffic marked EF. Also, the VoIP control traffic has a different marking, as it should. Some people want to mark it EF, but it really should not be. The phone will mark the control traffic correctly. – Ron Maupin Jan 23 at 18:51

The 2960 switch uses the mls qos commands to assign QoS.

You can use access lists to identify different traffic and classify it with class maps to assign different traffic to different priorities, and the mls qos commands to assign the queues.

The document you are looking at is specific for a router, not a switch. You need to look at a document that is for your switch, e.g. Catalyst 2960-X Switch QoS Configuration Guide, Cisco IOS Release 15.0(2)EX.

The entire subject is too large to discuss here, but you can ask other questions for specific problems you may have.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.