BGP Soft Reset Enhancement

This feature module describes the Border Gateway Protocol (BGP) Soft Reset Enhancement feature. It includes information on the benefits of the new feature, supported platforms, related documents, and so forth.

Feature Overview

Routing policies for a peer include all the configurations such as route-map, distribute-list, prefix-list, and filter-list that may impact inbound or outbound routing table updates. Whenever there is a change in the routing policy, the BGP session must be cleared, or reset, for the new policy to take effect. There are two types of reset, hard reset and soft reset.

Clearing a BGP session using a hard reset invalidates the cache and results in a negative impact on the operation of networks as the information in the cache becomes unavailable.

Soft reset is recommended because it allows routing tables to be reconfigured and activated without clearing the BGP session. Soft reset is done on a per-neighbor basis. There are two types of soft reset:

When soft reset is used to generate inbound updates from a neighbor, it is called dynamic inbound soft reset.

When soft reset is used to send a new set of updates to a neighbor, it is called outbound soft reset.

Previously, in order to perform a soft reset for inbound routing table updates, the neighbor soft-reconfiguration command directed the Cisco IOS software in the local BGP router to store all received (inbound) routing policy updates without modification. This method is memory-intensive and not recommended unless absolutely necessary. (Outbound updates have never required the extra memory and are not affected by this feature.)

With this software release, the BGP Soft Reset Enhancement feature provides automatic support for dynamic soft reset of inbound BGP routing table updates that is not dependent upon stored routing table update information. The new method requires no preconfiguration (as with the neighbor soft-reconfiguration command) and requires much less memory than the previous soft reset method for inbound routing table updates.

Managing Routing Policy Changes

When the routing policy of a BGP neighbor changes, the session must be reset (cleared) for the changes to take effect. Because resetting a BGP session can be disruptive to networks, a soft reset method is recommended for reconfiguring the routing table.

Previously, in order to reconfigure the inbound routing table, both the local BGP router and the BGP peer first needed to be configured to store incoming routing policy updates using the neighbor soft-reconfiguration command. Additional resources, particularly memory, were required to store the inbound routing table updates. The clear ip bgp command could then initiate the soft reset, which generated a new set of inbound routing table updates using the stored information.

This feature provides an additional method for soft reset that allows the dynamic exchange of route refresh requests and routing information between BGP routers, and the subsequent re-advertisement of the respective outbound routing table. Soft reset using the route refresh capability does not require preconfiguration and consumes no additional memory resources.

To use this new method, both BGP peers must support the soft route refresh capability, which is advertised in the OPEN message sent when a peer sends its routing table update. Any router running BGP with this software release automatically supports the route refresh capability. Routers running previous Cisco IOS software releases do not support the route refresh capability and must use the older soft reset method.

If the soft reset fails, you can still clear the BGP session, but it will have a negative impact upon network operations and should only be used as a last resort.

Note Outbound resets have never required preconfiguration or storing of routing table updates, and remain unchanged by the BGP Soft Reset Enhancement. The procedure for an outbound reset is described in the section "Reset BGP Connections" in the Cisco IOS Release 12.0 Network Protocols Configuration Guide, Part 1.

Benefits

Allows Dynamic Route Refresh Requests

This feature provides a way to initiate nondisruptive routing policy changes by allowing the dynamic exchange of route refresh requests between BGP routers, and the subsequent re-advertisement of the respective outbound routing tables.

Requires No Preconfiguration

Because support for the soft reset using the route refresh capability is included in this release of the Cisco IOS software, no further router configuration is required. You can initiate a soft inbound reset using only the clear ip bgp in command.

Requires No Additional Memory Resources

Unlike a soft reset using the stored inbound routing table updates provided by the neighbor soft-reconfiguration command, when both BGP peers support the route refresh capability inbound routing table updates are not stored in the local BGP router. The soft reset requests are exchanged dynamically, and no additional memory is required.

Flexibility

There are now two available methods for inbound soft reset; the older method using stored inbound routing table updates, and the method provided by this feature using dynamic exchange of update information.

Restrictions

Route Refresh Support for BGP Peers

BGP peers must support the route refresh capability to use dynamic inbound soft reset capability. If a peer does not support the route refresh capability, then the only soft reconfiguration option is to use the neighbor soft-reconfiguration command, which initiates the storage of inbound routing table updates and requires additional memory.

Supported Standards, MIBs, and RFCs

Standards

MIB

No new or modified MIBs are supported by this feature.

RFCs

No new or modified RFCs are supported by this feature.

Prerequisites

Both BGP peers must support the soft reset route refresh capability, first included in this software release. If one router does not, then the only soft reconfiguration option is to use the neighbor soft-reconfiguration command, which initiates storage of inbound routing table updates and requires additional memory, followed by the clear ip bgp in command.

Configuration Tasks

See the following "Configuring BGP Soft Reset" section for configuration tasks for the BGP Soft Reset Enhancement feature. This task is required.

Configuring BGP Soft Reset

Whenever there is a change in the routing policy, the BGP session must be reset (cleared) for the new policy to take effect and the routing table to be reconfigured. Using a hard reset to clear a BGP session causes cache invalidation and results in a negative impact on network operation.

Soft reset is recommended because it allows routing table policies to be reconfigured and activated without clearing the BGP session. Soft reset is done on a per-neighbor basis. Soft resets can be inbound or outbound:

When soft reset is used to generate inbound updates from a neighbor, it is called dynamic inbound soft reset.

There are two ways to perform an inbound soft reset: dynamically, and using stored routing update information.

When soft reset is used to send a new set of updates to a neighbor, it is called outbound soft reset.

There is only one way to perform an outbound soft reset.

Note The dynamic inbound soft reset and inbound soft reset using stored information functions are mutually exclusive and cannot be configured together. If the inbound soft reset using stored routing table updates is configured for a neighbor, the dynamic inbound soft update method cannot be used.

Configuring BGP Dynamic Inbound Soft Reset

If both the local BGP router and the neighbor router support the route refresh capability, you can perform a dynamic soft inbound reset. This type of reset has the following advantages over a soft inbound reset using stored routing update information:

Does not require preconfiguration

Does not require additional memory for storing routing update information

To determine whether a router supports the route refresh capability, use the show ip bgp neighbors command.

Command

Purpose

Router# show ip bgpneighbors [ip-address]

Shows whether a neighbor supports the route refresh capability.

If the specified router supports the route refresh capability, the following message is displayed:

Received route refresh capability from peer.

If all the BGP routers support the route refresh capability, you can use the dynamic soft reset method for resetting the inbound routing table.

Command

Purpose

Router# clear ip bgp {* | address | peer-group-name} softin

Performs a dynamic soft reset on the connection specified in the command.

Configuring BGP Outbound Soft Reset

Outbound soft resets do not require any preconfiguration. Using the keyword soft specifies that a soft reset be performed.

Command

Purpose

clear ip bgp {* | address | peer-group-name} softout

Performs a soft reset on the connection specified in the command.

Configuring BGP Soft Reset Using Stored Routing Policy Information

If all of the BGP routers in the connection do not support the route refresh capability, use the soft reset method that generates a new set of inbound routing table updates from information previously stored. To initiate storage of inbound routing table updates, you must first preconfigure the router using the neighbor soft-reconfiguration command.

Keep in mind that the memory requirements for storing the inbound update information can become quite large.

Once you have initiated storage of inbound routing table updates for a specific neighbor or peer group, you can perform a soft inbound reset for that neighbor or peer group.

Command

Purpose

Router config# clear ip bgp {* | address | peer-group-name} softin

Performs a soft reset on the connection specified in the command.

Verifying BGP Soft Reset

Enter the show ip bgp neighbors command to display information about the BGP and TCP connections to neighbors and verify the status and configuration of the BGP soft reset feature. The following sample output shows that a soft reset has been configured for neighbor 10.4.9.8:

Router# show ip bgp neighbors

BGP neighbor is 10.4.9.8, remote AS 101, internal link

BGP version 4, remote router ID 10.4.9.8

BGP state = Established, up for 00:03:50

Last read 00:00:50, hold time is 180, keepalive interval is 60 seconds

Configuration Examples

Dynamic Inbound Soft Reset

The following examples shows the clear ip bgp 131.108.1.1 soft in command used to initiate a dynamic soft reconfiguration in the BGP peer 131.108.1.1. This command requires that the peer supports the route refresh capability.

Router# clear ip bgp 131.108.1.1 soft in

Inbound Soft Reset Using Stored Information

The following example enables inbound soft reconfiguration for the neighbor 131.108.1.1. All the updates received from this neighbor will be stored unmodified, regardless of the inbound policy. When inbound soft reconfiguration is performed later, the stored information will be used to generate a new set of inbound updates.

router bgp 100

neighbor 131.108.1.1 remote-as 200

neighbor 131.108.1.1 soft-reconfiguration inbound

The following example clears the session with the neighbor 131.108.1.1.

clear ip bgp 131.108.1.1 soft in

Command Reference

This section documents new or modified commands. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command reference publications.

In Cisco IOS Release 12.0(1)T or later, you can search and filter the output for show and more commands. This functionality is useful when you need to sort through large amounts of output, or if you want to exclude output that you do not need to see.

To use this functionality, enter a show or more command followed by the "pipe" character (|), one of the keywords begin, include, or exclude, and an expression that you want to search or filter on:

command|{begin|include|exclude}regular-expression

Following is an example of the show atm vc command in which you want the command output to begin with the first line where the expression "PeakRate" appears:

show atm vc|beginPeakRate

For more information on the search and filter functionality, refer to the Cisco IOS Release 12.0(1)T feature module titledCLI String Search.

Syntax Description

(Optional) Triggers inbound or outbound soft reset. If the in or out option is not specified, both inbound and outbound soft reset are triggered.

Defaults

No default behavior or values.

Command Modes

EXEC

Command History

Release

Modification

10.0

This command was introduced.

12.0(6)T

The dynamic inbound soft reset capability was added.

Usage Guidelines

You can reset inbound routing table updates dynamically or by generating new updates using stored update information. Using stored update information requires additional memory for storing the updates.

To reset inbound routing table updates dynamically, all BGP routers must support the route refresh capability. To determine whether a BGP router supports this capability, use the show ip bgp neighbors command. If a router supports the route refresh capability, the following message is displayed:

Received route refresh capability from peer.

If all BGP routers support the route refresh capability, use the clear ip bgp {* | address | peer-groupname} in command. You need not use the soft keyword, because soft reset is automatically assumed when the route refresh capability is supported.

To generate new inbound updates from stored update information (rather than dynamically), without resetting the BGP session, you must first preconfigure the local BGP router using the neighbor soft-reconfiguration command. This preconfiguration causes the software to store all received updates without modification regardless of whether an update is accepted by the inbound policy. Storing updates is memory intensive and should be avoided if possible.

Outbound BGP soft configuration has no memory overhead and does not require any preconfiguration. You can trigger an outbound reconfiguration on the other side of the BGP session to make the new inbound policy take effect.

Use this command whenever any of the following changes occur:

Additions or changes to the BGP-related access lists

Changes to BGP-related weights

Changes to BGP-related distribution lists

Changes in the specifications of the BGP timer

Changes to the BGP administrative distance

Changes to BGP-related route maps

Examples

The following example clears all entries from the host name-and-address cache (hard reset):

clear host *

The following example clears the inbound session with the neighbor 131.108.1.1 without resetting the session:

clear ip bgp 131.108.1.1 soft in

The following example clears the outbound session with the peer-group corp without resetting the session:

IP address of the BGP neighbor and its autonomous system number. If the neighbor is in the same autonomous system as the router, then the link between them is internal; otherwise, it is considered external.

remote AS

Autonomous system of the neighbor.

external link

Indicates that this peer is an external BGP (eBGP) peer.

BGP version

BGP version being used to communicate with the remote router; the router ID (an IP address) of the neighbor is also specified.

remote router ID

IP address of the neighbor.

BGP state

Internal state of this BGP connection.

up for

Amount of time that the underlying TCP connection has been in existence.

Last read

Time that BGP last read a message from this neighbor.

hold time

Maximum amount of time that can elapse between messages from the peer.

keepalive interval

Time period between sending keepalive packets, which help ensure that the TCP connection is up.

Neighbor capabilities

BGP capabilities advertised and received from this neighbor.

Route refresh

Indicates that the neighbor supports dynamic soft reset using the route refresh capability.

Address family IP Version 4 Unicast:

IP Version 4 unicast-specific properties of this neighbor.

Address family IP Version 4 Multicast:

IP Version 4 multicast-specific properties of this neighbor.

Received

Number of total BGP messages received from this peer, including keepalives.

notifications

Number of error messages received from the peer.

Sent

Total number of BGP messages that have been sent to this peer, including keepalives.

notifications

Number of error messages the router has sent to this peer.

Route refresh request:

Number of route refresh requests sent and received from this neighbor.

advertisement runs

Value of minimum advertisement interval.

For address family:

Address family to which the following fields refer.

BGP table version

Indicates that the neighbor has been updated with this version of the primary BGP routing table.

neighbor version

Number used by the software to track the prefixes that have been sent and those that must be sent to this neighbor.

Community attribute

Appears if the neighbor send-community command is configured for this neighbor.

Inbound path policy

Indicates if an inbound policy is configured.

Outbound path policy

Indicates if an outbound policy is configured.

mul-in

Name of inbound route map for the multicast address family.

mul-out

Name of outbound route map for the multicast address family.

accepted prefixes

Number of prefixes accepted.

Prefix advertised

Number of prefixes advertised.

suppressed

Number of prefixes suppressed.

withdrawn

Number of prefixes withdrawn.

Connections established

Number of times the router has established a TCP connection and the two peers have agreed to speak BGP with each other.

dropped

Number of times that a good connection has failed or been taken down.

Last reset

Elapsed time since this peering session was last reset.

Connection state

State of BGP peer.

unread input bytes

Number of bytes of packets still to be processed.

Local host, Local port

Peering address of local router, plus port.

Foreign host, Foreign port

Peering address of the neighbor.

Event Timers

Table displays the number of starts and wakeups for each timer.

iss

Initial send sequence number.

snduna

Last send sequence number the local host sent but has not received an acknowledgment for.

sndnxt

Sequence number the local host will send next.

sndwnd

TCP window size of the remote host.

irs

Initial receive sequence number.

rcvnxt

Last receive sequence number the local host has acknowledged.

rcvwnd

TCP window size of the local host.

delrecvwnd

Delayed receive windowdata the local host has read from the connection, but has not yet subtracted from the receive window the host has advertised to the remote host. The value in this field gradually increases until it is larger than a full-sized packet, at which point it is applied to the rcvwnd field.

SRTT

A calculated smoothed round-trip timeout.

RTTO

Round-trip timeout.

RTV

Variance of the round-trip time.

KRTT

New round-trip timeout (using the Karn algorithm). This field separately tracks the round-trip time of packets that have been resent.

minRTT

Smallest recorded round-trip timeout (hard wire value used for calculation).

maxRTT

Largest recorded round-trip timeout.

ACK hold

Time the local host will delay an acknowledgment in order to piggyback data on it.

Flags

IP precedence of the BGP packets.

Datagrams: Rcvd

Number of update packets received from a neighbor.

with data

Number of update packets received with data.

total data bytes

Total bytes of data.

Sent

Number of update packets sent.

with data

Number of update packets with data sent.

total data bytes

Total number of data bytes.

The following is sample output from the show ip bgp neighbors command with the advertised-routes keyword in privileged EXEC mode: