# Example: Percentage-Based Hierarchical Rate-Limit Profile for External Parent Group

The following example creates rate-limit profiles with rate based on percentage and burst in milliseconds. You can create a policy using these rate-limit profiles and attach them to different interfaces using different parameter values.

1. Create a policy parameter refRlpRate.
   host1(config)#policy-parameter refRlpRate reference-rate host1(config-policy-parameter)#reference-rate 100000 host1(config-policy-parameter)#exit
2. Create a hierarchical rate-limit profile rlpData.
   host1(config)#rate-limit-profile rlpData hierarchical host1(config-rate-limit-profile)#committed-rate refRlpRate percentage 10 host1(config-rate-limit-profile)#peak-rate refRlpRate percentage 100 host1(config-rate-limit-profile)#exit
3. Associate this hierarchical rate-limit profile with the external parent group.
   host1(config)#parent-group epg1 host1(config-parent-group)#rate-limit-profile rlpData host1(config-parent-group)#exit
4. Create a hierarchical policy parameter.
   host1(config)#policy-parameter A hierarchical host1(config-policy-parameter)#aggregation-node forwarding host1(config-policy-parameter)#exit
5. Create a policy that references the external parent group.
   host1(config)#ip policy-list P host1(config-policy)#classifier-group data external parent-group epg1 parameter A host1(config-policy-classifier-group)#forward host1(config-policy-classifier-group)#exit host1(config-policy)#exit
6. Attach an IP policy P at interface atm5/0.1 by specifying a different reference-rate value.
   host1(config)#interface atm 5/0.1 host1(config-if)#ip policy-parameter reference-rate refRlpRate 5000000 host1(config-if)#ip policy input P stats enabled
7. Attach an IP policy P at interface atm5/0.2 to use the default value.
   host1(config)#interface atm 5/0.2 host1(config-if)#ip policy input P stats enabled
8. Display the policy list.

       host1#show policy-list

       Policy Table
       ------ -----
       IP Policy P
          Administrative state: enable
          Reference count:      2
          Classifier control list: cl1, precedence 100, external parent-group epg1 parameter A
             forward

          Referenced by interface(s):
             ATM5/0.1 input policy, statistics disabled, virtual-router default
             ATM5/0.2 input policy, statistics enabled, virtual-router default

          Referenced by profile(s):
             None

          Referenced by merge policies:
             None

9. Display the interface configuration to verify the reference rate (committed rate and peak rate) being different for both interface attachments (only the policy-related section of the output is shown).

       host1#show ip interface atm 5/0.1

         IP policy input P
           classifier-group data entry 1, external parent-group epg1 aggregate-node forwarding
             0 packets, 0 bytes
             forward
           external parent-group epg1 aggregate-node forwarding
             rate-limit-profile rlpData
               committed rate: 500000 bps, committed burst: 8192 bytes (default)
               peak rate: 5000000 bps, peak burst: 62500 bytes (default)
               committed: 0 packets, 0 bytes, action: transmit conditional
               conformed: 0 packets, 0 bytes, action: transmit conditional
               exceeded:  0 packets, 0 bytes, action: drop
               unconditional: 0 packets, 0 bytes
               saturated: 0 packets, 0 bytes

       host1#show ip interface atm 5/0.2

         IP policy input P
           classifier-group data entry 1, external parent-group epg1 aggregate-node forwarding
             0 packets, 0 bytes
             forward
           external parent-group epg1 aggregate-node forwarding
             rate-limit-profile rlpData
               committed rate: 10000 bps, committed burst: 8192 bytes (default)
               peak rate: 100000 bps, peak burst: 8192 bytes (default)
               committed: 0 packets, 0 bytes, action: transmit conditional
               conformed: 0 packets, 0 bytes, action: transmit conditional
               exceeded:  0 packets, 0 bytes, action: drop
               unconditional: 0 packets, 0 bytes
               saturated: 0 packets, 0 bytes