cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1361
Views
0
Helpful
9
Replies
Highlighted
Beginner

DSCP to COS mapping question on Catalyst 3650

Hello:

I have a situation where I need to map DSCP values to COS on a dot1q trunk to my service provider, as the provider will only make QoS decisions based on COS dot1p instead of DSCP. The handoff port is on a 3650 switch. Ideally, I think it makes sense to mark COS on the outbound interface of the provider handoff, but the limitation of 3650's of 1 output policy per ASIC prevents me from doing this, because the DSCP to COS mapping that I need to do would be inappropriate for other ports on the same ASIC. So, I'm think that I should do the DSCP to COS mapping on the input policy of ports that send traffic to the service provider. The working config looks something like this:

table-map ELAN-TM1

 map from 34 to 5

 map from 36 to 5

 map from 24 to 5

 map from 40 to 5

 map from 46 to 5

 map from 38 to 5

 default copy

!

policy-map ELAN-Input-Policy1

 class class-default

  set cos dscp table ELAN-TM1

!

int Gi2/0/4

 service-policy input ELAN-Input-Policy1

The issue I have here is the input interface IS NOT a dot1q trunk, but the outgoing interface IS a dot1q trunk, so should this config work? If so, how do I verify that COS is getting marked correctly? Please advise.

Everyone's tags (4)
9 REPLIES 9
Highlighted
VIP Mentor

Hello,

Hello,

instead of using class-default, you could use a specified class and match it to the VLAN that is going out to your provider:

class-map DSCP_TO_COS
 match vlan 100
!
policy-map ELAN-Input-Policy1
 class DSCP_TO_COS
 set cos dscp table ELAN-TM1
!
int Gi2/0/4
service-policy output ELAN-Input-Policy1

Highlighted
Beginner

That, in theory, fixes my

That, in theory, fixes my problem, but creates another problem: If I add that class to the existing output policy, the frames that would match this class would get correctly marked, but wouldn't be placed in the correct output queue. I would need to match two classes on the output, because I need to accommodate both marking COS and queuing. Is there an answer in which I can do both in the same output policy?

Highlighted
VIP Mentor

Hello

Hello

Have you tried using dscp-mutation on the switch port.


mls qos map dscp-mutation STAN 24 34 36 38 40 46 to 5

int x/x
mls qos trust dscp
mls qos dscp-mutation STAN

res

Paul



kind regards
Paul

Please rate and mark posts accordingly if you have found any of the information provided useful.
It will hopefully assist others with similar issues in the future
Highlighted
Beginner

I think you're thinking Cat

I think you're thinking Cat 3560 & 3750 switches, because the Cat 3650 & 3850 switches do not have these commands.

Highlighted
VIP Mentor

Hello,

Hello,

I have been trying to wrap my head around this, but since you have marked everything to the same CoS value, wouldn't that automatically send out everything through the same queue ?

Either way, you could add 'priority level 1' to your class, or any other priority level, to make sure everything get assigned to the same queue.

class-map DSCP_TO_COS
match vlan 100
!
policy-map ELAN-Input-Policy1
class DSCP_TO_COS
priority level 1
set cos dscp table ELAN-TM1
!
int Gi2/0/4
service-policy output ELAN-Input-Policy1

Also, why (and how) would your provider differentiate between the egress queues on your local device ? Or maybe I am not understanding your question correctly...

Highlighted
Beginner

My output queuing strategy

My output queuing strategy isn't in question here, so whether or not I'm using a priority queue is not my concern at the moment. Further, why I'm marking these isn't the question, either.

The question pertains to whether or not COS marking is happening the way I expect it to, particularly retaining those modified COS values from the input queue on an interface (in which is not trunked), to an output interface (that is trunked). Thanks.

Highlighted
VIP Mentor

Hello

Hello

TBH I havent checked that it did or didnt -

Whatbout QOS Groups?

1)
class-map match-any Lan_DSCP_cm

match ip dscp 24 34 36 38 40 46

policy-map Lan_DSCP_pm
class Lan_DSCP_cm
set qos-group 1

int x/x
Description LAN interface
service-policy input Lan_DSCP_pm

2)
class-map match-all DSCP_Remark_cm
match qos-group 1

policy-map DSCP_Remark_pm
class DSCP_Remark_cm
set ip dscp 46

int x/x
Description SP Handoff 
service-policy output DSCP_Remark_pm

res
Paul



kind regards
Paul

Please rate and mark posts accordingly if you have found any of the information provided useful.
It will hopefully assist others with similar issues in the future
Highlighted
Beginner

Perhaps QoS Groups might work

Perhaps QoS Groups might work, but I don't see anything in your example that is actually mapping DSCP to COS? That said, I'll look into this further.

Highlighted
VIP Mentor

Hello

Hello

Checking the 3650 guidelines and limitations it is saying dissimilar mapping isnt applicable, So maybe referencing DSCP46 would be okay in the wan policy map inline with the default cos-dscp map tables.


res
paul



kind regards
Paul

Please rate and mark posts accordingly if you have found any of the information provided useful.
It will hopefully assist others with similar issues in the future
Content for Community-Ad