Configuring Internal BGP Features

This module describes how to configure internal Border Gateway Protocol (BGP) features. Internal BGP (iBGP) refers to running BGP on networking devices within one autonomous system. BGP is an interdomain routing protocol designed to provide loop-free routing between separate routing domains (autonomous systems) that contain independent routing policies. Many companies now have large internal networks, and there are many issues involved in scaling the existing internal routing protocols to match the increasing traffic demands while maintaining network efficiency.

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 Internal BGP Features

BGP Routing Domain Confederation

One way to reduce the internal BGP (iBGP) mesh is to divide an autonomous system into multiple subautonomous systems and group them into a single confederation. To the outside world, the confederation looks like a single autonomous system. Each autonomous system is fully meshed within itself and has a few connections to other autonomous systems in the same confederation. Even though the peers in different autonomous systems have external BGP (eBGP) sessions, they exchange routing information as if they were iBGP peers. Specifically, the next hop, Multi Exit Discriminator (MED) attribute, and local preference information are preserved. This feature allows the you to retain a single Interior Gateway Protocol (IGP) for all of the autonomous systems.

To configure a BGP confederation, you must specify a confederation identifier. To the outside world, the group of autonomous systems will look like a single autonomous system with the confederation identifier as the autonomous system number.

BGP Route Reflector

BGP requires that all iBGP speakers be fully meshed. However, this requirement does not scale well when there are many iBGP speakers. Instead of configuring a confederation, another way to reduce the iBGP mesh is to configure a route reflector.

The figure below illustrates a simple iBGP configuration with three iBGP speakers (Routers A, B, and C). Without route reflectors, when Router A receives a route from an external neighbor, it must advertise it to both routers B and C. Routers B and C do not readvertise the iBGP learned route to other iBGP speakers because the routers do not pass on routes learned from internal neighbors to other internal neighbors, thus preventing a routing information loop.

Figure 1. Three Fully Meshed iBGP Speakers

With route reflectors, all iBGP speakers need not be fully meshed because there is a method to pass learned routes to neighbors. In this model, an iBGP peer is configured to be a route reflector responsible for passing iBGP learned routes to a set of iBGP neighbors. In the figure below, Router B is configured as a route reflector. When the route reflector receives routes advertised from Router A, it advertises them to Router C, and vice versa. This scheme eliminates the need for the iBGP session between Routers A and C.

Figure 2. Simple BGP Model with a Route Reflector

The internal peers of the route reflector are divided into two groups: client peers and all the other routers in the autonomous system (nonclient peers). A route reflector reflects routes between these two groups. The route reflector and its client peers form a cluster. The nonclient peers must be fully meshed with each other, but the client peers need not be fully meshed. The clients in the cluster do not communicate with iBGP speakers outside their cluster.

The figure below illustrates a more complex route reflector scheme. Router A is the route reflector in a cluster with routers B, C, and D. Routers E, F, and G are fully meshed, nonclient routers.

Figure 3. More Complex BGP Route Reflector Model

When the route reflector receives an advertised route, depending on the neighbor, it takes the following actions:

  • A route from an external BGP speaker is advertised to all clients and nonclient peers.

  • A route from a nonclient peer is advertised to all clients.

  • A route from a client is advertised to all clients and nonclient peers. Hence, the clients need not be fully meshed.

Along with route reflector-aware BGP speakers, it is possible to have BGP speakers that do not understand the concept of route reflectors. They can be members of either client or nonclient groups allowing an easy and gradual migration from the old BGP model to the route reflector model. Initially, you could create a single cluster with a route reflector and a few clients. All the other iBGP speakers could be nonclient peers to the route reflector and then more clusters could be created gradually.

An autonomous system can have multiple route reflectors. A route reflector treats other route reflectors just like other iBGP speakers. A route reflector can be configured to have other route reflectors in a client group or nonclient group. In a simple configuration, the backbone could be divided into many clusters. Each route reflector would be configured with other route reflectors as nonclient peers (thus, all the route reflectors will be fully meshed). The clients are configured to maintain iBGP sessions with only the route reflector in their cluster.

Usually a cluster of clients will have a single route reflector. In that case, the cluster is identified by the router ID of the route reflector. To increase redundancy and avoid a single point of failure, a cluster might have more than one route reflector. In this case, all route reflectors in the cluster must be configured with the 4-byte cluster ID so that a route reflector can recognize updates from route reflectors in the same cluster. All the route reflectors serving a cluster should be fully meshed and all of them should have identical sets of client and nonclient peers.

Route Reflector Mechanisms to Avoid Routing Loops

As the iBGP learned routes are reflected, routing information may loop. The route reflector model has the following mechanisms to avoid routing loops:

  • Originator ID is an optional, nontransitive BGP attribute. It is a 4-byte attribute created by a route reflector. The attribute carries the router ID of the originator of the route in the local autonomous system. Therefore, if a misconfiguration causes routing information to come back to the originator, the information is ignored.

  • Cluster-list is an optional, nontransitive BGP attribute. It is a sequence of cluster IDs that the route has passed. When a route reflector reflects a route from its clients to nonclient peers, and vice versa, it appends the local cluster ID to the cluster list. If the cluster list is empty, a new cluster list is created. Using this attribute, a route reflector can identify if routing information is looped back to the same cluster due to misconfiguration. If the local cluster ID is found in the cluster list, the advertisement is ignored.

  • The use of set clauses in outbound route maps can modify attributes and possibly create routing loops. To avoid this behavior, most set clauses of outbound route maps are ignored for routes reflected to iBGP peers. The only set clause of an outbound route map that is acted upon is the set ip next-hop clause.

BGP Outbound Route Map on Route Reflector to Set IP Next Hop for iBGP Peer

The BGP Outbound Route Map on Route Reflector to Set IP Next Hop feature allows a route reflector to modify the next hop attribute for a reflected route.

The use of set clauses in outbound route maps can modify attributes and possibly create routing loops. To avoid this behavior, most set clauses of outbound route maps are ignored for routes reflected to iBGP peers. The only set clause of an outbound route map on a route reflector (RR) that is acted upon is the set ip next-hop clause. The set ip next-hop clause is applied to reflected routes.

Configuring an RR with an outbound route map allows a network administrator to modify the next hop attribute for a reflected route. By configuring a route map with the set ip next-hop clause, the administrator puts the RR into the forwarding path, and can configure iBGP multipath load sharing to achieve load balancing. That is, the RR can distribute outgoing packets among multiple egress points. See the “Configuring iBGP Multipath Load Sharing” module.


Caution


Incorrectly setting BGP attributes for reflected routes can cause inconsistent routing, routing loops, or a loss of connectivity. Setting BGP attributes for reflected routes should be attempted only by someone who has a good understanding of the design implications.


BGP Route Dampening

Route dampening is a BGP feature designed to minimize the propagation of flapping routes across an internetwork. A route is considered to be flapping when its availability alternates repeatedly.

For example, consider a network with three BGP autonomous systems: autonomous system 1, autonomous system 2, and autonomous system 3. Suppose the route to network A in autonomous system 1 flaps (it becomes unavailable). Under circumstances without route dampening, the eBGP neighbor of autonomous system 1 to autonomous system 2 sends a withdraw message to autonomous system 2. The border router in autonomous system 2, in turn, propagates the withdraw message to autonomous system 3. When the route to network A reappears, autonomous system 1 sends an advertisement message to autonomous system 2, which sends it to autonomous system 3. If the route to network A repeatedly becomes unavailable, then available, many withdrawal and advertisement messages are sent. This is a problem in an internetwork connected to the Internet because a route flap in the Internet backbone usually involves many routes.


Note


No penalty is applied to a BGP peer reset when route dampening is enabled. Although the reset withdraws the route, no penalty is applied in this instance, even if route flap dampening is enabled.


Route Dampening Minimizes Route Flapping

The route dampening feature minimizes the flapping problem as follows. Suppose again that the route to network A flaps. The router in autonomous system 2 (where route dampening is enabled) assigns network A a penalty of 1000 and moves it to history state. The router in autonomous system 2 continues to advertise the status of the route to neighbors. The penalties are cumulative. When the route flaps so often that the penalty exceeds a configurable suppress limit, the router stops advertising the route to network A, regardless of how many times it flaps. Thus, the route is dampened.

The penalty placed on network A is decayed until the reuse limit is reached, upon which the route is once again advertised. At half of the reuse limit, the dampening information for the route to network A is removed.

BGP Route Dampening Terms

The following terms are used when describing route dampening:

  • Flap—A route whose availability alternates repeatedly.

  • History state—After a route flaps once, it is assigned a penalty and put into history state, meaning the router does not have the best path, based on historical information.

  • Penalty—Each time a route flaps, the router configured for route dampening in another autonomous system assigns the route a penalty of 1000. Penalties are cumulative. The penalty for the route is stored in the BGP routing table until the penalty exceeds the suppress limit. At that point, the route state changes from history to damp.

  • Damp state—In this state, the route has flapped so often that the router will not advertise this route to BGP neighbors.

  • Suppress limit—A route is suppressed when its penalty exceeds this limit. The default value is 2000.

  • Half-life—Once the route has been assigned a penalty, the penalty is decreased by half after the half-life period (which is 15 minutes by default). The process of reducing the penalty happens every 5 seconds.

  • Reuse limit—As the penalty for a flapping route decreases and falls below this reuse limit, the route is unsuppressed. That is, the route is added back to the BGP table and once again used for forwarding. The default reuse limit is 750. The process of unsuppressing routes occurs at 10-second increments. Every 10 seconds, the router finds out which routes are now unsuppressed and advertises them to the world.

  • Maximum suppress limit—This value is the maximum amount of time a route can be suppressed. The default value is four times the half-life.

The routes external to an autonomous system learned via iBGP are not dampened. This policy prevent the iBGP peers from having a higher penalty for routes external to the autonomous system.

BGP Route Map Next Hop Self

The BGP Route Map Next Hop Self feature provides a way to override the settings for bgp next-hop unchanged and bgp next-hop unchanged allpath selectively. These settings are global for an address family. For some routes this may not be appropriate. For example, static routes may need to be redistributed with a next hop of self, but connected routes and routes learned via Interior Border Gateway Protocol (IBGP) or Exterior Border Gateway Protocol (EBGP) may continue to be redistributed with an unchanged next hop.

The BGP route map next hop self functionality modifies the existing route map infrastructure to configure a new ip next-hop self setting, which overrides the bgp next-hop unchanged and bgp next-hop unchanged allpaths settings.

The ip next-hop self setting is applicable only to VPNv4 and VPNv6 address families. Routes distributed by protocols other than BGP are not affected.

You configure a new bgp route-map priority setting to inform BGP that the route map will take priority over the settings for bgp next-hop unchanged and bgp next-hop unchanged allpath. The bgp route-map priority setting only impacts BGP. The bgp route-map priority setting has no impact unless you configure the bgp next-hop unchanged or bgp next-hop unchanged allpaths settings.

How to Configure Internal BGP Features

Configuring a Routing Domain Confederation

To configure a BGP confederation, you must specify a confederation identifier. To the outside world, the group of autonomous systems will look like a single autonomous system with the confederation identifier as the autonomous system number. To configure a BGP confederation identifier, use the following command in router configuration mode:

Command

Purpose

Router(config-router)# bgp confederation identifier  as-number

Configures a BGP confederation.

In order to treat the neighbors from other autonomous systems within the confederation as special eBGP peers, use the following command in router configuration mode:

Command

Purpose

Router(config-router)# bgp confederation peers  as-number [as-number]

Specifies the autonomous systems that belong to the confederation.

For an alternative way to reduce the iBGP mesh, see "Configuring a Route Reflector."

Configuring a Route Reflector

To configure a route reflector and its clients, use the following command in router configuration mode:

Command

Purpose

Router(config-router)# neighbor {ip-address | peer-group-name} route-reflector-client

Configures the local router as a BGP route reflector and the specified neighbor as a client.

If the cluster has more than one route reflector, configure the cluster ID by using the following command in router configuration mode:

Command

Purpose

Router(config-router)# bgp cluster-id  cluster-id 

Configures the cluster ID.

Use the show ip bgp command to display the originator ID and the cluster-list attributes.

By default, the clients of a route reflector are not required to be fully meshed and the routes from a client are reflected to other clients. However, if the clients are fully meshed, the route reflector need not reflect routes to clients.

To disable client-to-client route reflection, use the no bgp client-to-client reflection command in router configuration mode:

Command

Purpose

Router(config-router)# no bgp client-to-client reflection

Disables client-to-client route reflection.

Configuring a Route Reflector Using a Route Map to a Set Next Hop for an iBGP Peer

Perform this task on an RR to set a next hop for an iBGP peer. One reason to perform this task is when you want to make the RR the next hop for routes, so that you can configure iBGP load sharing. Create a route map that sets the next hop to be the RR’s address, which will be advertised to the RR clients. The route map is applied only to outbound routes from the router to which the route map is applied.


Caution


Incorrectly setting BGP attributes for reflected routes can cause inconsistent routing, routing loops, or a loss of connectivity. Setting BGP attributes for reflected routes should only be attempted by someone who has a good understanding of the design implications.



Note


Do not use the neighbor next-hop-self command to modify the next hop attribute for an RR. Using the neighbor next-hop-self command on the RR will modify next hop attributes only for non-reflected routes and not the intended routes that are being reflected from the RR clients. To modify the next hop attribute when reflecting a route, use an outbound route map.


This task configures the RR (Router 2) in the scenario illustrated in the figure below. In this case, Router 1 is the iBGP peer whose routes’ next hop is being set. Without a route map, outbound routes from Router 1 would go to next hop Router 3. Instead, setting the next hop to the RR’s address will cause routes from Router 1 to go to the RR, and thus allow the RR to perform load balancing among Routers 3, 4, and 5.

Figure 4. Route Reflector Using a Route Map to a Set Next Hop for an iBGP Peer

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    route-map map-tag

    4.    set ip next-hop ip-address

    5.    exit

    6.    router bgp as-number

    7.    address-family ipv4

    8.    maximum-paths ibgp number

    9.    neighbor ip-address remote-as as-number

    10.    neighbor ip-address activate

    11.    neighbor ip-address route-reflector-client

    12.    neighbor ip-address route-map map-name out

    13.    Repeat Steps 12 through 14 for the other RR clients.

    14.    end

    15.    show ip bgp neighbors


DETAILED STEPS
     Command or ActionPurpose
    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 route-map map-tag


    Example:
    Router(config)# route-map rr-out 
     

    Enters route map configuration mode to configure a route map.

    • The route map is created to set the next hop for the route reflector client.

     
    Step 4 set ip next-hop ip-address


    Example:
    Router(config-route-map)# set ip next-hop 10.2.0.1 
     

    Specifies that for routes that are advertised where this route map is applied, the next-hop attribute is set to this IPv4 address.

    • For this task, we want to set the next hop to be the address of the RR.

     
    Step 5 exit


    Example:
    Router(config-route-map)# exit 
     

    Exits route-map configuration mode and enters global configuration mode.

     
    Step 6 router bgp as-number


    Example:
    Router(config)# router bgp 100
     

    Enters router configuration mode and creates a BGP routing process.

     
    Step 7 address-family ipv4


    Example:
    Router(config-router-af)# address-family ipv4
     

    Enters address family configuration mode to configure BGP peers to accept address family specific configurations.

     
    Step 8 maximum-paths ibgp number


    Example:
    Router(config-router)# maximum-paths ibgp 5
     

    Controls the maximum number of parallel iBGP routes that can be installed in the routing table.

     
    Step 9 neighbor ip-address remote-as as-number


    Example:
    Router(config-router-af)# neighbor 10.1.0.1 remote-as 100
     

    Adds an entry to the BGP neighbor table.

     
    Step 10 neighbor ip-address activate


    Example:
    Router(config-router-af)# neighbor 10.1.0.1 activate 
     

    Enables the exchange of information with the peer.

     
    Step 11 neighbor ip-address route-reflector-client


    Example:
    Router(config-router-af)# neighbor 10.1.0.1 route-reflector-client 
     

    Configures the local router as a BGP route reflector, and configures the specified neighbor as a route-reflector client.

     
    Step 12 neighbor ip-address route-map map-name out


    Example:
    Router(config-router-af)# neighbor 10.1.0.1 route-map rr-out out 
     

    Applies the route map to outgoing routes from this neighbor.

    • Reference the route map you created in Step 3.

     
    Step 13 Repeat Steps 12 through 14 for the other RR clients.  

    You will not be applying a route map to the other RR clients.

     
    Step 14 end


    Example:
    Router(config-router-af)# end 
     

    Exits address family configuration mode and enters privileged EXEC mode.

     
    Step 15 show ip bgp neighbors


    Example:
    Router# show ip bgp neighbors
     

    (Optional) Displays information about the BGP neighbors, including their status as RR clients, and information about the route map configured.

     

    Adjusting BGP Timers

    BGP uses certain timers to control periodic activities such as the sending of keepalive messages and the interval after not receiving a keepalive message after which the Cisco software declares a peer dead. By default, the keepalive timer is 60 seconds, and the hold-time timer is 180 seconds. You can adjust these timers. When a connection is started, BGP will negotiate the hold time with the neighbor. The smaller of the two hold times will be chosen. The keepalive timer is then set based on the negotiated hold time and the configured keepalive time.

    To adjust BGP timers for all neighbors, use the following command in router configuration mode:

    Command

    Purpose

    Device(config-router)# timers bgp  keepalive holdtime

    Adjusts BGP timers for all neighbors.

    To adjust BGP keepalive and hold-time timers for a specific neighbor, use the following command in router configuration mode:

    Command

    Purpose

    Device(config-router)# neighbor [ip-address | peer-group-name] timers  keepalive holdtime 

    Sets the keepalive and hold-time timers (in seconds) for the specified peer or peer group.


    Note


    The timers configured for a specific neighbor or peer group override the timers configured for all BGP neighbors using the timers bgp router configuration command.


    To clear the timers for a BGP neighbor or peer group, use the no form of the neighbor timers command.

    Configuring the Router to Consider a Missing MED as the Worst Path

    To configure the router to consider a path with a missing MED attribute as the worst path, use the following command in router configuration mode:

    Command

    Purpose

    Router(config-router)# bgp bestpath med missing-as-worst

    Configures the router to consider a missing MED as having a value of infinity, making the path without a MED value the least desirable path.

    Configuring the Router to Consider the MED to Choose a Path from Subautonomous System Paths

    To configure the router to consider the MED value in choosing a path, use the following command in router configuration mode:

    Command

    Purpose

    Router(config-router)# bgp bestpath med confed

    Configures the router to consider the MED in choosing a path from among those advertised by different subautonomous systems within a confederation.

    The comparison between MEDs is made only if there are no external autonomous systems in the path (an external autonomous system is an autonomous system that is not within the confederation). If there is an external autonomous system in the path, then the external MED is passed transparently through the confederation, and the comparison is not made.

    The following example compares route A with these paths:

    path= 65000 65004, med=2
    path= 65001 65004, med=3
    path= 65002 65004, med=4
    path= 65003 1, med=1
    

    In this case, path 1 would be chosen if the bgp bestpath med confed router configuration command is enabled. The fourth path has a lower MED, but it is not involved in the MED comparison because there is an external autonomous system is in this path.

    Configuring the Router to Use the MED to Choose a Path in a Confederation

    To configure the router to use the MED to choose the best path from among paths advertised by a single subautonomous system within a confederation, use the following command in router configuration mode:

    Command

    Purpose

    Router(config-router)# bgp deterministic med

    Configures the router to compare the MED variable when choosing among routes advertised by different peers in the same autonomous system.


    Note


    If the bgp always-compare-med router configuration command is enabled, all paths are fully comparable, including those from other autonomous systems in the confederation, even if the bgp deterministic med command is also enabled.


    Configuring BGP Route Dampening

    The tasks in this section configure and monitor BGP route dampening. Route dampening is designed to minimize the propagation of flapping routes across an internetwork. A route is considered to be flapping when its availability alternates repeatedly.

    Enabling and Configuring BGP Route Dampening

    Perform this task to enable and configure BGP route dampening.

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    router bgp as-number

      4.    address-family ipv4 [unicast | multicast | vrf vrf-name]

      5.    bgp dampening [half-life reuse suppress max-suppress-time] [route-map map-name]

      6.    end


    DETAILED STEPS
       Command or ActionPurpose
      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 as-number


      Example:
      Router(config)# router bgp 45000
       

      Enters router configuration mode and creates a BGP routing process.

       
      Step 4 address-family ipv4 [unicast | multicast | vrf vrf-name]


      Example:
      Router(config-router)# address-family ipv4 unicast
       

      Specifies the IPv4 address family and enters address family configuration mode.

      • The unicast keyword specifies the IPv4 unicast address family. By default, the router is placed in address family configuration mode for the IPv4 unicast address family if the unicast keyword is not specified with the address-family ipv4 command.

      • The multicast keyword specifies IPv4 multicast address prefixes.

      • The vrf keyword and vrf-name argument specify the name of the VRF instance to associate with subsequent IPv4 address family configuration mode commands.

       
      Step 5 bgp dampening [half-life reuse suppress max-suppress-time] [route-map map-name]


      Example:
      Router(config-router-af)# bgp dampening 30 1500 10000 120
       

      Enables BGP route dampening and changes the default values of route dampening factors.

      • The half-life, reuse, suppress, and max-suppress-time arguments are all position dependent; if one argument is entered then all the arguments must be entered.

      • Use the route-map keyword and map-name argument to control where BGP route dampening is enabled.

       
      Step 6 end


      Example:
      Router(config-router-af)# end
       

      Exits address family configuration mode and enters privileged EXEC mode.

       

      Monitoring and Maintaining BGP Route Dampening

      Perform the steps in this task as required to monitor and maintain BGP route dampening.

      SUMMARY STEPS

        1.    enable

        2.    show ip bgp dampening flap-statistics [regexp regexp | filter-list access-list | ip-address mask [longer-prefix]]

        3.    clear ip bgp flap-statistics [neighbor-address [ipv4-mask]] [regexp regexp | filter-list extcom-number]

        4.    show ip bgp dampening dampened-paths

        5.    clear ip bgp [ipv4 {multicast | unicast} | ipv6 {multicast | unicast} | vpnv4 unicast] dampening [neighbor-address] [ipv4-mask]


      DETAILED STEPS
        Step 1   enable

        Enables privileged EXEC mode. Enter your password if prompted.



        Example:
        Router> enable
        
        Step 2   show ip bgp dampening flap-statistics [regexp regexp | filter-list access-list | ip-address mask [longer-prefix]]

        Use this command to monitor the flaps of all the paths that are flapping. The statistics will be deleted once the route is not suppressed and is stable for at least one half-life.



        Example:
        Router# show ip bgp dampening flap-statistics
        
        BGP table version is 10, local router ID is 172.17.232.182
        Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
        Origin codes: i - IGP, e - EGP, ? - incomplete
           Network          From            Flaps Duration Reuse    Path
        *d 10.0.0.0         172.17.232.177  4     00:13:31 00:18:10 100
        *d 10.2.0.0         172.17.232.177  4     00:02:45 00:28:20 100
        
        Step 3   clear ip bgp flap-statistics [neighbor-address [ipv4-mask]] [regexp regexp | filter-list extcom-number]

        Use this command to clear the accumulated penalty for routes that are received on a router that has BGP dampening enabled. If no arguments or keywords are specified, flap statistics are cleared for all routes. Flap statistics are also cleared when the peer is stable for the half-life time period. After the BGP flap statistics are cleared, the route is less likely to be dampened.



        Example:
        Router# clear ip bgp flap-statistics 172.17.232.177
        
        Step 4   show ip bgp dampening dampened-paths

        Use this command to monitor the flaps of all the paths that are flapping. The statistics will be deleted once the route is not suppressed and is stable for at least one half-life.



        Example:
        Router# show ip bgp dampening dampened-paths
        
        BGP table version is 10, local router ID is 172.29.232.182
        Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
        Origin codes: i - IGP, e - EGP, ? - incomplete
           Network          From             Reuse   Path
        *d 10.0.0.0         172.16.232.177   00:18:4 100 ?
        *d 10.2.0.0         172.16.232.177   00:28:5 100 ?
        
        Step 5   clear ip bgp [ipv4 {multicast | unicast} | ipv6 {multicast | unicast} | vpnv4 unicast] dampening [neighbor-address] [ipv4-mask]

        Use this command to clear stored route dampening information. If no keywords or arguments are entered, route dampening information for the entire routing table is cleared. The following example clears route dampening information for VPNv4 address family prefixes from network 192.168.10.0/24, and unsuppresses its suppressed routes.



        Example:
        Router# clear ip bgp vpnv4 unicast dampening 192.168.10.0 255.255.255.0
        

        Monitoring and Maintaining BGP Route Dampening

        You can monitor the flaps of all the paths that are flapping. The statistics will be deleted once the route is not suppressed and is stable for at least one half-life. To display flap statistics, use the following commands as needed:

        Command

        Purpose

        Router# show ip bgp dampening flap-statistics

        Displays BGP flap statistics for all paths.

        Router# show ip bgp dampening flap-statistics regexp  regexp

        Displays BGP flap statistics for all paths that match the regular expression.

        Router# show ip bgp dampening flap-statistics filter-list access- list

        Displays BGP flap statistics for all paths that pass the filter.

        Router# show ip bgp dampening flap-statistics  ip-address mask

        Displays BGP flap statistics for a single entry.

        Router# show ip bgp dampening flap-statistics  ip-address mask longer-prefix

        Displays BGP flap statistics for more specific entries.

        To clear BGP flap statistics (thus making it less likely that the route will be dampened), use the following commands as needed:

        Command

        Purpose

        Router# clear ip bgp flap-statistics 

        Clears BGP flap statistics for all routes.

        Router# clear ip bgp flap-statistics regexp regexp

        Clears BGP flap statistics for all paths that match the regular expression.

        Router# clear ip bgp flap-statistics filter-list  list

        Clears BGP flap statistics for all paths that pass the filter.

        Router# clear ip bgp flap-statistics  ip-address mask

        Clears BGP flap statistics for a single entry.

        Router# clear ip bgp  ip-address  flap-statistics

        Clears BGP flap statistics for all paths from a neighbor.


        Note


        The flap statistics for a route are also cleared when a BGP peer is reset. Although the reset withdraws the route, there is no penalty applied in this instance, even if route flap dampening is enabled.


        Once a route is dampened, you can display BGP route dampening information, including the time remaining before the dampened routes will be unsuppressed. To display the information, use the following command:

        Command

        Purpose

        Router# show ip bgp dampening dampened-paths

        Displays the dampened routes, including the time remaining before they will be unsuppressed.

        You can clear BGP route dampening information and unsuppress any suppressed routes by using the following command:

        Command

        Purpose

        Router# clear ip bgp dampened-paths [ip-address network-mask]

        Clears route dampening information and unsuppresses the suppressed routes.

        Configuring BGP Route Map next-hop self

        Perform this task to modify the existing route map by adding the ip next-hop self setting and overriding the bgp next-hop unchanged and bgp next-hop unchanged allpaths settings.

        SUMMARY STEPS

          1.    enable

          2.    configure terminal

          3.    route-map map-tag permit sequence-number

          4.    match source-protocol source-protocol

          5.    set ip next-hop self

          6.    exit

          7.    route-map map-tag permit sequence-number

          8.    match route-type internal

          9.    match route-type external

          10.    match source-protocol source-protocol

          11.    exit

          12.    router bgp autonomous-system-number

          13.    neighbor ip-address remote-as autonomous-system-number

          14.    address-family vpnv4

          15.    neighbor ip-address activate

          16.    neighbor ip-address next-hop unchanged allpaths

          17.    neighbor ip-address route-map map-name out

          18.    exit

          19.    address-family ipv4 [unicast | multicast| vrf vrf-name]

          20.    bgp route-map priority

          21.    redistribute protocol

          22.    redistribute protocol

          23.    exit-address-family

          24.    end


        DETAILED STEPS
           Command or ActionPurpose
          Step 1 enable


          Example:
          Device> enable
           

          Enables privileged EXEC mode.

          • Enter your password if prompted.

           
          Step 2 configure terminal


          Example:
          Device# configure terminal
           

          Enters global configuration mode.

           
          Step 3 route-map map-tag permit sequence-number


          Example:
          Device(config)# route-map static-nexthop-rewrite permit 10
           

          Defines conditions for redistributing routes from one routing protocol to another routing protocol and enters route-map configuration mode.

           
          Step 4 match source-protocol source-protocol


          Example:
          Device(config-route-map)# match source-protocol static
           

          Matches Enhanced Interior Gateway Routing Protocol (EIGRP) external routes based on a source protocol.

           
          Step 5 set ip next-hop self


          Example:
          Device(config-route-map)# set ip next-hop self
           

          Configure local routes (for BGP only) with next hop of self.

           
          Step 6 exit


          Example:
          Device(config-route-map)# exit
           

          Exits route-map configuration mode and enters global configuration mode.

           
          Step 7 route-map map-tag permit sequence-number


          Example:
          Device(config)# route-map static-nexthop-rewrite permit 20
           

          Defines conditions for redistributing routes from one routing protocol to another routing protocol and enters route-map configuration mode.

           
          Step 8 match route-type internal


          Example:
          Device(config-route-map)# match route-type internal
           

          Redistributes routes of the specified type.

           
          Step 9 match route-type external


          Example:
          Device(config-route-map)# match route-type external
           

          Redistributes routes of the specified type.

           
          Step 10 match source-protocol source-protocol


          Example:
          Device(config-route-map)# match source-protocol connected
           

          Matches Enhanced Interior Gateway Routing Protocol (EIGRP) external routes based on a source protocol.

           
          Step 11 exit


          Example:
          Device(config-route-map)# exit
           

          Exits route-map configuration mode and enters global configuration mode.

           
          Step 12 router bgp autonomous-system-number


          Example:
          Device(config)# router bgp 45000
           

          Enters router configuration mode and creates a BGP routing process.

           
          Step 13 neighbor ip-address remote-as autonomous-system-number


          Example:
          Device(config-router)# neighbor 172.16.232.50 remote-as 65001
           

          Adds an entry to the BGP or multiprotocol BGP neighbor table.

           
          Step 14 address-family vpnv4


          Example:
          Device(config-router)# address-family vpnv4
           

          Specifies the VPNv4 address family and enters address family configuration mode.

           
          Step 15 neighbor ip-address activate


          Example:
          Device(config-router-af)# neighbor 172.16.232.50 activate
           

          Enables the exchange of information with a Border Gateway Protocol (BGP) neighbor.

           
          Step 16 neighbor ip-address next-hop unchanged allpaths


          Example:
          Device(config-router-af)# neighbor 172.16.232.50 next-hop unchanged allpaths
           

          Enables an external EBGP peer that is configured as multihop to propagate the next hop unchanged.

           
          Step 17 neighbor ip-address route-map map-name out


          Example:
          Device(config-router-af)# neighbor 172.16.232.50 route-map static-nexthop-rewrite out
           

          Applies a route map to an outgoing route.

           
          Step 18 exit


          Example:
          Device(config-router-af)# exit
           

          Exits address family configuration mode and enters router configuration mode.

           
          Step 19 address-family ipv4 [unicast | multicast| vrf vrf-name]


          Example:
          Device(config-router)# address-family ipv4 unicast vrf inside
           

          Specifies the IPv4 address family and enters address family configuration mode.

           
          Step 20 bgp route-map priority


          Example:
          Device(config-router-af)# bgp route-map priority
           

          Configures the route map priority for the local BGP routing process

           
          Step 21 redistribute protocol


          Example:
          Device(config-router-af)# redistribute static
           

          Redistributes routes from one routing domain into another routing domain.

           
          Step 22 redistribute protocol


          Example:
          Device(config-router-af)# redistribute connected
           

          Redistributes routes from one routing domain into another routing domain.

           
          Step 23 exit-address-family


          Example:
          Device(config-router-af)# exit address-family
           

          Exits address family configuration mode and enters router configuration mode .

           
          Step 24 end


          Example:
          Device(config-router)# end
           

          Exits router configuration mode and enters privileged EXEC mode.

           

          Configuration Examples for Internal BGP Features

          Example: BGP Confederation Configurations with Route Maps

          This section contains an example of the use of a BGP confederation configuration that includes BGP communities and route maps. For more examples of how to configure a BGP confederation, see the “Example: BGP Confederation” section in this module

          This example shows how BGP community attributes are used with a BGP confederation configuration to filter routes.

          In this example, the route map named set-community is applied to the outbound updates to neighbor 172.16.232.50 and the local-as community attribute is used to filter the routes. The routes that pass access list 1 have the special community attribute value local-as. The remaining routes are advertised normally. This special community value automatically prevents the advertisement of those routes by the BGP speakers outside autonomous system 200.

          router bgp 65000
           network 10.0.1.0 route-map set-community
           bgp confederation identifier 200
           bgp confederation peers 65001
           neighbor 172.16.232.50 remote-as 100
           neighbor 172.16.233.2 remote-as 65001
          !
          route-map set-community permit 10
           match ip address 1
           set community local-as
          !

          Example: BGP Confederation

          The following is a sample configuration that shows several peers in a confederation. The confederation consists of three internal autonomous systems with autonomous system numbers 6001, 6002, and 6003. To the BGP speakers outside the confederation, the confederation looks like a normal autonomous system with autonomous system number 500 (specified via the bgp confederation identifier router configuration command).

          In a BGP speaker in autonomous system 6001, the bgp confederation peers router configuration command marks the peers from autonomous systems 6002 and 6003 as special eBGP peers. Hence peers 172.16.232.55 and 172.16.232.56 will get the local preference, next hop, and MED unmodified in the updates. The router at 10.16.69.1 is a normal eBGP speaker and the updates received by it from this peer will be just like a normal eBGP update from a peer in autonomous system 6001.

          router bgp 6001
           bgp confederation identifier 500
           bgp confederation peers 6002 6003
           neighbor 172.16.232.55 remote-as 6002
           neighbor 172.16.232.56 remote-as 6003
           neighbor 10.16.69.1 remote-as 777
          

          In a BGP speaker in autonomous system 6002, the peers from autonomous systems 6001 and 6003 are configured as special eBGP peers. 10.70.70.1 is a normal iBGP peer and 10.99.99.2 is a normal eBGP peer from autonomous system 700.

          router bgp 6002
           bgp confederation identifier 500
           bgp confederation peers 6001 6003
           neighbor 10.70.70.1 remote-as 6002
           neighbor 172.16.232.57 remote-as 6001
           neighbor 172.16.232.56 remote-as 6003
           neighbor 10.99.99.2 remote-as 700
          

          In a BGP speaker in autonomous system 6003, the peers from autonomous systems 6001 and 6002 are configured as special eBGP peers. 10.200.200.200 is a normal eBGP peer from autonomous system 701.

          router bgp 6003
           bgp confederation identifier 500
           bgp confederation peers 6001 6002
           neighbor 172.16.232.57 remote-as 6001
           neighbor 172.16.232.55 remote-as 6002
           neighbor 10.200.200.200 remote-as 701
          

          The following is a part of the configuration from the BGP speaker 10.200.200.205 from autonomous system 701 in the same example. Neighbor 172.16.232.56 is configured as a normal eBGP speaker from autonomous system 500. The internal division of the autonomous system into multiple autonomous systems is not known to the peers external to the confederation.

          router bgp 701
           neighbor 172.16.232.56 remote-as 500
           neighbor 10.200.200.205 remote-as 701

          Example: Route Reflector Using a Route Map to Set a Next Hop for an iBGP Peer

          The following example is based on the figure above. Router 2 is the route reflector for the clients: Routers 1, 3, 4, and 5. Router 1 is connected to Router 3, but you don’t want Router 1 to forward traffic destined to AS 200 to use Router 3 as the next hop (and therefore use the direct link with Router 3); you want to direct the traffic to the RR, which can load share among Routers 3, 4, and 5.

          This example configures the RR, Router 2. A route map named rr-out is applied to Router 1; the route map sets the next hop to be the RR at 10.2.0.1. When Router 1 sees that the next hop is the RR address, Router 1 forwards the routes to the RR. When the RR receives packets, it will automatically load share among the iBGP paths. A maximum of five iBGP paths are allowed.

          Router 2

          route-map rr-out
           set ip next-hop 10.2.0.1 
          !
          interface gigabitethernet 0/0
           ip address 10.2.0.1 255.255.0.0
          router bgp 100
           address-family ipv4 unicast
           maximum-paths ibgp 5
           neighbor 10.1.0.1 remote-as 100
           neighbor 10.1.0.1 activate
           neighbor 10.1.0.1 route-reflector-client
           neighbor 10.1.0.1 route-map rr-out out
          !
           neighbor 10.3.0.1 remote-as 100
           neighbor 10.3.0.1 activate
           neighbor 10.3.0.1 route-reflector-client
          !
           neighbor 10.4.0.1 remote-as 100
           neighbor 10.4.0.1 activate
           neighbor 10.4.0.1 route-reflector-client
          !
           neighbor 10.5.0.1 remote-as 100
           neighbor 10.5.0.1 activate
           neighbor 10.5.0.1 route-reflector-client
          end

          Example: Configuring BGP Route Dampening

          The following example configures BGP dampening to be applied to prefixes filtered through the route map named ACCOUNTING:

          ip prefix-list FINANCE permit 10.0.0.0/8 
          !
          route-map ACCOUNTING 
           match ip address ip prefix-list FINANCE 
           set dampening 15 750 2000 60
           exit
          router bgp 50000 
           address-family ipv4 
           bgp dampening route-map ACCOUNTING 
           end

          Example: Configuring BGP Route Map next-hop self

          This section contains an example of how to configure BGP Route Map next-hop self.

          In this example, a route map is configured that matches the networks where you wish to override settings for bgp next-hop unchanged and bgp next-hop unchanged allpath. Subsequently, next-hop self is configured. After this, the bgp route map priority is configured for the specified address family so that the previously specified route map takes priority over the settings for bgp next-hop unchanged and bgp next-hop unchanged allpath. This configuration results in static routes being redistributed with a next hop of self, but connected routes and routes learned via IBGP or EBGP continue to be redistributed with an unchanged next hop.

          
          route-map static-nexthop-rewrite permit 10
           match source-protocol static
           set ip next-hop self
          route-map static-nexthop-rewrite permit 20
           match route-type internal
           match route-type external
           match source-protocol connected
          !
          router bgp 65000
           neighbor 172.16.232.50 remote-as 65001
           address-family vpnv4
             neighbor 172.16.232.50 activate
             neighbor 172.16.232.50 next-hop unchanged allpaths
             neighbor 172.16.232.50 route-map static-nexthop-rewrite out
           exit-address-family
           address-family ipv4 unicast vrf inside
             bgp route-map priority
             redistribute static
             redistribute connected
           exit-address-family
          end
          
          

          Additional References for Internal BGP Features

          Related Documents

          Related Topic

          Document Title

          Cisco IOS commands

          Cisco IOS Master Commands List, All Releases

          BGP commands

          Cisco IOS IP Routing: BGP Command Reference

          BGP overview

          “Cisco BGP Overview” module

          Basic BGP configuration tasks

          “Configuring a Basic BGP Network” module

          iBGP multipath load sharing

          “iBGP Multipath Load Sharing” module

          Connecting to a service provider

          “Connecting to a Service Provider Using External BGP” module

          Configuring features that apply to multiple IP routing protocols

          IP Routing: Protocol-Independent Configuration Guide

          RFCs

          RFC

          Title

          RFC 1772

          Application of the Border Gateway Protocol in the Internet

          RFC 1773

          Experience with the BGP Protocol

          RFC 1774

          BGP-4 Protocol Analysis

          RFC 1930

          Guidelines for Creation, Selection, and Registration of an Autonomous System (AS)

          RFC 2519

          A Framework for Inter-Domain Route Aggregation

          RFC 2858

          Multiprotocol Extensions for BGP-4

          RFC 2918

          Route Refresh Capability for BGP-4

          RFC 3392

          Capabilities Advertisement with BGP-4

          RFC 4271

          A Border Gateway Protocol 4 (BGP-4)

          RFC 4893

          BGP Support for Four-octet AS Number Space

          RFC 5396

          Textual Representation of Autonomous system (AS) Numbers

          RFC 5398

          Autonomous System (AS) Number Reservation for Documentation Use

          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 Configuring Internal BGP Features

          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 Configuring Internal BGP Features

          Feature Name

          Releases

          Feature Configuration Information

          Configuring internal BGP features

          10.3

          12.0(7)T

          12.0(32)S12

          12.2(33)SRA

          12.2(33)SXH

          All the features contained in this module are considered to be legacy features and will work in all trains release images.

          The following commands were introduced or modified by these features:

          • bgp always-compare-med

          • bgp bestpath med confed

          • bgp bestpath med missing-as-worst

          • bgp client-to-client reflection

          • bgp cluster-id

          • bgp confederation identifier

          • bgp confederation peers

          • bgp dampening

          • bgp deterministic med

          • clear ip bgp dampening

          • clear ip bgp flap-statistics

          • neighbor route-reflector-client

          • neighbor timers

          • show ip bgp

          • show ip bgp dampening dampened-paths

          • show ip bgp dampening flap-statistics

          • timers bgp

          BGP Outbound Route Map on Route Reflector to Set IP Next Hop

          12.0(16)ST

          12.0(22)S

          12.2

          12.2(14)S

          15.0(1)S

          The BGP Outbound Route Map on Route Reflector to Set IP Next Hop feature allows a route reflector to modify the next hop attribute for a reflected route.