Cisco NX-OS/IOS BGP (Advanced) Comparison
From DocWiki
Objective
This tech note outlines the main differences in advanced Border Gateway Protocol (BGP) support between Cisco® NX-OS Software and Cisco IOS® Software. Sample configurations are included for Cisco NX-OS and Cisco IOS Software for some common features to demonstrate the similarities and differences. Please refer to the NX-OS documentation on Cisco.com for a complete list of supported features.
BGP Overview
BGPv4 is a standard exterior routing protocol defined in RFC 4271, commonly used to exchange network reachability information between autonomous systems. This document discusses route reflectors, confederations, peer templates, route-map policies and the prefix-list (route-filtering) feature.
Important Cisco NX-OS and Cisco IOS Software Differences
In Cisco NX-O:
- When configuring route reflectors, the route-reflector-client command is assigned per neighbor under the neighbor-specific address family.
- When configuring confederations, the confederation is configured under the autonomous system without the leading bgp keyword.
- Cisco NX-OS uses a peer template instead of a peer group to reuse common BGP policies.
- Multiple policy templates can be applied to a single neighbor. Cisco IOS Software allows only one policy template per neighbor.
- Cisco NX-OS does not require a manual reset for a neighbor when its routing policy is modified. Cisco IOS Software requires a hard or soft reset depending on the neighbor capabilities exchanged.
Things You Should Know
The following list provides some additional facts about Cisco NX-OS that should be helpful when designing, configuring, and maintaining an advanced BGP network configuration.
- Peer and session templates define neighbor attributes such as security passwords, timers, and transport options.
- Peer templates and session templates have identical configuration capabilities with one exception: peer templates can configure address families.
- Peer and session templates are inherited by a neighbor through the BGP neighbor configuration mode.
- Only one peer template and session template can be inherited by a single BGP neighbor.
- Peer templates can inherit session templates.
- Session templates can inherit other session templates.
- Policy templates define address-family policies for inbound or outbound polices, including default-route origination, filter lists, route-map polices, prefix lists, etc.
- Multiple policy templates can be assigned per neighbor. Policy templates are executed in order based on the configured sequence number.
- Policy templates are inherited by a neighbor through the neighbor and address-family configuration mode.
- Route-map polices can configure BGP attributes such as as-path, community lists, community attributes, dampening, local preference, metric type, origin, and weight.
- Route-map polices can be applied per neighbor for inbound and outbound routing policies.
Configuration Comparison
The following sample code shows the configuration similarities and differences between the Cisco NX-OS and Cisco IOS Software CLIs. The configurations are very similar with the exception of the hierarchy used in Cisco NX-OS.
Cisco IOS CLI | Cisco NX-OS CLI | |
---|---|---|
Configuring a Route-Reflector |
router bgp 10
no synchronization network 192.168.11.1 mask 255.255.255.255 neighbor 192.168.2.1 remote-as 10 neighbor 192.168.2.1 update-source Loopback0 neighbor 192.168.2.1 route-reflector-client no auto-summary | router bgp 10
address-family ipv4 unicast network 192.168.11.1/32 neighbor 192.168.2.1 remote-as 10 update-source loopback0 address-family ipv4 unicast route-reflector-client |
---|
Configuring Confederations |
router bgp
no synchronization bgp confederation identifier 10 bgp confederation peers 65535 network 192.168.11.1 mask 255.255.255.255 neighbor 192.168.10.2 remote-as 65535 no auto-summary | router bgp 65534
confederation identifier 10 confederation peers 65535 address-family ipv4 unicast network 192.168.11.1/32 neighbor 192.168.10.2 remote-as 65535 address-family ipv4 unicast |
---|
Configuring a Peer Template |
router bgp 10
no synchronization network 192.168.11.1 mask 255.255.255.255 neighbor IBGP-Template peer-group neighbor IBGP-Template password cisco123 neighbor IBGP-Template update-source Loopback0 neighbor 192.168.2.1 remote-as 10 neighbor 192.168.2.1 peer-group IBGP-Template no auto-summary | router bgp 10
address-family ipv4 unicast network 192.168.11.1/32 template peer IBGP-Template password 3 a667d47acc18ea6b update-source loopback0 address-family ipv4 unicast neighbor 192.168.2.1 remote-as 10 inherit peer IBGP-Template |
---|
Configuring a Policy Template |
router bgp 10
template peer-policy EBGP-Policy default-originate send-community exit-peer-policy
network 192.168.11.1 mask 255.255.255.255 neighbor 192.168.10.2 remote-as 20 neighbor 192.168.10.2 inherit peer-policy EBGP-Policy no auto-summary | router bgp 10
address-family ipv4 unicast network 192.168.11.1/32 template peer-policy EBGP-Policy send-community default-originate neighbor 192.168.10.2 remote-as 20 address-family ipv4 unicast inherit peer-policy EBGP-Policy 10 |
---|
Configuring an Outbound Neighbor Route-Map Policy |
route-map EBGP-Policy permit 10
set as-path prepend 10 10 10
no synchronization network 192.168.11.1 mask 255.255.255.255 neighbor 192.168.10.2 remote-as 20 neighbor 192.168.10.2 route-map EBGP-Policy out no auto-summary | route-map EBGP-Policy permit 10
set as-path prepend 10 10 10
address-family ipv4 unicast network 192.168.11.1/32 neighbor 192.168.10.2 remote-as 20 address-family ipv4 unicast route-map EBGP-Policy out |
---|
Configuring an Outbound Prefix-List |
ip prefix-list EBGP-Policy seq 5 permit 192.168.11.1/32
no synchronization neighbor 192.168.10.2 remote-as 20 neighbor 192.168.10.2 prefix-list EBGP-Policy out no auto-summary | ip prefix-list EBGP-Policy seq 5 permit 192.168.11.1/32
neighbor 192.168.10.2 remote-as 20 address-family ipv4 unicast prefix-list EBGP-Policy out |
---|
Verification Command Comparison
The following table compares some useful show commands for verifying and troubleshooting a BGP network configuration.
Cisco NX-OS BGP | Cisco IOS Software BGP | Command Description |
---|---|---|
show bgp convergence | - | Displays global convergence information |
show bgp process | - | Displays global BGP process information |
show bgp sessions | - | Displays information for all neighbors |
show bgp statistics | - | Displays global BGP process statistics |
- | - | - |
show ip bgp <option> | show ip bgp | Displays BGP Process and BGP table entries |
show ip bgp x.x.x.x | show ip bgp x.x.x.x | Displays a specific network in the BGP table |
show ip bgp x.x.x.x vrf | - | Displays a network in a specified VRF BGP table |
show ip bgp x.x.x.x/len | show ip bgp x.x.x.x mask | Displays a specific prefix in the BGP table |
show ip bgp x.x.x.x/len longer-prefix | show ip bgp x.x.x.x mask longer-prefix | Displays a prefix in the table with longer prefixes |
show ip bgp all | show ip bgp all | Displays the BGP table for all protocol families |
show ip bgp community <word> | show ip bgp community <#> | Displays routes with a specific regular expression |
show ip bgp community <aa:nn> | - | Displays routes with a specific community value |
show ip bgp community internet | - | Displays BGP routes advertised to the Internet |
show ip bgp community no-advertise | show ip bgp community no-advertise | Displays BGP routes not advertised to peers |
show ip bgp community no-export | show ip bgp community no-export | Displays BGP routes not exported to next AS |
show ip bgp community no-export-spoofed | - | Displays BGP routes not sent to outside local AS |
show ip bgp community-list <name> | show ip bgp community-list <name> | Displays a specific BGP community list |
show ip bgp dampening dampened-paths | show ip bgp dampening dampened-paths | Displays all Dampened paths |
show ip bgp dampening flap-statistics | show ip bgp dampening flap-statistics | Displays flap statistics for BGP routes |
show ip bgp dampening history-paths | - | Displays all history paths |
show ip bgp dampening parameters | show ip bgp dampening parameters | Displays all of the Dampening parameters |
show ip bgp extcommunity <word> | - | Displays routes with a specific regular expression for extended communities |
show ip bgp extcommunity-list <name> | - | Displays a specific BGP extended community list |
show ip bgp filter-list | show ip bgp filter-list | Displays all routes matching a specified filter list |
show ip bgp flap-statistics | - | Displays all BGP route flap statistics |
show ip bgp ipv4 multicast <option> | show ip bgp ipv4 multicast <option> | Displays BGP IPv4 multicast address families |
show ip bgp ipv4 unicast <option> | show ip bgp ipv4 unicast <option> | Displays BGP IPv4 unicast address families |
show ip bgp neighbors | show ip bgp neighbors | Displays detailed neighbor information |
show ip bgp neighbors x.x.x.x | show ip bgp neighbors x.x.x.x | Displays detailed information for a neighbor |
show ip bgp nexthop x.x.x.x | - | Displays all routes matching a specified next-hop |
show ip bgp nexthop-database | - | Displays the next-hop database |
show ip bgp paths | show ip bgp paths | Displays all BGP paths |
show ip bgp peer-policy | - | Displays BGP peer policy by specified name |
show ip bgp peer-session | - | Displays information about a peer session |
show ip bgp peer-template | show ip bgp unicast ipv4 template | Displays information about a peer template |
show ip bgp prefix-list | show ip bgp prefix-list | Displays routes matching a specified prefix-list |
show ip bgp regexp | show ip bgp regexp | Displays routes matching a regular-expression |
show ip bgp received-paths | - | Displays the paths stored for soft reconfiguration |
show ip bgp route-map | show ip bgp route-map | Displays BGP routes matching a route-map |
show ip bgp summary | show ip bgp summary | Displays a summary list of neighbors and statistics |
show ip bgp vrf | show ip bgp vpnv4 vrf | Displays information for a specified BGP VRF |