cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
10208
Views
15
Helpful
25
Replies

ASR9000 QoS on Subinterfaces. Use individual Policies

victor.lyapunov
Level 1
Level 1

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

25 Replies 25

hi Sumanta,

 

yes, that's when the system will report an error.

 

/Aleksandar

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.

 '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.

Hi Alex

 

Thanks. I had given bandwidth cmd set to 1000 Mbps on TenGigE port. Is it not enough to influence the QoS shaping? Do we need parent-child hierarchy?

 

 

Regards,

Sumanta.

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.

Hi Alex

 

Thanks. Do you have any example of this I can follow?

 

 

Sumanta.

 

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.

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.

Hi Sumanta,

 

sorry, I didn't quite understand what you wanted me to check. Can you clarify?

 

/Aleks

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

Hi Alex

 

Thanks. I just wanted to verify that the config looks ok to you or we need to change it.

 

 

Cheers,

Sumanta.