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.

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-mapcisco command 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 {max maximum-length-value [min minimum-length-value ] | min minimum-length-value [max maximum-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 {max maximum-length-value [min minimum-length-value ] | min minimum-length-value [max maximum-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 Action Purpose
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 ] [dlci dlci ] [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 ] [dlci dlci ] [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-map command 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-map command 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 .