Implementing Selective Packet Discard in IPv6

Last Updated: August 1, 2012

First Published: August 21, 2007

Last Updated: November 18, 2010

This document describes the Selective Packet Discard (SPD) feature in IPv6. The SPD feature in IPv6 manages the process level input queues on the Route Processor (RP). SPD provides priority to routing protocol packets and other important traffic control Layer 2 keepalives during periods of process level queue congestion.

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.

Information About Implementing Selective Packet Discard in IPv6

SPD in IPv6 Overview

The SPD mechanism manages the process level input queues on the RP. SPD provides priority to routing protocol packets and other important traffic control Layer 2 keepalives during periods of process level queue congestion.

SPD State Check

The SPD state check is performed on the IPv6 process input queue on the RP. High-priority packets, such as those of IP precedence 7, are not applied to SPD and are never dropped. All remaining packets, however, can be dropped depending on the length of the IPv6 packet input queue and the SPD state. The possible SPD states are as follows:

  • Normal: The process input queue is less than the SPD minimum threshold.
  • Random drop: The process input queue is between the SPD minimum and maximum thresholds.
  • Max: The process input queue is equal to the SPD maximum threshold.

The size of the process input queue governs the SPD state: normal (no drop), random drop, or max. When the process input queue is less than the SPD minimum threshold, SPD takes no action and enters normal state. In the normal state, no packets are dropped. When the input queue reaches the maximum threshold, SPD enters max state, in which normal priority packets are discarded. If the input queue is between the minimum and maximum thresholds, SPD enters the random drop state, in which normal packets may be dropped.

SPD Mode

Three IPv6 SPD modes are supported: none (which is the default), aggressive drop, and OSPF mode. The aggressive drop mode discards incorrectly formatted packets when the IPv6 is in the random drop state. OSPF mode provides a mechanism whereby OSPF packets are handled with SPD priority.

SPD Headroom

With SPD, the behavior of normal IPv6 packets is not changed. However, routing protocol packets are given higher priority, because SPD recognizes routing protocol packets by the IPv6 precedence field. Therefore, if the IPv6 precedence is set to 7, then the packet is given priority.

SPD prioritizes IPv6 packets with a precedence of 7 by allowing the Cisco IOS software to queue them into the process level input queue above the normal input queue limit. The number of packets allowed in excess of the normal limit is called the SPD headroom. The SPD headroom default is 100, which means that a high precedence packet is not dropped if the size of the input hold queue is lower than 175 (which is the input queue default size + SPD headroom size).

Because Interior Gateway Protocols (IGPs) and link stability are tenuous and crucial, such packets are given the highest priority and are given extended SPD headroom with a default of 10 packets. These packets are not dropped if the size of the input hold queue is lower than 185 (input queue default size + SPD headroom size + SPD extended headroom).

Non-IPv6 packets such as Connectionless Network Service Intermediate System-to-Intermediate System (CLNS IS-IS) packets, PPP packets, and High-Level Data Link Control (HDLC) keepalives are treated as normal priority as a result of being Layer 2 instead of Layer 3. In addition, IGPs operating at Layer 3 or higher are given priority over normal IPv6 packets, but are given the same priority as Border Gateway Protocol (BGP) packets. Therefore, during BGP convergence or during times of very high BGP activity, IGP hellos and keepalives often are dropped, causing IGP adjacencies to fail.

How to Implement Selective Packet Discard in IPv6

Configuring the SPD Process Input Queue

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ipv6 spd queue max-threshold value

4.    ipv6 spd queue min-threshold value

5.    exit

6.    show ipv6 spd


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
ipv6 spd queue max-threshold value


Example:

Router(config)# ipv6 spd queue max-threshold 60000

 

Configures the maximum number of packets in the SPD process input queue.

 
Step 4
ipv6 spd queue min-threshold value


Example:

Router(config)# ipv6 spd queue max-threshold 4094

 

Configures the minimum number of packets in the IPv6 SPD process input queue.

 
Step 5
exit

Example:

Router(config)# exit

 

Returns the router to privileged EXEC mode.

 
Step 6
show ipv6 spd


Example:

Router# show ipv6 spd

 

Displays IPv6 SPD configuration.

 

Configuring SPD Mode

No IPv6 SPD mode is configured by default. However, you may want to configure the router to use a specific mode when the router enters a specified IPv6 SPD state or to prioritize certain packets.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ipv6 spd mode {aggressive | ospf}


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
ipv6 spd mode {aggressive | ospf}


Example:

Router(config)# ipv6 spd mode aggressive

 

Configures an IPv6 SPD mode.

 

Configuring SPD Headroom

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    spd headroom size

4.    spd extended-headroom size

5.    exit

6.    show ipv6 spd


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
spd headroom size


Example:

Router(config)# spd headroom 200

 

Configures SPD headroom.

 
Step 4
spd extended-headroom size


Example:

Router(config)# spd extended-headroom 11

 

Configures extended SPD headroom.

 
Step 5
exit

Example:

Router(config)# exit

 

Returns the router to privileged EXEC mode.

 
Step 6
show ipv6 spd


Example:

Router# show ipv6 spd

 

Displays the IPv6 SPD configuration.

 

Configuration Examples for IPv6 Selective Packet Discard

Example: Configuring the SPD Process Input Queue

The following example shows the SPD process input queue configuration. The maximum process input queue threshold is 60,000, and the SPD state is normal. The headroom and extended headroom values are the default:

Router# ipv6 spd queue max-threshold 5000
Router# show ipv6 spd
 
Current mode: normal 
Queue max threshold: 60000, Headroom: 100, Extended Headroom: 10 
IPv6 packet queue: 0 

Additional References

Related Documents

Related Topic

Document Title

IPv6 supported feature list

" Start Here: Cisco IOS Software Release Specifics for IPv6 Features ," Cisco IOS XE IPv6 Configuration Guide

IPv6 commands: complete command syntax, command mode, defaults, usage guidelines, and examples

Cisco IOS IPv6 Command Reference

Cisco IOS master command list, all releases

Cisco IOS Master Command List, All Releases

Standards

Standard

Title

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

--

MIBs

MIB

MIBs Link

None

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

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

RFCs

RFC

Title

RFC 2474

Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers

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 Implementing Selective Packet Discard in IPv6

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 Implementing Selective Packet Discard in IPv6

Feature Name

Releases

Feature Information

IPv6 Selective Packet Discard

Cisco IOS XE Release 2.6

The SPD mechanism manages the process level input queues on the RP. SPD provides priority to routing protocol packets and other important traffic control Layer 2 keepalives during periods of process level queue congestion.

The following commands were introduced or modified: ipv6 spd mode, ipv6 spd queue max-threshold, ipv6 spd queue min-threshold, show ipv6 spd, spd extended-headroom, spd headroom.

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.

© 2012 Cisco Systems, Inc. All rights reserved.