CBWFQ not supported on Sub-Interfaces

If you are playing around with CBWFQ you might have discovered that it’s impossible to attach a policy-map to a sub-interface directly. There is a good reason for this and I’d like to show you why this occurs and how to fix it. This is the topology I will use to demonstrate this:

R1 R2 Frame Relay

Just two routers connected to teach other using frame-relay. We will try to configure CBWFQ on the Serial 0/0.1 sub-interface of R1.


First i’ll create a simple CBWFQ configuration:

R1(config)#class-map TELNET
R1(config-cmap)#match protocol telnet

R1(config)#class-map HTTP
R1(config-cmap)#match protocol http 

R1(config)#policy-map CBWFQ
R1(config-pmap)#class TELNET
R1(config-pmap-c)#bandwidth percent 10
R1(config-pmap)#class HTTP
R1(config-pmap-c)#bandwidth percent 20

Nothing special here…just a simple CBWFQ configuration that gives 10% of the bandwidth to telnet and 20% to HTTP traffic. Let’s try to apply it to the sub-interface:

R1(config)#interface serial 0/0.1
R1(config-subif)#service-policy output CBWFQ
CBWFQ : Not supported on subinterfaces

Too bad, it’s not gonna happen…IOS has a day off. There is a workaround however…we can’t apply it directly, but if we use a hierarchical policy-map it will work. Let me show you what I mean:

R1(config)#policy-map PARENT
R1(config-pmap)#class class-default
R1(config-pmap-c)#service-policy CBWFQ

I’ll create a policy-map called PARENT that has our service-policy attached to the class-default class. Now let’s try to attach this to the sub-interface:

R1(config)#interface serial 0/0.1
R1(config-subif)#service-policy output PARENT
CBWFQ : Hierarchy supported only if shaping is configured in this class

IOS is still complaining, it only allows a hierarchical policy-map when shaping is configured. Let’s give it what it wants:

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now! Here is why:

  • Learn any CCNA, CCNP and CCIE R&S Topic. Explained As Simple As Possible.
  • Try for Just $1. The Best Dollar You’ve Ever Spent on Your Cisco Career!
  • Full Access to our 735 Lessons. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)

512 Sign Ups in the last 30 days

100% Satisfaction Guaranteed!
You may cancel your monthly membership at any time.
No Questions Asked!


Forum Replies

  1. Hi Rene,

    I’ve been following your tutorials for quite a while now and they have helped my a lot. Thanks for them.

    Two things I want to ask:

    1. Using Class-map, is it possible to block something like Facebook. I am able to block http://www.facebook.com but https is a headache. Can’t seem to block only one https site. I don’t want to block all https category.

    2. Do you have tutorials on different Switching stuffs like STP, RSTP, MST, VLAN etc?

    Please share if ya have. Will be grateful.


  2. Hello Ayyappan

    QoS mechanisms will only engage when there is congestion. They play absolutely no role when there is no congestion on a particular interface. QoS will look at DSCP values and compare them between packets that are waiting in line (in the queue) to see which to send first based on the QoS configuration. There is a comparison involved and then a decision as to which will be sent first. If a packet arrives at an interface and the interface’s queues are empty, there is no comparison, there is no question as to which packet will be sent, it is the

    ... Continue reading in our forum

  3. Hi Laz,

    That’s clarified it!

    Many thanks!

12 more replies! Ask a question or join the discussion by visiting our Community Forum