This documentation has been moved
Detecting and Mitigating a BGP Slow Peer
Downloads: This chapterpdf (PDF - 271.0KB) The complete bookPDF (PDF - 3.7MB) | Feedback

Detecting and Mitigating a BGP Slow Peer

Table Of Contents

Detecting and Mitigating a BGP Slow Peer

Finding Feature Information

Contents

Information About Detecting and Mitigating a BGP Slow Peer

BGP Slow Peer Problem

BGP Slow Peer Feature

BGP Slow Peer Detection

Timestamp on an Update Message

Benefit of BGP Slow Peer Detection

Benefits of Configuring a Dynamic or Static BGP Slow Peer

Static Slow Peer

Dynamic Slow Peer

How to Detect and Mitigate a BGP Slow Peer

Detecting a Slow Peer

Detecting Dynamic Slow Peers at the Address-Family Level

Detecting Dynamic Slow Peers at the Neighbor Level

Detecting Dynamic Slow Peers Using a Peer Policy Template

Marking a Peer as a Static Slow Peer

Marking a Peer as a Static Slow Peer at the Neighbor Level

Marking a Peer as a Static Slow Peer Using a Peer Policy Template

Configuring Dynamic Slow Peer Protection

Configuring Dynamic Slow Peers at the Address-Family Level

Configuring Dynamic Slow Peers at the Neighbor Level

Configuring Dynamic Slow Peers Using a Peer Policy Template

Displaying Output About Dynamic Slow Peers

Restoring Dynamic Slow Peers as Normal Peers

Configuration Examples for Detecting and Mitigating a BGP Slow Peer

Example: Static Slow Peer

Example: Static Slow Peer Using Peer Policy Template

Example: Dynamic Slow Peer at the Neighbor Level

Example: Dynamic Slow Peers Using Peer Policy Template

Example: Dynamic Slow Peers Using Peer Group

Additional References

Related Documents

MIBs

Technical Assistance

Feature Information for Detecting and Mitigating a BGP Slow Peer


Detecting and Mitigating a BGP Slow Peer


First Published: July 30, 2010
Last Updated: July 30, 2010

The BGP Slow Peer feature allows a network administrator to detect a BGP slow peer and also to configure a peer as a slow peer statically or to dynamically mark it.

BGP slow peer detection identifies a BGP peer that is not transmitting update messages within a configured amount of time. It is helpful to know if there is a slow peer, which indicates there is a network issue, such as network congestion or a receiver not processing updates in time, that the network administrator can address.

BGP slow peer configuration moves or splits the peer from its normal update group to a slow update group, thus allowing the normal update group to function without being slowed down and to converge quickly.

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 for Detecting and Mitigating a BGP Slow Peer" section.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.

Contents

Information About Detecting and Mitigating a BGP Slow Peer

How to Detect and Mitigate a BGP Slow Peer

Configuration Examples for Detecting and Mitigating a BGP Slow Peer

Additional References

Feature Information for Detecting and Mitigating a BGP Slow Peer

Information About Detecting and Mitigating a BGP Slow Peer

BGP Slow Peer Problem

BGP Slow Peer Feature

BGP Slow Peer Detection

Benefit of BGP Slow Peer Detection

Benefits of Configuring a Dynamic or Static BGP Slow Peer

Static Slow Peer

Dynamic Slow Peer

BGP Slow Peer Problem

BGP update generation uses the concept of update groups to optimize performance. An update group is a collection of peers with the identical outbound policy. When generating updates, the group policy is used to format messages that are then transmitted to the members of the group.

In order to maintain fairness in resource utilization, each update group is allocated a quota of formatted messages that it keeps in its cache. Messages are added to the cache when they are formatted by the group, and they are removed when they are transmitted to all the members of the group.

A slow peer is a peer that cannot keep up with the rate at which the Cisco IOS software is generating update messages, and is not keeping up over a prolonged period (in the order of a few minutes). There are several causes of a peer being slow:

There is packet loss or high traffic on the link to the peer, and the throughput of the BGP TCP connection is very low.

The peer has a heavy CPU load and cannot service the TCP connection at the required frequency.

When a slow peer is present in an update group, the number of formatted updates pending transmission builds up. When the cache limit is reached, the group does not have any more quotas to format new messages. In order for a new message to be formatted, some of the existing messages must be transmitted by the slow peer and then removed from the cache. The rest of the members of the group that are faster than the slow peer and have completed transmission of the formatted messages will not have anything new to send, even though there may be newly modified BGP networks waiting to be advertised or withdrawn. This effect of blocking formatting of all the peers in a group when one of the peers is slow in consuming updates is the "slow peer" problem.

Temporary Slowness Does Not Constitute a Slow Peer

Events that cause large churn in the BGP table (such as connection resets) can cause a brief spike in the rate of update generation. A peer that temporarily falls behind during such events, but quickly recovers after the event, is not considered a slow peer. In order for a peer for be marked as slow, it must be incapable of keeping up with the average rate of generated updates over a longer period (in the order of a few minutes).

BGP Slow Peer Feature

The BGP Slow Peer feature provides you, the network administrator, with three options:

You can configure BGP slow peer detection only, which will simply detect a slow peer and provide you with information about it. Such detection is a key feature, especially in a large network of BGP peers, because you can then address the network problem that is causing the slow peer.

You can configure a dynamic BGP slow peer. When such slow peer protection is configured, slow peer detection is enabled by default. The slow peer is moved or "split" from its normal update group to a slow update group, thus allowing the normal update group to function without being slowed down, and to converge more quickly than it would with the slow peer. You have the choice of whether to keep the slow peer in that slow update group until you clear the slow peer (by specifying the permanent keyword), or allow the slow peer to dynamically move back to its regular update group as conditions improve. We recommend that you use the permanent keyword and resolve the network issue before you clear the slow peer status.

You can configure a static BGP slow peer if you already know which peer is slow, perhaps due to a link issue or slow CPU process power. No detection is necessary, and it is more likely that the slow peer will remain there, hence the static configuration.

BGP Slow Peer Detection

You can choose to detect a BGP slow peer, whether or not you also configure the slow peer to be moved to a slow peer update group. Simply detecting a BGP slow peer provides you with useful information about the slow peer without splitting the update group. You should then address the network problem causing the slow peer.

Timestamp on an Update Message

BGP slow peer detection relies on the timestamp on the update messages in an update group. Update messages are timestamped when they are formatted. When BGP slow peer detection is configured, the timestamp of the oldest message in a peers queue is compared to the current time to determine if the peer is lagging more than the configured slow peer time threshold.

For example, if the oldest message in the peers queue was formatted more than 3 minutes ago, but the BGP slow peer detection threshold is configured at 3 minutes, then the peer that formatted that update message is determined to be a slow peer.

The Cisco IOS software generates a syslog event when a slow peer is detected or recovered (when its update group has converged and it has no messages formatted before the threshold time).

Benefit of BGP Slow Peer Detection

Slow peer detection provides you with information about the slow peer, and you can resolve the root cause without moving the peer to a different update group. Therefore, slow peer detection requires just one command that helps you identify something in your network that could be improved.

Benefits of Configuring a Dynamic or Static BGP Slow Peer

When a slow peer is present in an update group, the number of formatted updates pending transmission builds up. New messages cannot be formatted and transmitted until the backlog is reduced. That scenario delays BGP update packets and therefore delays BGP networks from being advertised. The problem can be resolved or prevented by configuring a dynamic slow peer or a static slow peer. Such configuration causes a slow peer to be put into a new, slow peer update group and thus prevents the slow peer from delaying the BGP peers that are not slow.

Static Slow Peer

If you believe that a peer is slow, you can statically configure the peer to be a slow peer. A static slow peer is recommended for a peer that is known to be slow, perhaps having a slow link or low processing power.

Static slow peer configuration causes the Cisco IOS software to create a separate update group for the peer. If you configure two peers belonging to the same update group as slow, these two peers will be moved into a single slow peer update group because their policy will match. The slow update group will function at the pace of the slowest of the slow peers.

A static slow peer can be configured in either of two ways:

At the BGP neighbor (address family) level

Via a peer policy template

You probably want to determine the root cause of the peer being slow, such as network congestion or a receiver not processing updates in time. A static slow peer is not automatically restored to its original update group. You can restore a static slow peer to its original update group by using the no neighbor slow-peer split-update-group static command or the no slow-peer split-update-group static command.

Dynamic Slow Peer

An alternative to marking a static slow peer is to configure slow peers dynamically, based on the amount of time that the timestamp of the oldest message in a peers queue lags behind the current time. The default threshold is 300 seconds, and is configurable. We recommend that you specify the optional permanent keyword, which causes the peer to remain in the slow peer group while you resolve the root cause of the slow peer. You can then use the clear bgp slow command to move the peer back to its original group.

If you do not configure the permanent keyword, the peer moves back to its original group if and when it regains its non-slow functioning.

When a dynamic slow peer is configured, detection is enabled automatically.

You can configure dynamic slow peers in three ways:

At the address family view level

At the neighbor topology (that is, neighbor address-family) level

Via a peer policy template

How to Detect and Mitigate a BGP Slow Peer

To just detect a BGP slow peer, perform the following task:

Detecting a Slow Peer

To reduce the affects of a BGP slow peer and thus allow the other peers in an update group to function without being slowed down, perform one or more of the following tasks:

Marking a Peer as a Static Slow Peer (optional)

Configuring Dynamic Slow Peer Protection (optional)

Displaying Output About Dynamic Slow Peers (optional)

Restoring Dynamic Slow Peers as Normal Peers (optional)

Detecting a Slow Peer

You might want to just detect a slow peer, but not move the slow peer out of its update group. Such detection notifies you by way of a syslog message that a BGP peer is not transmitting update messages within a configurable amount of time. The peer remains in its update group; the update group is not split. The syslog message level is notice level for both detection and recovery.

If you want to dynamically configure a BGP slow peer, see the "Configuring Dynamic Slow Peer Protection" section. You will notice that that task includes and requires the step of detecting a slow peer.

Detect a slow peer by performing one of the following tasks:

Detecting Dynamic Slow Peers at the Address-Family Level

Detecting Dynamic Slow Peers at the Neighbor Level

Detecting Dynamic Slow Peers Using a Peer Policy Template

Detecting Dynamic Slow Peers at the Address-Family Level

Perform this task to detect all dynamic slow peers at the address-family level. (If you want to detect specific slow peers, detect slow peers at the neighbor level or by using a peer policy template).

The last step is optional; use it if you want to disable slow peer detection for a specific peer.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp autonomous-system-number

4. neighbor {ip-address | ipv6-address[%] | peer-group-name} remote-as autonomous-system-number

5. address-family ipv4

6. bgp slow-peer detection [threshold seconds]

7. neighbor {neighbor-address | peer-group-name} slow-peer detection disable

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 

router bgp autonomous-system-number

Example:

Router(config)# router bgp 5

Configures the BGP routing process.

Step 4 

neighbor {ip-address | ipv6-address[%] | peer-group-name} remote-as autonomous-system-number

Example:

Router(config-router)# neighbor 10.4.4.4 remote-as 5

(Optional) Adds an entry to the BGP or multiprotocol BGP neighbor table.

This step is required if you intend to disable dynamic slow peer protection for a specific peer as shown in Step 7 below.

Step 5 

address-family ipv4

Example:

Router(config-router)# address-family ipv4

Enters address family configuration mode.

Step 6 

bgp slow-peer detection [threshold seconds]

Example:

Router(config-router-af)# bgp slow-peer detection threshold 600

Configures global slow peer detection and specifies the time in seconds that the timestamp of the oldest update message in a peers queue can be lagging behind the current time before the peer is determined to be a slow peer.

The range of the threshold is from 120 to 3600. As long as the command is configured, the default is 300.

Step 7 

neighbor {neighbor-address | peer-group-name} slow-peer detection disable

Example:

Router(config-router-af)# neighbor 10.4.4.4 slow-peer detection disable

(Optional) Disables slow-peer detection for a specific peer.

Use this command only if you have configured global slow peer detection in Step 5, and now you want to disable slow peer detection for a specific peer or peer group.

Detecting Dynamic Slow Peers at the Neighbor Level

Perform this task to detect dynamic slow peers at a specific neighbor address or belonging to a specific peer group.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp autonomous-system-number

4. address-family ipv4

5. neighbor {neighbor-address | peer-group-name} slow-peer detection [threshold seconds]

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 

router bgp autonomous-system-number

Example:

Router(config)# router bgp 5

Configures the BGP routing process.

Step 4 

address-family ipv4

Example:

Router(config-router)# address-family ipv4

Enters address family configuration mode.

Step 5 

neighbor {neighbor-address | peer-group-name} slow-peer detection [threshold seconds]

Example:

Router(config-router-af)# neighbor 172.60.2.3 slow-peer detection threshold 1200

(Optional) Specifies the time in seconds that the timestamp of the oldest message in a peers queue can be lagging behind the current time before the peer is determined to be a slow peer.

The range of the threshold is 120 seconds to 3600 seconds. As long as the command is configured, the default is 300 seconds.

Detecting Dynamic Slow Peers Using a Peer Policy Template

Perform the following task to detect BGP slow peers using a peer policy template.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp autonomous-system-number

4. template peer-policy policy-template-name

5. slow-peer detection [threshold seconds]

6. exit

7. address-family ipv4

8. neighbor ip-address inherit peer-policy policy-template-name

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 

router bgp autonomous-system-number

Example:

Router(config)# router bgp 5

Configures the BGP routing process.

Step 4 

template peer-policy policy-template-name

Example:

Router(config-router)# template peer-policy global

Enters policy template configuration mode and creates a peer policy template.

Step 5 

slow-peer detection [threshold seconds]

Example:

Router(config-router-ptmp)# slow-peer detection threshold 600

Specifies the time in seconds that the timestamp of the oldest message in a peers queue can be lagging behind the current time before the peer is determined to be a slow peer.

The range of the threshold is from 120 to 3600. As long as the command is configured, the default is 300.

Step 6 

exit

Example:

Router(config-router-ptmp)# exit

Exits to higher configuration mode.

Step 7 

address-family ipv4

Example:

Router(config-router)# address-family ipv4

Enters address family configuration mode.

Step 8 

neighbor ip-address inherit peer-policy policy-template-name

Example:

Router(config-router-af)# neighbor 10.0.0.1 inherit peer-policy global

Sends a peer policy template to a neighbor so that the neighbor can inherit the configuration.

Marking a Peer as a Static Slow Peer

There are two ways to statically configure a slow peer. Perform one of the following tasks in this section to statically configure a slow peer:

Marking a Peer as a Static Slow Peer at the Neighbor Level

Marking a Peer as a Static Slow Peer Using a Peer Policy Template

Marking a Peer as a Static Slow Peer at the Neighbor Level

Perform this task to configure a static slow peer at a specific neighbor address or belonging to a specific peer group.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp autonomous-system-number

4. address-family ipv4

5. neighbor {neighbor-address | peer-group-name} slow-peer split-update-group static

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 

router bgp autonomous-system-number

Example:

Router(config)# router bgp 5

Configures the BGP routing process.

Step 4 

address-family ipv4

Example:

Router(config-router)# address-family ipv4

Enters address family configuration mode.

Step 5 

neighbor {neighbor-address | peer-group-name} slow-peer split-update-group static

Example:

Router(config-router-af)# neighbor 172.16.1.1 slow-peer split-update-group static

Configures the neighbor at the specified address as a slow peer.

Use the no neighbor {neighbor-address | peer-group-name} slow-peer split-update-group static command if you want to restore the peer to its original, non-slow update group.

Marking a Peer as a Static Slow Peer Using a Peer Policy Template

Perform this task to configure a static slow peer by using a peer policy template.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp autonomous-system-number

4. template peer-policy policy-template-name

5. slow-peer split-update-group static

6. exit

7. address-family ipv4

8. neighbor ip-address inherit peer-policy policy-template-name

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 

router bgp autonomous-system-number

Example:

Router(config)# router bgp 5

Configures the BGP routing process.

Step 4 

template peer-policy policy-template-name

Example:

Router(config-router)# template peer-policy global

Enters policy template configuration mode and creates a peer policy template.

Step 5 

slow-peer split-update-group static

Example:

Router(config-router-ptmp)# slow-peer split-update-group static

Configures the neighbor at the specified address as a slow peer.

Use the no slow-peer split-update-group static command if you want to restore the peer to its normal status.

Step 6 

exit

Example:

Router(config-router-ptmp)# exit

Exits to higher configuration mode.

Step 7 

address-family ipv4

Example:

Router(config-router)# address-family ipv4

Enters address family configuration mode.

Step 8 

neighbor ip-address inherit peer-policy policy-template-name

Example:

Router(config-router-af)# neighbor 10.0.0.1 inherit peer-policy global

Sends a peer policy template to a neighbor so that the neighbor can inherit the configuration.

Configuring Dynamic Slow Peer Protection

There are three ways to dynamically configure slow peers, also known as slow peer protection. Perform one or more of the tasks in this section to configure dynamic slow peers:

Configuring Dynamic Slow Peers at the Address-Family Level

Configuring Dynamic Slow Peers at the Neighbor Level

Configuring Dynamic Slow Peers Using a Peer Policy Template

Configuring Dynamic Slow Peers at the Address-Family Level

Configuring dynamic slow peers at the address-family level applies to all peers in the address family specified. (If you want to configure specific slow peers, perform this task at the neighbor level or by using a peer policy template.)

The last step is optional; perform it only if you want to disable slow peer protection for a specific peer.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp autonomous-system-number

4. neighbor {ip-address | ipv6-address[%] | peer-group-name} remote-as autonomous-system-number

5. address-family ipv4

6. bgp slow-peer detection [threshold seconds]

7. bgp slow-peer split-update-group dynamic [permanent]

8. neighbor {neighbor-address | peer-group-name} slow-peer split-update-group disable

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 

router bgp autonomous-system-number

Example:

Router(config)# router bgp 5

Configures the BGP routing process.

Step 4 

neighbor {ip-address | ipv6-address[%] | peer-group-name} remote-as autonomous-system-number

Example:

Router(config-router)# neighbor 10.4.4.4 remote-as 5

(Optional) Adds an entry to the BGP or multiprotocol BGP neighbor table.

This step is required if you intend to disable dynamic slow peer protection for a specific peer as shown in Step 8 below.

Step 5 

address-family ipv4

Example:

Router(config-router)# address-family ipv4

Enters address family configuration mode.

Step 6 

bgp slow-peer detection [threshold seconds]

Example:

Router(config-router-af)# bgp slow-peer detection threshold 600

(Optional) Specifies the time in seconds that the timestamp of the oldest update message in a peers queue can be lagging behind the current time before the peer is determined to be a slow peer.

When a dynamic slow peer is configured, as in the next step, this detection is enabled automatically.

The range of the threshold is from 120 to 3600. The default is 300.

Step 7 

bgp slow-peer split-update-group dynamic [permanent]

Example:

Router(config-router-af)# bgp slow-peer split-update-group dynamic permanent

Moves the dynamically detected slow peer to a slow update group.

If a static slow peer update group exists (because of a static slow peer), the dynamic slow peer will be moved to the static slow peer update group.

If no static slow peer update group exists, a new slow peer update group will be created and the peer will be moved to that.

We recommend using the permanent keyword. If the permanent keyword is used, the peer will not be moved to its original update group automatically. After you determine the root cause of the slowness, such as network congestion, for example, you can use a clear bgp slow command to move the peer to its original update group. See the "Restoring Dynamic Slow Peers as Normal Peers" section to move a dynamically slow peer back to its original update group.

If the permanent keyword is not used, the slow peer will be moved back to its regular original update group after it becomes a normal peer (converges).

Step 8 

neighbor {neighbor-address | peer-group-name} slow-peer split-update-group dynamic disable

Example:

Router(config-router-af)# neighbor 10.4.4.4 slow-peer split-update-group dynamic disable

(Optional) Perform this step only if you want to disable dynamic slow peer protection for a specific peer.

Configuring Dynamic Slow Peers at the Neighbor Level

Perform this task to configure a dynamic slow peer at a specific neighbor address or belonging to a specific peer group.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp autonomous-system-number

4. address-family ipv4

5. neighbor {neighbor-address | peer-group-name} slow-peer detection [threshold seconds]

6. neighbor {neighbor-address | peer-group-name} slow-peer split-update-group dynamic [permanent]

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 

router bgp autonomous-system-number

Example:

Router(config)# router bgp 5

Configures the BGP routing process.

Step 4 

address-family ipv4

Example:

Router(config-router)# address-family ipv4

Enters address family configuration mode.

Step 5 

neighbor {neighbor-address | peer-group-name} slow-peer detection [threshold seconds]

Example:

Router(config-router-af)# neighbor 172.60.2.3 slow-peer detection threshold 1200

(Optional) Specifies the time in seconds that the timestamp of the oldest update message in a peers queue can be lagging behind the current time before the peer is determined to be a slow peer.

When a dynamic slow peer is configured, as in the next step, this detection is enabled automatically.

The range of the threshold is from 120 to 3600. The default is 300.

Step 6 

neighbor {neighbor-address | peer-group-name} slow-peer split-update-group dynamic [permanent]

Example:

Router(config-router-af)# neighbor 172.60.2.3 slow-peer split-update-group dynamic permanent

Moves the dynamically detected slow peer to a slow update group.

If a static slow peer update group exists (because of a static slow peer), the dynamic slow peer will be moved to the static slow peer update group.

If no static slow peer update group exists, a new slow peer update group will be created and the peer will be moved to that.

We recommend using the permanent keyword. If the permanent keyword is used, the peer will not be moved to its original update group automatically. After you resolve the root cause of the slowness, such as network congestion, for example, you can use a clear bgp slow command to move the peer to its original update group. See the "Restoring Dynamic Slow Peers as Normal Peers" section to move a dynamically slow peer back to its original update group.

If the permanent keyword is not used, the slow peer will be moved back to its regular original update group after it becomes a normal peer (converges).

Configuring Dynamic Slow Peers Using a Peer Policy Template

Perform this task to configure a BGP slow peer using a peer policy template.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp autonomous-system-number

4. template peer-policy policy-template-name

5. slow-peer detection [threshold seconds]

6. slow-peer split-update-group dynamic [permanent]

7. exit

8. address-family ipv4

9. neighbor ip-address inherit peer-policy policy-template-name

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 

router bgp autonomous-system-number

Example:

Router(config)# router bgp 5

Configures the BGP routing process.

Step 4 

template peer-policy policy-template-name

Example:

Router(config-router)# template peer-policy global

Enters policy template configuration mode and creates a peer policy template.

Step 5 

slow-peer detection [threshold seconds]

Example:

Router(config-router-ptmp)# slow-peer detection threshold 600

(Optional) Specifies the time in seconds that the timestamp of the oldest message in a peers queue can be lagging behind the current time before the peer is determined to be a slow peer.

When a dynamic slow peer is configured, as in the next step, this detection is enabled automatically.

The range of the threshold is from 120 to 3600. The default is 300.

Step 6 

slow-peer split-update-group dynamic [permanent]

Example:

Router(config-router-ptmp)# slow-peer split-update-group dynamic permanent

Moves the dynamically detected slow peer to a slow update group.

If a static slow peer update group exists (because of a static slow peer), the dynamic slow peer will be moved to the static slow peer update group.

If no static slow peer update group exists, a new slow peer update group will be created and the peer will be moved to that.

We recommend using the permanent keyword. If the permanent keyword is used, the peer will not be moved to its original update group automatically. After you determine the root cause of the slowness, such as network congestion, for example, you can use a command to move the peer to its original update group. See the "Restoring Dynamic Slow Peers as Normal Peers" section to move a dynamically slow peer back to its original update group.

If the permanent keyword is not used, the slow peer will be moved back to its regular original update group after it becomes a normal peer (converges).

Step 7 

exit

Example:

Router(config-router-ptmp)# exit

Exits to higher configuration mode.

Step 8 

address-family ipv4

Example:

Router(config-router)# address-family ipv4

Enters address family configuration mode.

Step 9 

neighbor ip-address inherit peer-policy policy-template-name

Example:

Router(config-router-af)# neighbor 10.0.0.1 inherit peer-policy global

Sends a peer policy template to a neighbor so that the neighbor can inherit the configuration.

Displaying Output About Dynamic Slow Peers

Use one or more of the show commands in this task to display output about dynamically configured BGP slow peers.

SUMMARY STEPS

1. enable

2. show ip bgp [ipv4 {multicast | unicast} | vpnv4 all | vpnv6 unicast all | topology {*| routing-topology-instance-name}] [update-group] summary slow

3. show ip bgp [ipv4 {multicast | unicast} | vpnv4 all | vpnv6 unicast all] neighbors slow

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

show ip bgp [ipv4 {multicast | unicast} | vpnv4 all | vpnv6 unicast all | topology {*| routing-topology-instance-name}] [update-group] summary slow

Example:

Router# show ip bgp summary slow

Displays information about dynamic BGP slow peers in summary form.

Step 3 

show ip bgp [ipv4 {multicast | unicast} | vpnv4 all | vpnv6 unicast all] neighbors slow

Example:

Router# show ip bgp neighbors slow

Displays information about dynamic BGP slow peer neighbors.

Restoring Dynamic Slow Peers as Normal Peers

Once you, the network administrator, resolve the root cause of a slow peer (network congestion, or a receiver not processing updates in time, and so forth), use the clear commands in the following task to move the peer back to its original group. Both commands perform the same function.


Note Note that statically configured slow peers are not affected by these clear commands. To restore a statically configured slow peer to its original update group, use the no form of the command shown in one of the tasks in the "Marking a Peer as a Static Slow Peer" section.


SUMMARY STEPS

1. enable

2. clear ip bgp {[af] * | neighbor-address | peer-group group-name} slow

3. clear bgp af {* | neighbor-address | peer-group group-name} slow

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear ip bgp {[af] * | neighbor-address | peer-group group-name} slow

Example:

Router# clear ip bgp * slow

(Optional) Restores neighbor(s) from a slow update peer group to their original update peer group.

af is one of the following address families: ipv4, vpnv4, or vpnv6. Moves all peers in the IPv4, VPNv4 or VPNv6 address family back to their original update groups.

* moves all peers back to their original update groups.

Step 3 

clear bgp af {* | neighbor-address | peer-group group-name} slow

Example:

Router# clear bgp ipv4 * slow

(Optional) Restores neighbor(s) from slow update peer group to their original update peer group.

af is one of the following address families: ipv4, vpnv4, or vpnv6. Moves peers in the IPv4, VPNv4 or VPNv6 address family back to their original update groups.

* moves all peers in the address family back to their original update groups.

Configuration Examples for Detecting and Mitigating a BGP Slow Peer

Example: Static Slow Peer

Example: Static Slow Peer Using Peer Policy Template

Example: Dynamic Slow Peer at the Neighbor Level

Example: Dynamic Slow Peers Using Peer Policy Template

Example: Dynamic Slow Peers Using Peer Group

Example: Static Slow Peer

The following example marks the neighbor at 192.168.12.10 as a static slow peer.

router bgp 5
address-family ipv4
 neighbor 192.168.12.10 slow-peer split-update-group static

Example: Static Slow Peer Using Peer Policy Template

The following example configures a static slow peer using a peer policy template named ipv4_ucast_pp2. The neighbor at 10.0.101.4 inherits the policy.


router bgp 13
template peer-policy ipv4_ucast_pp2
slow-peer split-update-group static
exit-peer-policy
!
no bgp default route-target filter
no bgp enforce-first-as
bgp log-neighbor-changes
neighbor 10.0.101.4 remote-as 13

address-family ipv4
neighbor 10.0.101.4 inherit peer-policy ipv4_ucast_pp2

RouterA# show ip bgp template peer-policy ipv4_ucast_pp2
Template:ipv4_ucast_pp2, index:2.
Local policies:0x180000000, Inherited polices:0x0
Local disable policies:0x0, Inherited disable policies:0x0
Locally configured policies: 
  slow-peer split-update-group static
  Inherited policies: 

Example: Dynamic Slow Peer at the Neighbor Level

The following example configures a slow peer at the neighbor level. The neighbor at 10.0.101.3 is configured with dynamic slow peer protection at a default threshold of 300 seconds.

router bgp 13
no bgp default route-target filter
no bgp enforce-first-as
bgp log-neighbor-changes
 neighbor 10.0.101.3 remote-as 13

address-family ipv4
 neighbor 10.0.101.3 slow-peer split-update-group dynamic

Example: Dynamic Slow Peers Using Peer Policy Template

In the following example, Router A uses a peer policy template named ipv4_ucast_pp1 and sets a detection threshold of 120 seconds. The permanent keyword causes slow peers to remain in the slow update group until the network administrator uses the clear ip bgp slow command to move the peer to its original update group. The neighbor at 10.0.101.2 inherits the peer policy, which means that if that neighbor is determined to be slow, it is moved to a slow update group.

router bgp 13
template peer-policy ipv4_ucast_pp1
slow-peer detection threshold 120
slow-peer split-update-group dynamic permanent
exit-peer-policy
!
no bgp default route-target filter
no bgp enforce-first-as
bgp log-neighbor-changes
 neighbor 10.0.101.2 remote-as 13
!
address-family ipv4
 neighbor 10.0.101.2 activate
 neighbor 10.0.101.2 inherit peer-policy ipv4_ucast_pp1

The following output displays the locally configured policies.

RouterA# show ip bgp template peer-policy ipv4_ucast_pp1

Template:ipv4_ucast_pp1, index:1.
Local policies:0x300000000, Inherited polices:0x0
Local disable policies:0x0, Inherited disable policies:0x0
Locally configured policies: 
  slow-peer detection threshold is 120
  slow-peer split-update-group dynamic permanent
Inherited policies: 

Example: Dynamic Slow Peers Using Peer Group

The following example configures two peer groups: ipv4_ucast_pg1 and ipv4_ucast_pg2. The neighbor at 10.0.101.1 belongs to ipv4_ucast_pg1, where slow peer detection is configured for 120 seconds. The neighbor at 10.0.101.5 belongs to ipv4_ucast_pg2, where slow peer detection is configured at 140 seconds.

router bgp 13
no bgp default route-target filter
no bgp enforce-first-as
bgp log-neighbor-changes
 neighbor ipv4_ucast_pg1 peer-group
 neighbor ipv4_ucast_pg2 peer-group
 neighbor ipv4_ucast_pg1 remote-as 13
 neighbor ipv4_ucast_pg2 remote-as 13
 neighbor 10.0.101.1 peer-group ipv4_ucast_pg1
 neighbor 10.0.101.5 peer-group ipv4_ucast_pg2

address-family ipv4
 neighbor ipv4_ucast_pg1 slow-peer detection threshold 120
 neighbor ipv4_ucast_pg1 slow-peer split-update-group dynamic
 neighbor ipv4_ucast_pg2 slow-peer detection threshold 140
 neighbor ipv4_ucast_pg2 slow-peer split-update-group dynamic

The following output displays information about the peer group ipv4_ucast_pg1.

RouterA# show ip bgp peer-group ipv4_ucast_pg1
BGP peer-group is ipv4_ucast_pg1,  remote AS 13
  BGP version 4
  Neighbor sessions:
    0 active, is multisession capable
  Default minimum time between advertisement runs is 0 seconds

 For address family: IPv4 Unicast
  BGP neighbor is ipv4_ucast_pg1, peer-group internal, members:
  10.0.101.1 
  Index 0
  Slow-peer detection is enabled, threshold value is 120
  Slow-peer split-update-group dynamic is enabled
  Update messages formatted 0, replicated 0
  Number of NLRIs in the update sent: max 0, min 0


The following output displays information about the peer group ipv4_ucast_pg2.


RouterA# show ip bgp peer-group ipv4_ucast_pg2
BGP peer-group is ipv4_ucast_pg2,  remote AS 13
  BGP version 4
  Neighbor sessions:
    0 active, is multisession capable
  Default minimum time between advertisement runs is 0 seconds

 For address family: IPv4 Unicast
  BGP neighbor is ipv4_ucast_pg2, peer-group internal, members:
  10.0.101.5 
  Index 0
  Slow-peer detection is enabled, threshold value is 140
  Slow-peer split-update-group dynamic is enabled
  Update messages formatted 0, replicated 0
  Number of NLRIs in the update sent: max 0, min 0

Additional References

Related Documents

Related Topic
Document Title

Syslog messages and the logging console command

Cisco IOS Network Management Command Reference

BGP Peer Policy Templates

"Configure a Basic BGP Network" module in the Cisco IOS IP Routing: BGP Configuration Guide


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


Technical Assistance

Description
Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html


Feature Information for Detecting and Mitigating a BGP Slow Peer

Table 1 lists the release history for this feature.

Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.


Note Table 1 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.


Table 1 Feature Information for BGP Slow Peer

Feature Name
Releases
Feature Information

BGP Slow Peer

Cisco IOS 15.0(1)S

The BGP Slow Peer feature allows a network administrator to detect a BGP slow peer and also to configure a peer as a slow peer statically or dynamically mark it.

BGP slow peer detection identifies a BGP peer that is not transmitting update messages within a configured amount of time. It is helpful to know if there is a slow peer, which indicates there is a network issue that the network administrator can address.

BGP slow peer configuration causes the peer to be moved from its normal update group to a slow update group, thus allowing the normal update group to function without being slowed down and to converge quickly.

The following commands were modified:

clear ip bgp

show ip bgp neighbors

show ip bgp summary

The following commands were introduced:

bgp slow-peer detection

bgp slow-peer split-update-group dynamic

neighbor slow-peer detection

neighbor slow-peer split-update-group dynamic

neighbor slow-peer split-update-group static

slow-peer detection

slow-peer split-update-group dynamic

slow-peer split-update-group static