Courseiva
BGPPrivileged EXEC

show ip bgp summary

Displays a summary of the BGP neighbor status and prefix counts, used to quickly verify BGP peering and routing table health.

Definition: show ip bgp summary is a Cisco IOS privileged exec command. Displays a summary of the BGP neighbor status and prefix counts, used to quickly verify BGP peering and routing table health.

Overview

The 'show ip bgp summary' command is a fundamental troubleshooting and monitoring tool for any network engineer working with BGP. It provides a concise, one-screen summary of all BGP neighbors, their current state, and the number of prefixes received, sent, and advertised. This command is typically the first step in verifying BGP peering health and understanding the overall BGP routing table size.

BGP (Border Gateway Protocol) is the de facto exterior gateway protocol used to exchange routing information between autonomous systems (ASes) on the Internet and in large enterprise networks. Unlike interior gateway protocols (IGPs) such as OSPF or EIGRP, BGP is a path-vector protocol that makes routing decisions based on path attributes, not just metric. The 'show ip bgp summary' command is essential because it quickly reveals whether BGP sessions are established (the 'State/PfxRcd' column shows the number of prefixes received, or a state like 'Active' or 'Idle' if the session is down).

Network engineers reach for this command when they need to confirm that a new BGP peer is up, investigate why routes are not being learned, or monitor the impact of a policy change. Alternatives like 'show ip bgp neighbors' provide more detailed per-neighbor information (timers, capabilities, messages), but the summary command is faster for a high-level health check. In the broader workflow, this command is often used after configuring BGP, before checking specific prefixes with 'show ip bgp', or when troubleshooting reachability issues.

Important IOS behavior: the output is buffered, meaning it may not reflect real-time changes if the router is under heavy load; use the 'clear ip bgp *' command cautiously as it resets all sessions. The command requires privileged EXEC mode (enable) and does not modify the running configuration. It is available in all IOS versions and platforms that support BGP, including IOS-XE, IOS-XR, and NX-OS (with slight syntax differences).

Understanding this command is critical for CCNA and CCNP candidates because BGP is a core topic, and the summary output is often referenced in exam scenarios and real-world troubleshooting.

Syntax·Privileged EXEC
show ip bgp summary

When to Use This Command

  • Check if BGP sessions to all neighbors are established after configuration changes.
  • Monitor the number of prefixes received from each neighbor to detect route leaks or filtering issues.
  • Troubleshoot BGP session flapping by reviewing state and uptime columns.
  • Verify that the BGP router ID is correct and that the local AS number matches expectations.

Parameters

ParameterSyntaxDescription
vrfvrf <vrf-name>Specifies a VRF (VPN Routing and Forwarding) instance to display BGP summary for that VRF only. Valid values are any configured VRF name. Common mistake: forgetting to use this parameter in a VRF-aware environment, which shows only the default VRF summary.
allallDisplays BGP summary for all VRFs, including the default VRF. This is useful in MPLS VPN environments where multiple VRFs exist. If omitted, only the default VRF is shown.
neighbor-ipA.B.C.DIP address of a specific BGP neighbor to display summary for that neighbor only. Valid values are any configured BGP neighbor IP. Common mistake: using a non-existent IP or forgetting to specify the neighbor address when troubleshooting a single peer.

Command Examples

Basic BGP summary with multiple neighbors

show ip bgp summary
BGP router identifier 10.1.1.1, local AS number 65001
BGP table version is 1234, main routing table version 1234
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.2     4        65002    1234    1234     1234    0    0 2w0d          500
10.0.0.2        4        65003    5678    5678     5678    0    0 1d04h         200
172.16.0.2      4        65004       0       0        0    0    0 never    Active

BGP router identifier: 10.1.1.1 (highest loopback or physical IP). Local AS: 65001. Table version: 1234 (increments with each change). Neighbor: IP of peer. V: BGP version (always 4). AS: remote AS. MsgRcvd/MsgSent: messages exchanged. TblVer: last table version sent. InQ/OutQ: queue depth (should be 0). Up/Down: time since session established or current state. State/PfxRcd: if established, shows number of prefixes received; otherwise shows state (Idle, Connect, Active, OpenSent, OpenConfirm, Established).

BGP summary with a down neighbor

show ip bgp summary
BGP router identifier 10.1.1.1, local AS number 65001
BGP table version is 1234, main routing table version 1234
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.2     4        65002    1234    1234     1234    0    0 2w0d          500
10.0.0.2        4        65003       0       0        0    0    0 never    Idle

The neighbor 10.0.0.2 is in Idle state, meaning the session is down. No messages have been exchanged (MsgRcvd/MsgSent = 0). This could be due to misconfiguration, network unreachability, or a BGP policy issue. The 'never' uptime indicates the session has never been established.

Understanding the Output

The output starts with the BGP router ID and local AS number. The table version shows the current BGP table version; if it increments rapidly, routes are flapping. The neighbor table lists each BGP peer.

Key columns: 'Neighbor' (peer IP), 'V' (BGP version, always 4), 'AS' (remote AS), 'MsgRcvd/MsgSent' (message counts; should increase over time), 'TblVer' (last table version sent to neighbor), 'InQ/OutQ' (should be 0; non-zero indicates congestion), 'Up/Down' (time since session established or current state), 'State/PfxRcd' (if established, shows number of prefixes received; if not, shows state: Idle, Connect, Active, OpenSent, OpenConfirm). A healthy session shows 'Established' or the prefix count. Watch for 'Active' (peer not responding) or 'Idle' (administratively down or misconfiguration).

A sudden drop in prefix count may indicate filtering or route withdrawal.

Configuration Scenarios

Verify BGP Peering Between Two Routers in Different Autonomous Systems

You have two routers, R1 in AS 100 and R2 in AS 200, connected via a direct link. You need to verify that the BGP session is established and that routes are being exchanged.

Topology

R1(Gi0/0)---10.0.12.0/30---(Gi0/0)R2

Steps

  1. 1.Step 1: On R1, enter privileged EXEC mode: enable
  2. 2.Step 2: Run the show command: show ip bgp summary
  3. 3.Step 3: Check the output for the neighbor 10.0.12.2. Look for the 'State/PfxRcd' column: it should show a number (prefixes received) or 'Idle'/'Active' if the session is down.
  4. 4.Step 4: If the state is 'Idle', check BGP configuration and network reachability.
Configuration
! R1 BGP configuration
router bgp 100
 bgp log-neighbor-changes
 neighbor 10.0.12.2 remote-as 200
!
! R2 BGP configuration
router bgp 200
 bgp log-neighbor-changes
 neighbor 10.0.12.1 remote-as 100

Verify: Expected output on R1: 'Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.12.2 4 200 123 123 5 0 0 00:12:34 5'

Watch out: Ensure that the neighbor IP is reachable (ping) and that the remote-as matches. A common mistake is using the wrong AS number or forgetting to advertise a network.

Troubleshoot BGP Session Flapping Due to Mismatched Hold Timer

A BGP session between two routers is flapping (going up and down). You suspect a mismatch in BGP timers (hold time or keepalive). Use 'show ip bgp summary' to see the uptime and state changes.

Topology

R1(Gi0/0)---192.168.1.0/30---(Gi0/0)R2

Steps

  1. 1.Step 1: On R1, run 'show ip bgp summary' repeatedly to observe the uptime column.
  2. 2.Step 2: If the uptime resets frequently (e.g., every few seconds), the session is flapping.
  3. 3.Step 3: Check the 'State/PfxRcd' column: if it shows 'Idle' or 'Active', the session is down.
  4. 4.Step 4: Use 'show ip bgp neighbors 192.168.1.2' to see the negotiated timers and error messages.
Configuration
! R1 BGP configuration with default timers
router bgp 100
 neighbor 192.168.1.2 remote-as 200
 neighbor 192.168.1.2 timers 30 90  ! keepalive 30, hold 90
!
! R2 BGP configuration with default timers (keepalive 60, hold 180)
router bgp 200
 neighbor 192.168.1.1 remote-as 100

Verify: On R1, 'show ip bgp summary' shows uptime resetting often. 'show ip bgp neighbors 192.168.1.2' shows 'Hold time is 90' on R1 and 'Hold time is 180' on R2, causing mismatch.

Watch out: The hold timer mismatch causes the session to reset. Ensure timers are consistent or use the 'timers bgp' command globally. Another gotcha: forgetting to apply the timer configuration to the neighbor.

Troubleshooting with This Command

When troubleshooting BGP issues, 'show ip bgp summary' is your first diagnostic command. Healthy output shows all neighbors in the 'Established' state (indicated by a number in the 'State/PfxRcd' column, not a state word). The 'Up/Down' column shows the duration the session has been up; a short uptime suggests recent flapping.

The 'PfxRcd' column shows the number of prefixes received from that neighbor; if it is zero, the neighbor may not be advertising any routes, or there may be a filtering issue. Common symptoms this command helps diagnose include: (1) Session not establishing: the state shows 'Idle', 'Active', or 'Connect'. 'Idle' often indicates a configuration error (wrong AS, no route to neighbor) or a manual reset.

'Active' means the router is trying to connect but not receiving a response (check reachability, ACLs). (2) Session flapping: the uptime resets frequently. This can be due to timer mismatch, interface flapping, or BGP hold timer expiration. (3) Missing routes: the 'PfxRcd' count is lower than expected. This may indicate inbound filtering, prefix limits, or the neighbor not generating routes.

A step-by-step diagnostic flow: 1. Run 'show ip bgp summary' to identify problem neighbors. 2. For a neighbor in 'Idle' or 'Active', check reachability with 'ping' and verify BGP configuration with 'show run | section router bgp'. 3.

For flapping sessions, check 'show ip bgp neighbors <ip>' for error messages (e.g., 'BGP Notification sent', 'hold time expired'). 4. For missing prefixes, use 'show ip bgp neighbors <ip> advertised-routes' and 'received-routes' to see what is being exchanged. Correlate with 'show ip route bgp' to see if routes are installed.

Also check 'show ip bgp' for specific prefixes. Debug commands like 'debug ip bgp updates' or 'debug ip bgp keepalives' can provide real-time insight but should be used cautiously in production. Remember that 'show ip bgp summary' output is a snapshot; use it repeatedly to observe trends.

CCNA Exam Tips

1.

The 'State/PfxRcd' column shows either the BGP state or the number of prefixes received; if the session is up, it shows the prefix count, not 'Established'.

2.

A neighbor in 'Active' state means the router is trying to connect but not receiving a response; common exam scenario: missing route to neighbor or ACL blocking TCP 179.

3.

The 'Up/Down' column shows time since last state change; a short uptime indicates flapping, which could be due to mismatched hold timers or MTU issues.

4.

The 'TblVer' column should be the same across all neighbors; if one neighbor has a lower version, it hasn't received the latest updates.

Common Mistakes

Assuming 'Active' means the session is up; it actually means the router is actively trying to connect.

Ignoring the 'InQ' and 'OutQ' columns; non-zero values indicate BGP update queue buildup, often due to slow peer or network congestion.

Misinterpreting the 'State/PfxRcd' column: when the session is established, it shows the prefix count, not the word 'Established'.

show ip bgp summary vs show ip bgp

Both commands are used to examine BGP operation, but they serve different purposes: 'show ip bgp summary' provides a high-level view of BGP peers and prefix statistics, while 'show ip bgp' displays the detailed BGP routing table. They are often confused because both start with 'show ip bgp' and relate to BGP, but their outputs and use cases differ significantly.

Aspectshow ip bgp summaryshow ip bgp
ScopeBGP neighbor status and aggregate prefix countsAll BGP routes in the routing table with attributes
Output typeTable with peers, state, uptime, prefixes receivedRoute entries with network, next-hop, path attributes
Detail levelSummary-level; no per-route detailsPer-route details including communities, AS-path, etc.
Typical useQuick health check of BGP sessions and prefix countsTroubleshooting route selection, filtering, or advertisement issues

Use show ip bgp summary when you need to quickly verify that all expected BGP peers are up and check the number of prefixes received from each neighbor.

Use show ip bgp when you need to examine specific routes, their attributes, and the best path selection process in BGP.

Platform Notes

In IOS-XE (e.g., Catalyst 9000 switches, ISR 4000 series), the 'show ip bgp summary' command syntax and output are nearly identical to classic IOS. However, IOS-XE may include additional fields like 'Multipath' or 'Bestpath' in some versions. The command is available in all IOS-XE versions that support BGP.

For NX-OS (e.g., Nexus 9000, 7000), the equivalent command is 'show bgp summary' (without 'ip'). The output format is different: it shows VRFs, and the neighbor state is displayed as 'Established' or 'Idle' in a separate column. NX-OS also supports 'show bgp vrf <vrf-name> summary' for VRF-specific views.

For ASA firewalls, BGP is not supported in classic ASA code (only in ASDM or Firepower Threat Defense). In ASA with FirePOWER services, BGP is configured on the FirePOWER module, not the ASA itself. For IOS-XR (e.g., ASR 9000, CRS), the command is 'show bgp summary' (similar to NX-OS).

The output is more detailed, including per-neighbor prefix counts and memory usage. IOS-XR also supports 'show bgp neighbor <ip>' for detailed info. Between IOS versions (12.x vs 15.x vs 16.x), the output has remained largely consistent, but newer versions may show additional columns like 'Multipath' or 'Bestpath'.

In IOS 12.x, the 'State/PfxRcd' column might show '0' for prefixes received if the session is up but no routes are exchanged. Always check the documentation for your specific IOS version. The command is available in all privilege levels that allow 'show' commands (typically user EXEC and privileged EXEC).

Related Commands

Practice for the CCNA 200-301

Test your knowledge with practice questions covering all CCNA 200-301 exam domains.

Practice CCNA 200-301 Questions