Packet Classification Based on Layer 3 Packet Length

This feature provides the added capability of matching and classifying traffic on the basis of the Layer 3 packet length in the IP header. The Layer 3 packet length is the IP datagram length plus the IP header length. This new match criterion supplements the other match criteria, such as the IP precedence, the differentiated services code point (DSCP) value, and the class of service (CoS).

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

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.

Prerequisites for Packet Classification Based on Layer 3 Packet Length

When configuring this feature, you must first create a policy map (sometimes referred to as a service policy or a traffic policy) using the Modular QoS Command-Line Interface (CLI) (MQC). Therefore, you should be familiar with the procedure for creating a policy map using the MQC.

For more information about creating a policy map (traffic policy) using the MQC, see the "Applying QoS Features Using the MQC" module.

Restrictions for Packet Classification Based on Layer 3 Packet Length

  • This feature is intended for use with IP packets only.

  • This feature considers only the Layer 3 packet length in the IP header. It does not consider the Layer 2 overhead.

Information About Packet Classification Based on Layer 3 Packet Length

MQC and Packet Classification Based on Layer 3 Packet Length

Use the MQC to enable packet classification based on Layer 3 packet length. The MQC is a CLI that allows you to create traffic policies, enable a QoS feature (such as packet classification), and attach these policies to interfaces.

In the MQC, the class-map command is used to define a traffic class (which is then associated with a traffic policy). The purpose of a traffic class is to classify traffic.

The MQC consists of the following three processes:

  • Defining a traffic class with the class-map command.

  • Creating a traffic policy by associating the traffic class with one or more QoS features (using the policy-map command).

  • Attaching the traffic policy to the interface with theservice-policy command.

A traffic class contains three major elements: a name, a series of match commands, and, if more than one match command exists in the traffic class, an instruction on how to evaluate these match commands. The traffic class is named in the class-map command line; for example, if you enter theclass-mapciscocommand while configuring the traffic class in the CLI, the traffic class would be named "cisco".

Thematch commands are used to specify various criteria for classifying packets. Packets are checked to determine whether they match the criteria specified in the match commands. If a packet matches the specified criteria, that packet is considered a member of the class and is forwarded according to the QoS specifications set in the traffic policy. Packets that fail to meet any of the matching criteria are classified as members of the default traffic class.

How to Configure Packet Classification Based on Layer 3 Packet Length

Configuring the Class Map to Match on Layer 3 Packet Length

Class maps can be used to classify packets into groups that can then receive specific QoS features. For example, class maps can be configured to match packets on the basis of one or more user-specified criteria (for example, the DSCP value or access list number). In this procedure, the class map is configured to match on the Layer 3 packet length.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    class-map class-map-name

    4.    match packet length {maxmaximum-length-value [minminimum-length-value] | minminimum-length-value [maxmaximum-length-value]}

    5.    end


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Router> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2 configure terminal


    Example:
    Router# configure terminal
     

    Enters global configuration mode.

     
    Step 3 class-map class-map-name


    Example:
    Router(config)# class-map class1
     

    Specifies the name of the class map to be created and enters class-map configuration mode.

    • Enter the class map name.

     
    Step 4 match packet length {maxmaximum-length-value [minminimum-length-value] | minminimum-length-value [maxmaximum-length-value]}


    Example:
    Router(config-cmap)# match packet length min 100 max 300
     

    Configures the class map to match traffic on the basis of the Layer 3 packet length.

    • Enter the Layer 3 packet length in bytes.

     
    Step 5 end


    Example:
    Router(config-cmap)# end
     

    (Optional) Exits class-map configuration mode and returns to privileged EXEC mode.

     

    Attaching the Policy Map to an Interface

    Before You Begin

    Before attaching the policy map to an interface, the policy map must be created using the MQC.

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    interface type number

      4.    pvc [name] vpi/vci [ilmi | qsaal | smds]

      5.    service-policy {input| output} policy-map-name

      6.    end


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Device> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2 configure terminal


      Example:
      Device# configure terminal
       

      Enters global configuration mode.

       
      Step 3 interface type number


      Example:
      Device(config)# interface serial4/0/0 
       

      Configures an interface (or subinterface) type and enters interface configuration mode

       
      Step 4 pvc [name] vpi/vci [ilmi | qsaal | smds]


      Example:
      Device(config-if)# pvc cisco 0/16 ilmi
       

      (Optional) Creates or assigns a name to an ATM PVC, specifies the encapsulation type on an ATM PVC, and enters ATM VC configuration mode.

      Note   

      This step is required only if you are attaching the policy map to an ATM PVC. If you are not attaching the policy map to an ATM PVC, skip this step.

       
      Step 5 service-policy {input| output} policy-map-name

      Example:
      Device(config-if)# service-policy input policy1


      Example:
      Device(config-if-atm-vc)# service-policy input policy1
       

      Specifies the name of the policy map to be attached to either the input or output direction of the interface.

      Note   

      Policy maps can be configured on ingress or egress devices. They can also be attached in the input or output direction of an interface. The direction (input or output) and the device (ingress or egress) to which the policy map should be attached vary according your network configuration. When using the service-policy command to attach the policy map to an interface, be sure to choose the device and the interface direction that are appropriate for your network configuration.

       
      Step 6 end


      Example:
      Device(config-if)# end


      Example:
      Device(config-if-atm-vc)# end
       

      (Optional) Exits interface configuration or ATM VC configuration mode and returns to privileged EXEC mode.

       

      Verifying the Layer 3 Packet Length Classification Configuration

      SUMMARY STEPS

        1.    enable

        2.    show class-map [class-map-name]

        3.    show policy-map interface interface-name [vc [vpi/] vci] [dlcidlci] [input| output]

        4.    exit


      DETAILED STEPS
         Command or ActionPurpose
        Step 1 enable


        Example:
        Router> enable
         

        Enables privileged EXEC mode.

        • Enter your password if prompted.

         
        Step 2 show class-map [class-map-name]


        Example:
        Router# show class-map class1
         

        (Optional) Displays all information about a class map, including the match criterion.

        • Enter the class map name.

         
        Step 3 show policy-map interface interface-name [vc [vpi/] vci] [dlcidlci] [input| output]


        Example:
        Router# 
        show policy-map interface serial4/0/0
         

        (Optional) Displays the packet statistics of all classes that are configured for all service policies either on the specified interface or subinterface or on a specific PVC on the interface.

        • Enter the interface name.

         
        Step 4 exit


        Example:
        Router# exit
         

        (Optional) Exits privileged EXEC mode.

         

        Troubleshooting Tips

        The commands in the Verifying the Layer 3 Packet Length Classification Configuration section allow you to verify that you achieved the intended configuration and that the feature is functioning correctly. If, after using the show commands listed above, you find that the configuration is not correct or that the feature is not functioning as expected, perform these operations:

        If the configuration is not the one that you intended, perform the following operations:

        • Use the showrunning-config command and analyze the output of the command.

        • If the policy map does not appear in the output of the showrunning-config command, enable the loggingconsole command.

        • Attach the policy map to the interface again.

        If the packets are not being matched correctly (for example, the packet counters are not incrementing correctly), perform the following operations:

        • Run the showpolicy-mapcommand and analyze the output of the command.

        • Run the showrunning-config command and analyze the output of the command.

        • Use the showpolicy-mapinterface command and analyze the output of the command. Check the the following:
          • If a policy map applies queueing, and the packets are matching the correct class, but you see unexpected results, compare the number of packets in the queue with the number of packets matched.
          • If the interface is congested, and only a small number of packets are being matched, check the tuning of the tx ring and evaluate whether queueing is happening on the tx ring. To do this, use the showcontrollers command and look at the value of the tx count in the output.

        Configuration Examples for Packet Classification Based on Layer 3 Packet Length

        Example Configuring the Layer 3 Packet Length as a Match Criterion

        In the following example, a class map called "class 1" has been created, and the Layer 3 packet length has been specified as a match criterion. In this example, packets with a minimum Layer 3 packet length of 100 bytes and a maximum Layer 3 packet length of 300 bytes are viewed as meeting the match criterion. Packets matching this criterion are placed in class1.

        Router(config)# class map class1
        Router(config-cmap)# match packet length min 100 max 300
        

        Example Verifying the Layer 3 Packet Length Setting

        Use either the showclass-map command or the showpolicy-mapinterface command to verify the setting of the Layer 3 packet length value used as a match criterion for the class map and the policy map. The following section begins with sample output of the showclass-mapcommand and concludes with sample output of the showpolicy-mapinterface command.

        The sample output of the showclass-map command shows the defined class map and the specified match criterion. In the following example, a class map called "class1" is defined. The Layer 3 packet length has been specified as a match criterion for the class. Packets with a Layer 3 length of between 100 bytes and 300 bytes belong to class1.

        Router# show class-map 
        class-map match-all class1
            match packet length min 100 max 300
        

        The sample output of the showpolicy-mapinterface command displays the statistics for FastEthernet interface 4/1/1, to which a service policy called "mypolicy" is attached. The configuration for the policy map called "mypolicy" is given below.

        Router(config)# policy-map mypolicy
        Router(config-pmap)# class class1
        Router(config-pmap-c)# set qos-group 20
        Router(config-pmap-c)# exit
        Router(config-pmap)# exit
        Router(config)# interface fastethernet4/1/1
        Router(config-if)# service-policy input mypolicy
        

        The following are the statistics for the policy map called "mypolicy" attached to FastEthernet interface 4/1/1. These statistics confirm that matching on the Layer 3 packet length has been configured as a match criterion.

        Router# show policy-map interface
         FastEthernet4/1/1
         FastEthernet4/1/1 
          Service-policy input: mypolicy
            Class-map: class1 (match-all)
               500 packets, 125000 bytes
               5 minute offered rate 4000 bps, drop rate 0 bps
               Match: packet length min 100 max 300
               QoS Set
                 qos-group 20
                   Packets marked 500
        

        Additional References

        Related Documents

        Related Topic

        Document Title

        Cisco IOS commands

        Cisco IOS Master Commands List, All Releases

        QoS commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples

        Cisco IOS Quality of Service Solutions Command Reference

        MQC and information about attaching policy maps to interfaces

        "Applying QoS Features Using the MQC" module

        Additional match criteria that can be used for packet classification

        "Classifying Network Traffic" module

        Marking network traffic

        "Marking Network Traffic" module

        Standards

        Standard

        Title

        No new or modified standards are supported, and support for existing standards has not been modified.

        --

        MIBs

        MIB

        MIBs Link

        • CISCO-CLASS-BASED-QOS-CAPABILITY-MIB

        • CISCO-CLASS-BASED-QOS-MIB

        To locate and download MIBs for selected platforms, Cisco IOS XE Software releases, and feature sets, use Cisco MIB Locator found at the following URL:

        http:/​/​www.cisco.com/​go/​mibs

        RFCs

        RFC

        Title

        No new or modified RFCs are supported, and support for existing RFCs has not been modified.

        --

        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/​cisco/​web/​support/​index.html

        Feature Information for Packet Classification Based on Layer 3 Packet Length

        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 Packet Classification Based on Layer 3 Packet Length

        Feature Name

        Releases

        Feature Information

        Packet Classification Based on Layer 3 Packet Length

        12.2(13)T

        12.2(18)SXE

        Cisco IOS XE Release 2.2

        This feature provides the added capability of matching and classifying traffic on the basis of the Layer 3 packet length in the IP header.

        In Release 12.2(13)T, this feature was introduced.

        This feature was integrated into Cisco IOS Release 12.2(18)SXE.

        This feature was integrated into Cisco IOS XE Release 2.2.

        The following commands were introduced or modified: matchpacketlength (class-map), showclass-map, showpolicy-mapinterface.