Packet Classification Based on Layer 3 Packet Length

Last Updated: December 8, 2011

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 feature information and caveats, see 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 document.

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

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 Action Purpose
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.   Do one of the following:

  • service-policy {input| output}policy-map-name

6.   Do one of the following:

  • end


DETAILED STEPS
  Command or Action Purpose
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
interface type number


Example:



Example:

Router(config)# interface serial4/0/0

 

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

  • Enter the interface type and number.
 
Step 4
pvc [name] vpi/vci [ilmi | qsaal | smds]


Example:

Router(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 and proceed with Step 5 .
 
Step 5
Do one of the following:
  • service-policy {input| output}policy-map-name


Example:

Router(config-if)# service-policy input policy1



Example:



Example:

Router(config-if-atm-vc)# service-policy input policy1



Example:

 

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 routers. They can also be attached in the input or output direction of an interface. The direction (input or output) and the router (ingress or egress) to which the policy map should be attached varies according your network configuration. When using the service-policy command to attach the policy map to an interface, be sure to choose the router and the interface direction that are appropriate for your network configuration.
  • Enter the policy map name.
 
Step 6
Do one of the following:
  • end


Example:

Router(config-if)# end



Example:



Example:

Router(config-if-atm-vc)# end

 

(Optional) Exits interface 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 Action Purpose
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), performs 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

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.

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

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.

© 2011 Cisco Systems, Inc. All rights reserved.