QOS 6500 Core - VOIP

Unanswered Question

Hi everyone...

We have a core network comprised of 6509's Sup2/MSFC2. These are our core switches but also our distribution routers....

Long story short, hanging off these 6509's we have servers, softswitches, IP PBX equipment, lots of other connections coming in from remote pop's, ADSL equipmnet (7206VXR's) etc. etc...

What I've setup so far is NBAR on a couple of VLAN interfaces to mark RTP, SIP and MGCP:

class-map match-any QOS-VOIP

match protocol sip

match protocol rtp

match protocol mgcp



policy-map QOS

class QOS-VOIP

set dscp cs5

class class-default

set dscp default

Then on the VLAN interface I have:

service-policy input QOS

I can't apply outbound service-policy but as I understand QOS and VLAN interfaces, I'm really applying CS5 to traffic leaving this VLAN anyways which is what I want....

Now that I have marked this traffic, how do I tell the other cards/interfaces within this chassis to apply priority in the queueing? This is kind of sparked as well by the older cards in this chassis and would rather not replace cards if it can be avoided - but will if neccessary...

Mod Ports Card Type Model Serial No.

--- ----- -------------------------------------- ------------------ -----------

1 2 Catalyst 6000 supervisor 2 (Active) WS-X6K-SUP2-2GE

2 2 Catalyst 6000 supervisor 2 (Warm) WS-X6K-SUP2-2GE

3 16 16 port GE RJ45 WS-X6316-GE-TX

4 48 48 port 10/100 mb RJ-45 ethernet WS-X6248-RJ-45

5 48 48 port 10/100 mb RJ-45 ethernet WS-X6248-RJ-45

6 48 48 port 10/100/1000mb EtherModule WS-X6148-GE-TX

8 6 Firewall Module WS-SVC-FWM-1

9 8 8 port 1000mb GBIC Enhanced QoS WS-X6408A-GBIC

As I understand it, the 6248 cards have 1q4t and the 6148's have 1p2q2t??

I'm kind of looking for the next step and would appreciate any help anyone can suggest...;)

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)

Thanks.. I had already read most of that (maybe too fast) plus have my trusty "End-to-End QOS Network Design" book from Cisco Press... good read...

Because there seem to be so much to take in, what I'm looking for is a clearer understanding of how to prioritize on interfaces within the 6500 itself. We have ZERO congestion - I just want to provide priority....

Right now I have applied numerous NBAR based rules to give voice traffic DSCP EF at this point (rtp, sip, mgcp specifically) and now I need to ensure the queues on interfaces let these packets through first everytime... how do I do that (or really, what's the best way) is probably the best question?

Bill CARTER Thu, 02/01/2007 - 12:11

I know you have already been referred to the Enterprise QoS SRND. For 6500's the best section of the guide is "Catalyst 6500 - Queuing and Dropping"

Here is what we do on our Catalyst 6500's. My line card is a WS-X6748-GE-TX with 1p3q8t. This means I have 4 queue, 1 of which is the priority queue. Queues 1-3 are regular queues, 4 is the priority queue.

The size of each queue is set with the command "wrr-queue queue-limit 5 25 40". This assigns the % of buffer space (in my case 1MB buffer) to each of the queues. 5% to queue 1, 25% to queue 2, 40% to queue 3. This totals 70%, the remaining 30% is automatically assigned to the Priority Queue.

I will skip the "wrr-queue random-detect" commands. They are for weighted random drops of packets, but only matter when an interface is congested.

Packets are mapped to a queue with "wrr-queue cos-map A B C" where A=queue#, B=Threshold, C=COS value.

queue 1 services COS 1

queue 2 services COS 0

queue 3 services COS 4,2,3,6,7

queue 4 (priority) COS 5

The 6500 does some funny things with COS and DSCP values. This makes the "mls qos trust" and "mls qos map".

Internally, the 6500 assigns DSCP values to packets for queueing. It uses mls qos trust and mls qos map to determine the internal DSCP mapping. You can see the maps with "show mls qos map".

If an interface is set to "mls qos trust", the switch will accept the assign value (cos, dscp, IP Prec) and re-write the corresponding DSCP value. If I trust cos and a packet is marked with COS 5, the mls qos map cos-dscp command maps the packet with DSCP 46 (EF).

The map assigns a DSCP value for each COS value.

**COS Value*** 0 1 2 3 4 5 6 7

mls qos map cos-dscp 0 8 16 24 32 46 48 56

Here is the problem to watch out for; if an interface has "mls qos trust cos" and packets come in without COS marking, but they have DSCP markings, the switch re-writes the DSCP value to 0.

The only time I trust COS is when an IP phone is connected to the port. If packets are marked with DSCP then trust DSCP.

I did have a problem on a Catalyst 3750 were I trusted DSCP, but upstream the packets were marked with IP Prec. DSCP CS5 is supposed to be the same as IP Prec 5, but the switch was marking all the IP Prec packets down. I changed the trust to IP Prec and all was good.


mls qos map cos-dscp 0 8 16 24 32 46 48 56

mls qos


interface GigabitEthernet7/19


switchport access vlan 207

switchport mode access

no ip address

load-interval 30

speed 1000

duplex full

wrr-queue bandwidth 5 25 70

wrr-queue queue-limit 5 25 40

wrr-queue random-detect min-threshold 1 80 100 100 100 100 100 100 100

wrr-queue random-detect min-threshold 2 70 100 100 100 100 100 100 100

wrr-queue random-detect min-threshold 3 50 60 70 80 90 100 100 100

wrr-queue random-detect max-threshold 1 100 100 100 100 100 100 100 100

wrr-queue random-detect max-threshold 2 100 100 100 100 100 100 100 100

wrr-queue random-detect max-threshold 3 60 70 80 90 100 100 100 100

wrr-queue cos-map 1 1 1

wrr-queue cos-map 2 1 0

wrr-queue cos-map 3 1 4

wrr-queue cos-map 3 2 2

wrr-queue cos-map 3 3 3

wrr-queue cos-map 3 4 6

wrr-queue cos-map 3 5 7

mls qos trust dscp


Hey, thanks very much! We're both on the same page.. been working on this all day but *forgot* the top line to map the values...

One last thing .. maybe an obvious question.. what's the best way to see if this is working or not?

I can take a look at the policy-map interface and look for drops in various queues... anything else?

Thanks again!

Bill CARTER Thu, 02/01/2007 - 13:25

not many good commands for monitoring QOS. show queueing interface gX/X is the best command I have seen.

At the bottom there is

Packets dropped on Transmit:

queue dropped [cos-map]


1 0 [1 ]

2 0 [0 ]

3 0 [4 2 3 6 7 ]

4 0 [5 ]


This Discussion