cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2171
Views
3
Helpful
5
Replies

Switch QOS COS inbound marking

siddiqirf
Level 1
Level 1

On the Cisco switches (2960) can I apply layer 2 COS marking inbound on a Dot1q trunk, or can it be applied outbound only.

I understand when a Frame comes inbound on a Trunk, the Vlan tag is removed, so dot1p cos cannot be applied.

On the outbound, the VLAN tag is added on a trunk and 802.1p COS value can be attached to the frame.

Is this understand correct.

However, I have seen mls qos cos <value> override, applied on voice vlans on phone ports so not sure if the cos is written to the frame and classified before the vlan tag is removed on the inbound.

Please can someone correct my understanding?

5 Replies 5

siddiqirf
Level 1
Level 1

any Experts willing to help...

Jon Marshall
Hall of Fame
Hall of Fame

You are right when you say that only 802.1q packets can carry a CoS value. You can reset the CoS value of the incoming packet to the default CoS value of the port by using the "mls qos cos override" command.

When a packet is received on a port it all depends on what setting you have. Assuming you are trusting the CoS value then this value is used and the switch then does a lookup in the CoS-to-DSCP map to derive a DSCP value. This DSCP value is never written into the packet but used by the switch to apply any QOS settings as the packet passes through the switch.

If the packet then leaves on a 802.1q trunk the DSCP-to-CoS map is used to derive a CoS value to write into the 802.1q tag.

So the key thing to understand is that the switch needs to derive an internal DSCP value. This means you can match incoming traffic with an acl/policy map and assign a specific CoS value. This CoS value is not actually written into the packet, instead it is used to get the internal DSCP value.

So the short answer is yes you can apply a CoS value on inbound packets althought it won't actually be written into the packet header. It will translate to a DSCP value, using the CoS-to-DSCP map, pass through the switch and then if going out on an 802.1q trunk the DSCP value will be translated to a CoS value using the DSCP-to-CoS map and written into the 802.1q header.

Jon

Thanks Jon, your explanation really helped clear alot of things

Can you please clarify one more thing -  if the switch derives an internal DSCP value from the inbound COS, which isnt written into the L3 packet, then on outbound do you have to set the DSCP value again if you want it 'writtern' to the packet and propagated to a Layer 3 device... and if so how would you do this in configuration?

All this is good in theory, but practically I am finding this a pain

I have a 2960 Catalyst switch with LAN Base.I have set my inbound cos value to be a configurable value of cos 3 on fa0/2. I understand from Cisco documentation, that this COS value will not be written into the Ethernet frame, but used to derive an "Internal" DSCP value or QOS Label if you will. This internal DSCP is derived from the COS-DSCP map, which in my case maps Cos3 to DSCP 24. (cs3)

This internal DSCP value of 24 should then be written  back to a COS value if the outgoing interface is a trunk based on the DSCP-COS Map. In my case which is using the default mapping of DSCP 24 being mapped to Cos 3. However when I run a packet capture on the outgoing interface, I do not see the frame marked with Cos 3.

Below is my configuration, please can you advise....

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

mls qos

!

interface FastEthernet0/1

switchport mode trunk

!

interface FastEthernet0/2

switchport access vlan 100

mls qos cos 3

mls qos cos override

Hi Siddiqirf,

Pls add "mls qos trust cos" command to Fa0/1.