12-29-2014 07:44 AM
Hello
I need some help tounderstand how QoS works in ASR9K and the capabilities it offers.
Typically We terminate multiple metro ethernet clients at Gigabit interfaces (each client having a dedicated subinterface of his own)
We need to apply for each subinterface shaping + bandwidth reservation according to the client needs.
One way is have a policy applied to the GigE interface with multiple classes that match individual vlan-ids for each subinterface. But I am
afraid that this approach will soon lead to very big policies that are difficult to maintain.
Is is possible to create individual policies - one for each client, that :
- will be applied to the corresponding subinterfaces
- In case of congestion in the major interface will ensure that the bandwidth is allocated according to the rates defined in each policy
For example if we have three clients / subinterfaces:
interface Bundle-Ether30002.100
service-policy output CLIENT_100
ipv4 address 10.0.100.1 255.255.255.252
encapsulation dot1q 100
!
interface Bundle-Ether30002.101
service-policy output CLIENT_101
ipv4 address 10.0.101.1 255.255.255.252
encapsulation dot1q 101
!
interface Bundle-Ether30002.102
service-policy output CLIENT_102
ipv4 address 10.0.102.1 255.255.255.252
encapsulation dot1q 102
!
!
!
policy-map CLIENT_100
class CLIENT_100
shape average 500 mbps
bandwidth remaining ratio 50
!
end-policy-map
!
policy-map CLIENT_101
class class-default
shape average 500 mbps
bandwidth remaining ratio 30
!
end-policy-map
!
policy-map CLIENT_102
class class-default
shape average 500 mbps
bandwidth remaining ratio 20
!
end-policy-map
!
I would like to make sure that during congestion in the major interface, the remaining bw is allocated to each subinterface
according to CLIENT 100 = 50%, CLIENT 101 = 30%, CLIENT 102 = 20% using policies that are applied on the subinterfaces.
- Is there any way to achieve this or the only solution is use a hierarchical policy in the major interface?
(The config above does not work as intented the traffic will be equally allocated among the three subinterfaces)
I have seen in the documentation refering to service-fragments but have not been able to test them. Can they help me in this
setup?
Thank you
Solved! Go to Solution.
01-31-2018 11:56 PM
hi Sumanta,
yes, that's when the system will report an error.
/Aleksandar
02-01-2018 10:54 PM
Hi Alexander
Thanks. Can you assist with the final CLI? I am getting this error.
interface TenGigE0/0/0/15.2338
service-policy output to_egress
!!% 'qos-lib' detected the 'warning' condition 'MQC: Shape bandwidth rate is less than mininum bandwidth'
!
end
policy-map to_egress
description ***Outbound policy map for uplink***
class class1
shape average 50 mbps
bandwidth percent 5
!
class class2
shape average 100 mbps
bandwidth percent 10
!
class class3
shape average 100 mbps
bandwidth percent 10
!
class class4
bandwidth remaining percent 30
!
class class5
bandwidth remaining percent 30
!
class class6
bandwidth remaining percent 30
!
class class-default
bandwidth remaining percent 10
!
end-policy-map
!
Regards,
Sumanta.
02-05-2018 10:57 AM
'MQC: Shape bandwidth rate is less than mininum bandwidth'
shape average 50 mbps
bandwidth percent 5 ---> this is 5% of TenGigE interface bandwidth, i.e. 500Mbps
So you want to guarantee 500Mbps to this class, but at the same you are limiting the rate to 50Mbps. This is contradictory.
02-06-2018 02:58 AM
02-06-2018 06:27 AM
You need to configure explicitly the parent shaper/policer rate if you want to cap the max traffic rate on a (sub)interface and have that value be the visible bandwidth at child level.
02-06-2018 08:55 AM
Hi Alex
Thanks. Do you have any example of this I can follow?
Sumanta.
02-08-2018 09:30 AM
by all means. Here's an example of a hierarchical policy that you can use on asr9k:
policy-map parent class class-default service-policy child shape average 100 mbps bandwidth remaining ratio 30 bandwidth 50 mbps ! end-policy-map ! policy-map child class Voice priority level 1 police rate percent 5 ! class V4-PACKET-IS-AF23 bandwidth percent 30 ! class V4-PACKET-IS-AF31 bandwidth percent 20 ! class V4-PACKET-IS-AF41 bandwidth percent 40 ! class class-default ! end-policy-map !
BW and BRR at parent level are relevant if you have multiple sub-interfaces on the same physical interface and want to influence the BW allocation between them.
02-13-2018 11:29 PM
Hi Alex
Please see below. I think apart from class-1, all others are matching. We apply the parent policy to the TenGigE interface on ASR. Let me know what do you think of this, please. The interface runs labelled e-BGP with inter-AS option B.
class-map match-any class1
match dscp 54 51
match mpls experimental topmost 7
end-class-map
!
class-map match-any class2
match dscp 48 40 32
match mpls experimental topmost 6
end-class-map
!
class-map match-any class3
match dscp 46 34 36 38
match mpls experimental topmost 5
end-class-map
!
class-map match-any class4
match dscp 26 28 16 8
match mpls experimental topmost 4
end-class-map
!
class-map match-any class5
match dscp 18 20 22
match mpls experimental topmost 3
end-class-map
!
class-map match-any class6
match dscp 10 12 14
match mpls experimental topmost 2
end-class-map
!
policy-map to_peer_egress
description ***Outbound policy map for peer uplink***
class class1
bandwidth percent 5
!
class class2
bandwidth percent 20
!
class class3
bandwidth percent 20
!
class class4
bandwidth percent 10
!
class class5
bandwidth percent 10
!
class class6
bandwidth percent 10
!
class class-default
bandwidth percent 5
!
end-policy-map
!
policy-map to_egress_parent
description ***Outbound parent policy map for peer uplink***
class class-default
service-policy to_egress
shape average 1 gbps
bandwidth 1 gbps
!
end-policy-map
Regards,
Sumanta.
02-14-2018 10:53 AM
Hi Sumanta,
sorry, I didn't quite understand what you wanted me to check. Can you clarify?
/Aleks
07-20-2015 05:45 PM
Hi Victor
So what does your final configuration look like? I am having the same issue, although I am not using bandwidth reservation.
Regards
Rohan
02-15-2018 10:00 AM
Hi Alex
Thanks. I just wanted to verify that the config looks ok to you or we need to change it.
Cheers,
Sumanta.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide