Remote Per-Flow Admission

The Remote Per-Flow Admission (PFA) feature enables the nodes to check for the available bandwidth at the remote side interface and the local side interface before admitting a flow. This ensures the quality of admitted flows (calls).

Information About Remote PFA

Remote PFA

In most deployments, the N+1st flow affects the quality of all existing valid first N flows. The Per-Flow Admission feature enables nodes to automatically learn about flows and their bandwidth as they get accommodated into the local interface side. The network node accommodates only flows that the interface can handle, and it throttles or drops flows thereafter. Thus flows are admitted on the local interface side, on first-come first-served basis, without knowing if the flow can be admitted on the remote interface side. This may cause the forthcoming flows to be rejected on the remote interface side, although flows can be admitted on the local interface side.

The Remote-PFA feature enables the nodes to learn about the available bandwidth at the remote interface side as well as the local interface side before admitting a flow. If a flow can be accommodated on both the remote and local side interfaces, the node adjusts the bandwidth availability for the next flow on the remote as well as the local side interfaces.

Prerequisites for Remote PFA

  • Before you configure the Remote PFA feature, you must configure the Per-Flow Admission (local) feature.

Restrictions for Remote PFA

  • The Remote PFA feature is currently supported only with Dynamic Multipoint Virtual Private Network (DMVPN) tunnels.

  • The Remote PFA feature is currently supported only on global Virtual Routing and Forwarding (VRF) environment.

How to Configure Remote PFA

Configuring Sender (Output) Side Interface

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    policy-map policy-map-name

    4.    class {class-name | class-default}

    5.    Execute one of the following:

    • bandwidth {kilobits | percent percentage}
    • priority bandwidth-kbps

    6.    admit cac local

    7.    rate {kbps | percent percentage}

    8.    trigger remote signal

    9.    flow rate fixed flow-bit-rate

    10.    flow idle-timeout timeout-value

    11.    end


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Device> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2configure terminal


    Example:
    Device# configure terminal
     

    Enters global configuration mode.

     
    Step 3policy-map policy-map-name


    Example:
    Device(config)# policy-map child
     

    Creates a policy map using the specified name and enters policy-map configuration mode.

    • Enter the name of the policy map that you want to create.

    Note   

    On the sender (output) side, the policy-map is applied to the multiple Generic Routing Encapsulation (mGRE) tunnel group using nhrp map group command.

     
    Step 4class {class-name | class-default}


    Example:
    Device(config-pmap)# class admitted
     

    Specifies the name of the class whose policy you want to create and enters policy-map class configuration mode.

    • This class is associated with the class map created earlier.

     
    Step 5 Execute one of the following:
    • bandwidth {kilobits | percent percentage}
    • priority bandwidth-kbps


    Example:
    Device(config-pmap-c)# bandwidth 200


    Example:
    Device(config-pmap-c)# priority 48
     

    Specifies the bandwidth for a class of traffic belonging to the policy map.

    • Enter the bandwidth in kbps.

     
    Step 6admit cac local


    Example:
    Device(config-pmap-c)# admit cac local
     

    Enables per-flow admission for this class and enters per-flow admission configuration mode.

     
    Step 7rate {kbps | percent percentage}


    Example:
    Device(config-pmap-admit-cac)# rate percent 100
     

    (Optional) Configures the size of the bandwidth pool in kbps or as a percentage of output class bandwidth.

     
    Step 8trigger remote signal


    Example:
    Device(config-pmap-admit-cac)# trigger remote signal
     

    Triggers remote message to the peer once flows are seen in the configured class.

     
    Step 9flow rate fixed flow-bit-rate


    Example:
    Device(config-pmap-admit-cac)# flow rate fixed 100
     

    (Optional) Specifies how much bandwidth to allocate for each flow.

    Note   

    If you do not specify the flow rate, the rate is calculated dynamically per flow.

     
    Step 10flow idle-timeout timeout-value


    Example:
    Device(config-pmap-admit-cac)#flow idle-timeout 50 
     

    (Optional) Sets the timeout period for the flow in seconds.

    Note   

    The default idle-timeout is 10 sec.

     
    Step 11end


    Example:
    Device(config-pmap-admit-cac)# end
     

    Exits per-flow admission configuration mode and returns to privileged EXEC mode.

     

    Configuring Receiver (Input) Side Interface

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    policy-map policy-map-name

      4.    class {class-name | class-default}

      5.    admit cac local

      6.    rate {kbps | percent percentage}

      7.    flow rate remote

      8.    end


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Device> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2configure terminal


      Example:
      Device# configure terminal
       

      Enters global configuration mode.

       
      Step 3policy-map policy-map-name


      Example:
      Device(config)# policy-map child
       

      Creates a policy map using the specified name and enters policy-map configuration mode.

      • Enter the name of the policy map that you want to create.

      Note   

      On the receiver (input) side, the policy-map is attached to the tunnel aggregation point (physical interface).

       
      Step 4class {class-name | class-default}


      Example:
      Device(config-pmap)# class admitted
       

      Specifies the name of the class whose policy you want to create and enters policy-map class configuration mode.

      • This class is associated with the class map created earlier.

       
      Step 5admit cac local


      Example:
      Device(config-pmap-c)# admit cac local
       

      Enables per-flow admission for this class and enters per-flow admission configuration mode.

       
      Step 6rate {kbps | percent percentage}


      Example:
      Device(config-pmap-admit-cac)# rate 200
       

      Configures the size of the bandwidth pool in kbps.

      Note   

      Bandwidth pool on the remote side must be configured for every Differentiated Services Code Point (DSCP) class.

       
      Step 7 flow rate remote


      Example:
      Device(config-pmap-admit-cac)# flow rate remote
       

      Notifies the flow rate at the peer side to the local side.

       
      Step 8end


      Example:
      Device(config-pmap-admit-cac)# end
       

      Exits per-flow admission configuration mode and returns to privileged EXEC mode.

       

      Verifying Remote PFA

      SUMMARY STEPS

        1.    enable

        2.    show policy-map multipoint [tunnel tunnel-interface-number ]

        3.    show policy-map interface interface-type slot/subslot/port


      DETAILED STEPS
        Step 1   enable


        Example:
        Device> enable
        
        

        Enables the privileged EXEC mode.

        • Enter your password if prompted.
        Step 2   show policy-map multipoint [tunnel tunnel-interface-number ]


        Example:
        Device# show policy-map multipoint Tunnel1
        
        Interface Tunnel1 <--> 12.1.1.1 
        
          Service-policy output: parent
        
            Class-map: class-default (match-any)  
              7 packets, 1155 bytes
              30 second offered rate 0000 bps, drop rate 0000 bps
              Match: any 
              Queueing
              queue limit 1750 packets
              (queue depth/total drops/no-buffer drops) 0/0/0
              (pkts output/bytes output) 7/1610
              shape (average) cir 7000000, bc 175000, be 175000
              target shape rate 7000000
        
              Service-policy : test
        
                Class-map: cac (match-all)  
                  0 packets, 0 bytes
                  30 second offered rate 0000 bps, drop rate 0000 bps
                  Match:  dscp af41 (34)
                  Queueing
                  queue limit 50 packets
                  (queue depth/total drops/no-buffer drops) 0/0/0
                  (pkts output/bytes output) 0/0
                  bandwidth 200 kbps
                  cac local rate 200 kbps, reserved 0 kbps
                  remote signal: enabled
                  flow rate fixed 100 kbps
                  
        
                Class-map: class-default (match-any)  
                  7 packets, 1155 bytes
                  30 second offered rate 0000 bps, drop rate 0000 bps
                  Match: any 
                  
                  queue limit 1700 packets
                  (queue depth/total drops/no-buffer drops) 0/0/0
                  (pkts output/bytes output) 1/230
        
        

        Displays QoS policy details applied to multipoint tunnels, at the sender (output) side.

        Step 3   show policy-map interface interface-type slot/subslot/port


        Example:
        Device# show policy-map interface Ethernet0/0 
        
          Service-policy input: test
        
            Class-map: af4 (match-any)  
              0 packets, 0 bytes
              30 second offered rate 0000 bps, drop rate 0000 bps
              Match:  dscp af41 (34)
                0 packets, 0 bytes
                30 second rate 0 bps
              Match:  dscp af41 (34) af42 (36) af43 (38)
                0 packets, 0 bytes
                30 second rate 0 bps
              cac local rate 200 kbps, reserved 0 kbps
              flow rate remote
              
        
            Class-map: class-default (match-any)  
              4 packets, 356 bytes
              30 second offered rate 0000 bps, drop rate 0000 bps
              Match: any 
        
        

        Displays the statistics status and the configured policy maps on the Ethernet interface, at the receiver (input) side.


        Configuration Examples for Remote PFA

        Example: Configuring Sender (Output) Side Interface

        The following example shows how to configure the sender (output) side interface.

        policy-map child 
         class admitted
           bandwidth 200
           admit cac local
        				  rate percent 100
              trigger remote signal
              flow rate fixed 100
              flow idle-timeout 5 
        

        Example: Configuring Receiver (Input) Side Interface

        The following example shows how to configure a receiver (input) side interface.

        policy-map child
         class admitted
         		admit cac local
        				 rate 200
               flow rate remote
        

        Troubleshooting Remote PFA

        SUMMARY STEPS

          1.    Execute one of the following debug commands:

          • debug qos cac local flow
          • debug qos cac remote flow


        DETAILED STEPS
        Execute one of the following debug commands:
        • debug qos cac local flow
        • debug qos cac remote flow


        Example:
        Device# debug qos cac remote flow
        
        QoS CAC flow display debugging is on
        Device#
        Device#show policy-map multipoint 
         
        Interface Tunnel1 <--> 12.1.1.1 
        
          Service-policy output: parent
        
            Class-map: class-default (match-any)  
              402255 packets, 31514364 bytes
              30 second offered rate 61000 bps, drop rate 0000 bps
              Match: any 
              Queueing
              queue limit 1750 packets
              (queue depth/total drops/no-buffer drops) 0/0/0
              (pkts output/bytes output) 402255/54048186
              shape (average) cir 7000000, bc 175000, be 175000
              target shape rate 7000000
        
              Service-policy : test
        
                Class-map: af4 (match-all)  
                  400051 packets, 31203978 bytes
                  30 second offered rate 61000 bps, drop rate 0000 bps
                  Match:  dscp af41 (34) af42 (36) af43 (38)
                  Queueing
                  queue limit 100 ms/ 2500 bytes
                  queue-limit dscp 34 150 ms/ 3750 bytes
                    (pkts output/bytes output) 155882/20888188
                    (pkt drops/byte drops) 0/0
                  (queue depth/total drops/no-buffer drops) 0/0/0
                  (pkts output/bytes output) 400051/53606834
                  bandwidth 200 kbps
                  
                  cac local rate 200 kbps, reserved 200 kbps
                  remote signal: enabled
                  flow rate fixed 100 kbps
                  
                  All flows:
                    100.1.1.1/150.1.1.1/17/1000/1000, 100/100 kbps (admitted/current)
                    100.1.1.1/150.1.1.1/17/2000/2000, 100/100 kbps (admitted/current)
                    100.1.1.1/150.1.1.1/17/3000/3000, 100/100 kbps (non-admitted/current)
                    Number of admitted flows: [2]
                    Number of non-admitted flows: [1]
                    Number of flows in RCAC learning: [0]
        
                Class-map: class-default (match-any)  
                  2204 packets, 310386 bytes
                  30 second offered rate 0000 bps, drop rate 0000 bps
                  Match: any 
                  
                  queue limit 1700 packets
                  (queue depth/total drops/no-buffer drops) 0/0/0
                  (pkts output/bytes output) 2204/441352
        
        

        Displays the flow level information on local or remote side interface.


        Additional References for Remote PFA

        Related Documents

        Related Topic

        Document Title

        Cisco IOS commands

        Cisco IOS Master Commands List, All Releases

        Per-Flow Admission

        Per-Flow Admission

        Technical Assistance

        Description

        Link

        The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

        http:/​/​www.cisco.com/​c/​en/​us/​support/​index.html

        Feature Information for Remote PFA

        The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

        Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.
        Table 1 Feature Information for Remote PFA

        Feature Name

        Releases

        Feature Information

        Remote PFA

        15.5(3)M

        The Remote Per-Flow Admission (PFA) feature enables the nodes to check for the available bandwidth at the remote side interface and the local side interface before admitting a flow. This ensures the quality of admitted flows (calls).

        The following commands were introduced or modified by this feature: trigger remote signal, flow rate remote, show policy-map interface