IPv6 Selective Packet Discard

The selective packet discard (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

Information About IPv6 Selective Packet Discard

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 6, 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 6, then the packet is given priority.

SPD prioritizes IPv6 packets with a precedence of 6 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 Configure IPv6 Selective Packet Discard

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 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 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 addressing and connectivity

IPv6 Configuration Guide

Cisco IOS commands

Master Commands List, All Releases

IPv6 commands

IPv6 Command Reference

Cisco IOS IPv6 features

IPv6 Feature Mapping

Standards and RFCs

Standard/RFC

Title

RFCs for IPv6

IPv6 RFCs

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

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 https://cfnng.cisco.com/. An account on Cisco.com is not required.
Table 1. Feature Information for IPv6 Selective Packet Discard

Feature Name

Releases

Feature Information

IPv6: Full Selective Packet Discard Support

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