Showing results for 
Search instead for 
Did you mean: 

no mls qos command in 2950?

I am trying to configure qos on my cisco switch for voice traffic. I have managed to setup voice vlans ok on my ports like the following

interface FastEthernet0/3
switchport trunk native vlan 10
switchport trunk allowed vlan 10,20
switchport mode trunk
switchport voice vlan 20
mls qos trust cos
spanning-tree portfast

I have read that to use qos you have to enable globally. Problem is i do not have that comannds

Switch(config)#mls qos
% Invalid input detected at '^' marker.


I am also trying to change my cos-dscp mapping. But because I do not have my mls command I can not do this

Switch(config)#do show mls qos maps cos-dscp
   Cos-dscp map:
        cos:   0  1  2  3  4  5  6  7
       dscp:   0  8 16 24 32 40 48 56

Switch(config)#mls qos map cos-dscp 0 8 16 26 34 46 48 56
% Invalid input detected at '^' marker.

I have the following IOS

Switch#sh ver
Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA2, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2004 by cisco Systems, Inc.
Compiled Sun 07-Nov-04 23:14 by antonino
Image text-base: 0x80010000, data-base: 0x8055E000

ROM: Bootstrap program is C2950 boot loader

Switch uptime is 6 days, 12 hours, 13 minutes
System returned to ROM by power-on
System image file is "flash:/c2950-i6q4l2-mz.121-22.EA2.bin"

It says in the link!input.jspa?containerType=14&container=2003 that I need IOS ver 12.1(12c)EA1, but I have a newer ISO then that.


Eugene Lau
Cisco Employee

Hey Saiyen,

How's it all going?

The 2950 has a fundamental QoS capability. "mls qos" is not required.

See if you can access the config guide

In the context of a fundamental QoS type configuration and keeping it simple - ensure that your maps are correct if you are remarking traffic and that every interface in the path has a trust statement including interswitch trunks

#sh mls qos int [no] <-- will tell you the trust state




On 2950 to get full QoS support you need an EMI hardware.



Don't forget to rate helpful posts.

Eugene, nice bumping into you again.

OK, so I do not need global mls qos.

How about configuring the cos-dscp map? It seems that In this switch of mine I can not configure anything to do with dscp. Inlcuding setting mls qos trus dscp, which you advised me to do from the previous thread

Switch(config-if)#mls qos trust ?
  cos     cos keyword
  device  trusted device class

Switch(config-if)#mls qos trust de
Switch(config-if)#mls qos trust device ?
  cisco-phone  Cisco IP Phone

Secondly, if my cos-dscp looks like the following

Switch#show mls qos maps cos-dscp
   Cos-dscp map:
        cos:   0  1  2  3  4  5  6  7
       dscp:   0  8 16 24 32 40 48 56

And my pbx sends out packets with dscp 46, which is not in the cos-dscp table, would everything work OK? Will my dscp be overwritten?

On my wan side on the router I want to do QOS by indentifying the dscp of 46. What would be the best way to proceed with this?


Hey Saiyen,

Having a 2950-SI switch presents a number of challenges due to the fundamental QoS Feature set supported. While not ideal by today's QoS practices (to keep a uniform schema), let me attempt to summarise . Just had a quick review of the config guide and I'll discuss these specifically to SI feature set only.


IP phone -- trust cos ---2950-SI --- router ---- wan --- router --- remote lan

a. When trust cos applied - 2950-SI will trust the CoS5 from IP Phone -> modify DSCP to 40 based on CoS-DSCP map. You cannot modify the map in SI.

b. For PBX or device with NO TRUNK -> there is no CoS -> value assumed to be 0. PBX send with DSCP 46 will be marked down to 0. This scenario may also be applicable to routers. If you override the CoS to 3 (that is mark all traffic with 3 for signalling) then DSCP will be modified according to MAP.

I'd see the options as the following:

What you would be attempting to do is ensure the QoS Markings are carried and queued appropriately through the network. From a technical feature perspective, whether it is DSCP40 or 46, you can get it to work the same way.

1. #mls trust cos pass-through dscp

In context to IP phone -> CoS5 trusted -> NO MODIFICATION of DSCP = 46

Also can apply to router port for traffic returning to PBX or LAN.

2. PBX is port is more complex because you can't trust DSCP. You could try hardcoding to CoS3 (defaults to DSCP24) and make sure there is class map on the WAN to match this and place it in the same priority queue as DSCP46. Not ideal but it should work.

3. At the router.

Interface to WAN (depending on type of interface/circuit) ---> a mechanism like CBWFQ with LLQ - to prioritise different traffic classes - matching on DSCP

Interface to LAN --> on trunk link -> policy-map to set CoS values because 2950SI cannot trust DSCP (other switches you can simply trust DSCP and no need for the policy-map)

From a behaviour view - voice traffic is the most important - RTP, DSCP46 as the quality of sound would be noticed by your users.

Delay in signaling would mean slight wait in dial tones, connections, voice mail etc