# Example: Aggregate Rate Limit for All Nonvoice Traffic Hierarchical Policy Configuration

In this example:

- There are four IP sessions and their corresponding interfaces are I1, I2, I3, and I4.
- Each interface corresponds to a dynamic user.
- All users can send a maximum of 1 Mbps video traffic each, but the total bandwidth for all video traffic combined is 1.5 Mbps for a specific VLAN.
- Similarly, all users can send a maximum of 5 Mbps data traffic, but the sum of all data traffic on an Ethernet port is 10 Mbps. Interfaces I1-I4 are interfaces where you can attach policies.

  Figure 12: Interface Stack for Aggregate Rate Limit

This example uses the following:

- At I1, I2, I3, I4:
  - Classified Video Flow. VIDEO_RATE, Committed Rate: 1 Mbps
  - Peak Rate: 0 Mbps
  - Committed Action: transmit conditional
  - Conformed Action: drop
  - Exceeded Action: drop
- At I1, I2, I3, I4:
  - Classified Data Flow. DATA_RATE, Committed Rate: 5 Mbps
  - Peak Rate: 0 Mbps
  - Committed Action: transmit conditional
  - Conformed Action: drop
  - Exceeded Action: drop
- All classified video flow policers over each VLAN interface feed into a single policer with the following configuration:
  - VIDEO_AGG, Committed Rate: 1.5 Mbps
  - Peak Rate: 0 Mbps
  - Committed Action: transmit final
  - Conformed Action: drop
  - Exceeded Action: drop
- All classified data flow policers over each Ethernet port feed into a single policer with the following configuration:
  - DATA_AGG, Committed Rate: 10 Mbps
  - Peak Rate: 0 Mbps
  - Committed Action: transmit final
  - Conformed Action: drop
  - Exceeded Action: drop
- Policy IP_POL1 is attached to I1, I2, I3, and I4

  Figure 13: Aggregate Rate Limit for Nonvoice Traffic Configuration

1. Create a rate limit that can be shared across all video streams. Create an external parent group to hold this rate limit.
   host1(config)#rate-limit-profile VIDEO_AGG two-rate hierarchical host1(config-rate-limit-profile)#committed-rate 1500000 host1(config-rate-limit-profile)#committed-action transmit final host1(config-rate-limit-profile)#exit
   host1(config)#parent-group EPG1 host1(config-parent-group)#rate-limit-profile VIDEO_AGG host1(config-parent-group)#exit
2. Create a policy list to attach to all IP sessions.
   host1(config)#rate-limit-profile VIDEO_RATE two-rate hierarchical host1(config-rate-limit-profile)#committed-rate 1000000 host1(config-rate-limit-profile)#committed-action transmit conditional host1(config-rate-limit-profile)#exit
   host1(config)#rate-limit-profile DATA_RATE two-rate hierarchical host1(config-rate-limit-profile)#committed-rate 5000000 host1(config-rate-limit-profile)#committed-action transmit conditional host1(config-rate-limit-profile)#exit
   host1(config)#policy-parameter A hierarchical host1(config-policy-parameter)#exit host1(config)#policy-parameter B hierarchical host1(config-policy-parameter)#exit
   host1(config)#ip policy-list IP_POL1 host1(config-policy-list)#classifier-group VIDEO_CLACL external parent-group EPG1 parameter A host1(config-policy-list-classifier-group)#rate-limit-profile VIDEO_RATE host1(config-policy-list-classifier-group)#exit host1(config-policy-list)#classifier-group * external parent-group EPG2
   parameter B host1(config-policy-list-classifier-group)#rate-limit-profile DATA_RATE host1(config-policy-list-classifier-group)#exit host1(config-policy-list)#exit
3. In all users' records in RADIUS, specify the ingress policy name IP_POL1. However, be sure to specify the policy parameter through the profile.
   host1(config)#profile PPPOE_PROF1 host1(config-profile)#ip policy-parameter hierarchical A vlan host1(config-profile)#ip policy-parameter hierarchical B ethernet host1(config-profile)#exit
   host1(config)#interface fastEthernet 3/0.1 host1(config-interface)#vlan id 1 host1(config-interface)#encapsulation pppoe host1(config-interface)#profile PPPOE_PROF1 host1(config-interface)#pppoe auto-configure host1(config-interface)#exit