cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
6886
Views
0
Helpful
16
Replies

QOS Service Policy Bandwidth percent values not as expected.

       We have a number of sites using telstra IPWAN MPLS network. Most traffic comes out of our head office feeding into a 40Mbps Ethernet service.   The service policy is attached to the Ethernet interface

Policy-map QOS_OUT_NEW

class ROUTING

  bandwidth 1200

class SITE_DR

  shape average 15000000 150000 0

   service-policy QOS_OUT_9MB

class SITE_1

  shape average 4000000 40000 0

   service-policy QOS_OUT_4MB

class SITE_2

  shape average 4000000 40000 0

   service-policy QOS_OUT_4MB

class SITE_2

  shape average 4000000 40000 0

   service-policy QOS_OUT_4MB

----etc--etc---

for a total of 24 sites  of these 12 are 4Mbps and above, 5 are 2Mbps,1 at 1Mbps,2 at 512kbps,2 at 384kbps and 2 at 192kbps

the QOS_OUT_4MB below the others for different speedshave the  same proportions

policy-map QOS_OUT_4MB

class RT-VOICE

  priority percent 20

class RT-VIDEO

  bandwidth percent 25

class CONTROL

  bandwidth percent 3

class CRITICAL

  bandwidth percent 18

  random-detect dscp-based

class IMPORTANT

  bandwidth percent 16

  random-detect dscp-based

class TRANSACTIONAL

  bandwidth percent 14

  random-detect dscp-based

class class-default

  shape average 4000000 40000 0

  queue-limit 256 packets

  random-detect dscp-based

  random-detect dscp 0 64 256

now when I do a "sh policy-map interface"

I see for all the 4MB and 2MB policies below

for Voice

Class-map: RT-VOICE (match-any)

          314515 packets, 21680630 bytes

          5 minute offered rate 0000 bps, drop rate 0000 bps

          Match: ip dscp ef (46)

            314515 packets, 21680630 bytes

            5 minute rate 0 bps

        Priority: 20% (298 kbps), burst bytes 7450, b/w exceed drops: 0

298kbps is not 20% of 4 Mbps..I would expect 800kbps !!

also of interest the 1Mbps,512,384,and 192kbps policies  showed the correct percentage!!

Can anyone help with this?

16 Replies 16

Vishesh Verma
Level 1
Level 1

Hi Ambika,

I used simple math formula X% = (Y/Z)*100

Class-map: CRITICAL (match-any)

bandwidth 18% (268 kbps)


Here, X = 18%, Y=268, We needed Z. You can use any of the class in this policy and you would get the same result.

Following is a case which I worked on and below is an explanation of the HQF's functionality, hope it helps you understand the concept.

Customer's Problem Description -

HQF_CHILD in Class-2 always calculate Gold = 12.5 mbps and Silver = 5 mbps

Actual Problem –

HQF (Hierarchical QoS Framework ) takes visible BW instead of max_rate configured by parent shaper as allocated_bw.

Reason –

Each layer in the hierarchy gets its bandwidth based on 2 rates:

  • visible_bw: This is the BW ‘visible’ to this layer from its immediate higher layer.
  • max_rate: This defines the max BW cap for the layer and is usually the layer’s parent shaper rate if shaper is configured. If not, then it is equal to the visible_bw.

Since QoS defines BW ‘guarantees’, the lower of the 2 rates is available for any layer and this is represented as ‘allocated_bw’. All BW classes and LLQ derive their bandwidth from the ‘allocated_bw’.

!

policy-map HQF_CHILD

Class Gold

  priority percent 50%

Class Silver

  bandwidth percent 20%

!

policy-map HQF_Parent

!

class Class-1

  shape average 1048576

  queue-limit 1024 packets

   service-policy HQF_CHILD

!

class Class-2

  shape average 42000000

   service-policy HQF_CHILD

!

class Class-3

  shape average 2097152

  queue-limit 1024 packets

  service-policy HQF_CHILD

!

class class-default

!

!

interface FastEthernet0/0

service-policy out HQF_Parent

!

end

Explanation/Meaning of the above –

If we do not configure BW using bandwidth command on parent classes then HQF assigns equal BW to each of them. Here we have 4 classes, so each class will get 25% of (100Mbps on FaEth); this is visible_bw.

Now we have configured shaping in each class which is max_rate. HQF will take minimum of the visible_bw and max_rate as the reference for calculations for child classes.

class Class-1 (max_rate

visible_bw = 25000000

max_rate = 1048576

allocated_bw = 1048576

class Class-2 (max_rate>visible_bw)

visible_bw = 25000000

max_rate = 42000000

allocated_bw = 25000000

class Class-3 (max_rate

visible_bw = 25000000

max_rate = 2097152

allocated_bw = 2097152

class-default (no max_rate configured)

visible_bw = 25000000

allocated_bw = 25000000

Resolution –

If you want to allocate 42000000 bps to the class, use bandwidth 42000 in class Class-2 which will obviously set the visible_bw equal to max_rate and will allow HQF to use it as reference(allocated_bw).

Hoping, this helps you in understanding the underlying functionality of HQF on bandwidth allocation.

-Vishesh

Vishesh, Thanks for your brief Explanation on HQF.

Regards,

Ambi.M

Review Cisco Networking products for a $25 gift card