Implementing Selective Packet Discard in IPv6

Last Updated: December 1, 2011

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 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.

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 queue size is less than the maximum.
  • Full drop: The queue size is greater than or equal to the maximum.

In the normal state, the router never drops well-formed and malformed packets. In the full drop state, the router drops all well-formed and malformed packets.

SPD Mode

Users can enable an IPv6 SPD mode when the router reaches a certain SPD state. SPD aggressive drop mode drops deformed packets when IPv6 SPD is in random drop state. The OSPF mode allows OSPF packets to be handled with SPD priority.

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 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).

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 were treated as normal priority as a result of being Layer 2 instead of Layer 3. In addition, Interior Gateway Protocols (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. So, during BGP convergence or during times of very high BGP activity, IGP hellos and keepalives often were dropped, causing IGP adjacencies to fail.

Because IGP 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).

How to Implement Selective Packet Discard in IPv6

Configuring the SPD Process Input Queue

The SPD in IPv6 feature is enabled by default. Perform this task to configure the maximum and minimum number of packets in the IPv6 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 100

 

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 min-threshold 4094

 

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

Note    The minimum threshold value must be lower than the maximum threshold setting.
 
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 an SPD Mode

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ipv6 spd mode {aggressive | tos protocol 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 | tos protocol ospf}


Example:

Router(config)# ipv6 spf 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 Implementing Selective Packet Discard in IPv6

Example Configuring the SPD Process Input Queue

The following example shows the SPD process input queue configuration. The maximum process input queue threshold is 1, and the SPD state is normal. The headroom and extended headroom values are set to the default.

Router# ipv6 spd queue max-threshold 1
Router# show ipv6 spd
 
Current mode: normal 
Queue max threshold: 1, 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 IPv6 Configuration Guide

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

http://www.cisco.com/en/US/docs/ios/ipv6/command/reference/ipv6_book.html Cisco IOS IPv6 Command Reference

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

RFC 4594

Configuration Guidelines for DiffServ Service Classes

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 - Full Selective Packet Discard support

15.1(3)T

Users can now configure an IPv6 SPD mode when the router reaches a certain SPD state.

The following sections provide information about this feature:

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

IPv6 Selective Packet Discard

12.2(33)SRC 12.2(33)SXH 15.0(1)S

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 sections provide information about this feature:

The following commands were introduced or modified: ipv6 spd queue max-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.

© 2011 Cisco Systems, Inc. All rights reserved.