Nested QoS

Unanswered Question
Oct 30th, 2008

Hi guys,

looking for a little confirmation on this one.

class-map match-all CUST1

match access-group 12

class-map match-all CUST2

match access-group 11

class-map match-all CUST3

match access-group 10

!

!

policy-map GUARANTEE

class CUST1

bandwidth 4000

class CUST2

bandwidth 4000

class CUST3

bandwidth 2000

policy-map MAX10MBPS_NESTED

class class-default

shape average 10000000

service-policy GUARANTEE

!

interface FastEthernet0/0

service-policy output MAX10MBPS_NESTED

I am applying this policy outbound on a WAN router. I want one custome to have 2Mb and the other two to have 4 Mb guarunteed. Then i wan to limit all to 10 Mbps Max. Is this policy correct.

Regards

Stephen

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.
Joseph W. Doherty Thu, 10/30/2008 - 05:02

Looks good, except . . .

Do note, you're shaping overall traffic at 10 Mbps and your 3 defined classes add up to 10 Mbps, but policy GUARANTEE has an implicit class-default. Any traffic in that class will also compete for your 10 Mbps so it's possible your other classes won't always get the bandwidth you intend. However, assuming only control traffic falls into the class-default, it shouldn't be anything to worry about. But if there were unknown CUST4 traffic, it might be.

stephen.stack Thu, 10/30/2008 - 05:21

Hi Joesph,

Thanks for response. This makes sense. In future there will be a CUST4 and then some. What do you think i shoul;d do here, if the first three need to have guaruntees and then be limited to 10 Mbps. While additional customers have access to the rest of the bandwidth.

Thanks Again

Stephen

Joseph W. Doherty Thu, 10/30/2008 - 06:09

Not enough information to suggest what you should do, since I don't know what you really want to accomplish.

However, if we suppose customers are buying some allocation of bandwidth, you can move them up a level in the main policy and define both a minimum bandwidth and max.

Assuming you're working off a 100 Mbps:

policy-map GUARANTEE

class CUST1

bandwidth 4000

shape average 4000000

class CUST2

bandwidth 4000

shape average 4000000

class CUST3

bandwidth 2000

shape average 2000000

!

interface FastEthernet0/0

service-policy output GUARANTEE

You could also expand the above, I believe, to use a child policy to allow the customer different levels of service within their bandwidth.

policy-map ServiceLevels

class real-time

priority percent 20

class gold

bandwidth remaining percent 50

class silver

bandwidth remaining percent 35

class class-default

bandwidth remaining percent 15

policy-map GUARANTEE

class CUST1

bandwidth 4000

shape average 4000000

service-policy ServiceLevels

class CUST2

bandwidth 4000

shape average 4000000

service-policy ServiceLevels

class CUST3

bandwidth 2000

shape average 2000000

service-policy ServiceLevels

!

interface FastEthernet0/0

service-policy output GUARANTEE

You'll need to fill in the blanks for what matches against the different classes.

Also note, there is a limit to how many classes you can define (older IOSs was 64 now 256?).

stephen.stack Wed, 11/05/2008 - 10:23

Hi Joesph,

Thanks for updtae, and i'm sorry it took so long to get back to you. (Been snowed under).

I have implemented you first solution, whoch seems to work a treat. This way we have a 100Mb link and we can guaruntee amounts of bandwidth while allowing customers to burst to specified limits.

Thanks

Stephen

Actions

This Discussion