Can some one please help me understand the below QOS setting on our MPLS router the service policy.. Policy map and class map
I know the basic understanding behind how these work .. I need to in detail, how in this particular scenario ,,traffic rate that is being allowed , policed or dropped .
I am kind of confused ..
class-map match-any ENHANCED
match any
class-map match-any MGMT
match access-group name CLASSIFY-MGMT
match access-group name CLASSIFY-BGP
class-map match-any ENHANCED-PLUS
match access-group name CLASSIFY-ENHANCED-PLUS
match ip dscp ef
match ip precedence 5
!
!
policy-map QOS-SCHEDULER-GI0/0
class ENHANCED-PLUS
priority 10000
police 10000000 conform-action transmit exceed-action transmit
set ip dscp ef
class ENHANCED
policy-map QOS-SHAPER-GI0/0
class class-default
shape average 50000000
service-policy QOS-SCHEDULER-GI0/0
interface GigabitEthernet0/0
description MPLS WAN Link
bandwidth 50000
ip address 192.168.0.30 255.255.255.252
duplex full
speed 100
no cdp enable
no mop enabled
max-reserved-bandwidth 100
service-policy output QOS-SHAPER-GI0/0
please help .
The port capacity is 100 Mb.
need help undersanding how these commands work in respect to each other ..
priority 10000
police 10000000 conform-action transmit exceed-action transmit
shape average 50000000
on policy map
bandwidth 50000
on interface
Best Answer
When decoding QOS policies I like to reverse engineer it. Start with the last command that was configured in regards to the QOS. This is usually the service-policy statement on the interface.
The points to a shaping parent policy with nested LLQ scheduler (QOS-SCHEDULER-GI0/0) child policy. The shaper is configured for 50Mbps. And the LLQ has one priority traffic classes with a policer.
The bandwidth statement on the interface is referenced when bandwidth statements exist in the parent policy. For example if you had configured two classes (one being class default) the bandwidth statements for those classes can't exceed the max_reserve x bandwidth statement on the interface. In your case the max res is 100% for a result of 50Mbps. In your actual configuration you have a shaper in the parent policy and it effectively ignores the bandwidth statement. However the bandwidth statements in the child policy, if any were present, are now bound to the bandwidth of the shaper. Hopefully your able to follow this.
http://www.cisco.com/c/en/us/support/docs/quality-of-service-qos/qos-packet-marking/10100-priorityvsbw.html
With regard to the priority queue in the LLQ scheduler you have something called conditional policing and unconditional policing. During periods of congestion the priority bandwidth command polices the traffic to the configured CIR. During periods of non-congestion the priority queue is able to exceed the CIR. The is call conditional policing. The police command provides an unconditional policer and polices any excess traffic during periods of congestion and non-congestion. Typically you would choose one or the other.
http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/qos_conmgt/configuration/xe-3s/qos-conmgt-xe-3s-book/qos-conmgt-multilevel-pq.html
With both configured the unconditional takes precedence. I had to test to confirm. And with your configuration they both are configured at the same rate. Priority is configured in kbps and policers/shapers are configured in bps.
I don't understand why you are configuring the exceed action to transmit and remark to ef. I think this defeats the purpose of the LLQ.