QOS - Migrating from ATM->ETH

Unanswered Question
Jun 30th, 2008


We are in the process of migrating our inter-pop links from ATM to ETH.

Existing QOS setup is:

class-map match-any GOLD

match mpls experimental topmost 5

match ip precedence 5

class-map match-any SILVER

match mpls experimental topmost 4

class-map match-any BRONZE

match mpls experimental topmost 3

match ip precedence 3

policy-map MPLS-EGRESS

class GOLD

priority percent 5

set mpls experimental topmost 5

class SILVER

bandwidth percent 20


set mpls experimental topmost 4

class BRONZE

bandwidth percent 20


set mpls experimental topmost 3

class class-default

set mpls experimental topmost 0



And applied egress to ATM Subint:

interface ATM1/0.100 point-to-point

description TRUNK LINK

bandwidth 20000

ip address xxx.xxx.xxx.xxx

no ip redirects

no ip proxy-arp

tag-switching ip

pvc SYD 10/100

vbr-nrt 45200 22600

tx-ring-limit 3

oam-pvc manage

encapsulation aal5snap

service-policy output MPLS-EGRESS

You cannot apply CBWFQ to eth subint though:

#interface GigabitEthernet0/2.85

#service-policy output MPLS-EGRESS

CBWFQ : Not supported on subinterfaces

Now, http://www.cisco.com/en/US/tech/tk543/tk545/technologies_tech_note09186a0080114326.shtml states you can apply a service-policy to eth subint, but you must use the bandwidth command for CBWFQ - Hoping someone can describe what I would need to adjust in the existing conf. to achieve this?

Thanks in advance.

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (2 ratings)
n.nandrekar Mon, 06/30/2008 - 22:19


The above documentation states that you cannot apply CBWFQ to an eth sub-interface directly.

You can apply it through heirarchial policy though.

Define a policy-map Parent.

under its class-default, apply shaping to the values that you ysed for the atm CBR/VBR vlaues.

apply clhild policy under it.

eg, For your above example,

policy-map Parent

class class-default

shape average 45200000

service-policy MPLS-EGRESS

So the same policy should work but can also depend on the router you are using. eg. on 6500, a "set" command is not allowed in the child policy. If this is the case, you can use policing to mark saying , police 45200 conform action set-exp-transmit 5"

In that case, you are using police just to accomplish marking as you are setting the higher threshold of police to the full bandwidth.



(pls rate if this helps)

johnelliot Tue, 07/01/2008 - 13:59

Thanks Niranjan - So I only need to create:

policy-map foo

class class-default

shape average 45200000

service-policy MPLS-EGRESS

With a class-default, bandwidth allocation and also include my existing service-policy MPLS-EGRESS?

Paolo Bevilacqua Tue, 07/01/2008 - 14:55

Before doing that, have you tested the real QoS given to you on the new network ?

E.g. if you find it can deliver more than 45mbos then is counterproductive to shape traffic, you should find first what are the traffic parameter to decide what if anything needs to be done/.

Or you could find that for some reason you have packet loss above 40 mbps and that would be the value to use.

Also, have you asked your SP if they provide any QoS based on DSCP marking ? Even it is less classes of what you planned to have, it can still be a very good way to address QoS basically leaving to them how to handle traffic and not limit the source to any predefined rate.

johnelliot Tue, 07/01/2008 - 15:03


Our new Eth connection is 50Mb(Our ATM service was burstable to ~40Mb) - It is provided as a pure L2 QinQ service(With no QOS provided), and when we hit 50Mb, we do see packet-loss/higher latency.

Paolo Bevilacqua Tue, 07/01/2008 - 15:28

Good, so set the number as high as possible and you should be fine. I think you would benefit also from dscp based naming the policy.

johnelliot Tue, 07/01/2008 - 15:39

Thanks - Can you please elaborate on "I think you would benefit also from dscp based naming the policy" ?

Joseph W. Doherty Tue, 07/01/2008 - 15:57

"With a class-default, bandwidth allocation and also include my existing service-policy MPLS-EGRESS?"

Yup, however if your new link offers 50 Mbps, don't forget to revise you shaper's parameters to deliver 50 Mbps.

Another item for review, whether there's any point in setting MPLS bits, e.g. "set mpls experimental topmost 4", where you now might want to mark with DSCP, if you continue to mark at all.

coolprinki Thu, 07/03/2008 - 23:47

Hi there,

yes the cisco link is true as i too faced the same issue while migrating to Ethernet. Only thing you need to do is use the following commands:

policy-map MPLS-EGRESS-ETH (you can change name also)

class class-default

shape average (total bandwidth assigned for the traffic)

service policy MPLS-EGRESS

you can use the bandwidth percent 100 instead of shape average command also.

Apply the policy MPLS-EGRESS-ETH to the subinterface using the command service-policy output MPLS-EGRESS-ETH

n.nandrekar Thu, 07/03/2008 - 23:58


"Bandwidth" command in the parent policy instead of shaping command is not supported on all platforms. 6500/7600 do support it but am not sure since what release. So that might not apply in all cases.




This Discussion