Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

QoS quesiton !!!

I am trying to understand the below configuration and your help will be much appreciated

class-map match-any COSQ_VOIPI_NMC

match access-group 180

match access-group 178

class-map match-any COSP_VOIPV_NMC_NM

match access-group 180

class-map match-any COSP_VOIPV_NMC_RP

match access-group 178

policy-map PI_NMC


police 8000 8000 8000 conform-action set-dscp-transmit 18 exceed-action set-dscp-transmit 18


police 8000 8000 8000 conform-action set-dscp-transmit 48 exceed-action set-dscp-transmit 48

policy-map QI_ARNO_F928K_00001


bandwidth remaining percent 2

random-detect dscp-based

random-detect exponential-weighting-constant 1

random-detect dscp 18 100 200 10

random-detect dscp 48 200 300 10

service-policy PI_NMC

interface Serial0/0/0:0.100 point-to-point

description PVC to RPM <MLBRAUD1P03-0052> VPI/VCI 0/<1901>

bandwidth 528

ip address

ip access-group CISCO-SECURITY in

no cdp enable

frame-relay class MapClass_0

frame-relay interface-dlci 100

map-class frame-relay MapClass_0

frame-relay cir 928000

frame-relay bc 9280

frame-relay mincir 528000

frame-relay adaptive-shaping becn

service-policy output QI_ARNO_F928K_00001

My question is .. I was under the impresion that service-policy needs to be binded to an interface but why is the command 'service-policy PI_NMC' command being configured under the class COSQ_VOIPI_NMC ? what is it doing ?

Your help is much appreciated !!!


Re: QoS quesiton !!!

This is an example of hierarchical QoS, or hQoS for short.

You have a class that applies main or "parent" rule, in you case it's 2% of the remaining bandwidth. But you also want to apply more granular parameter for the traffic inside that class (inside class COSQ_VOIPI_NMC). So what you do is create a secondary, or "shild" policy-map and apply it to the class. This way, everything that falls into COSQ_VOIPI_NMC class will receive 2% reservation from remaining bandwidth, and from that traffic what falls in COSP_VOIPV_NMC_NM class will be policed to 8k, same goes for COSP_VOIPV_NMC_RP class.

Hall of Fame Super Blue

Re: QoS quesiton !!!


It is because you have a hierarchical QOS Policy configured.

Basically "policy-map QI_ARNO_F928K_00001" is bound to interface and this policy map applies to both sets of traffic ie. the policy map references class COSQ_VOIPI_NMC which matches on both acl's. So this policy map determines how much bandwidth etc. is allocated to the class, in this case 2% of remaining bandwidth.

But within that class you want to be more specific and treat each type of traffic slightly differently ie. if traffic is exceeded on the policer for class COSP_VOIPV_NMC_NM then the DSCP value should be set to 18. If traffic for the class COSP_VOIPV_NMC_RP is exceeded then set it to DSCP 48.

To do this type of QOS you have the overall policy map ie. QI_ARNO_F928K_00001 reference a service policy with then calls another policy map.

Hope this makes sense.


Re: QoS quesiton !!!

Thanks to all of you guys,

Your explanations made things heaps clearer now.

As always .. I appreciate your help !!!

Super Bronze

Re: QoS quesiton !!!

". . . I was under the impresion that service-policy needs to be binded to an interface . . ."

No, often CBWFQ supports child policies. This is also known as hierarchical queuing.

"what is it doing ? "

It's marking traffic based on two different ACLs with two different DSCP markings. Although policers are being used, since the same marking is being used regardless of actual bandwidth usage of the traffic being matched, just setting the DSCP markings would provide the same functional results. The policers, however, might be used to provide additional stats for bandwidth usage of the two matched traffic classes.


Several things that are odd are: not using LLQ for VoIP traffic, using WRED against VoIP, using a minimum WRED exponential-weighting-constant, and allowing VoIP to queue so deeply (although overall queue depth not configured?).

CreatePlease to create content