Day 7 — Inside a BGP UPDATE: Withdrawn Routes, Path Attributes and IPv4 NLRI

Learning objective

Decode the logical sections of a base IPv4-unicast BGP UPDATE, explain how IPv4 NLRI represents prefixes, and distinguish route advertisements or withdrawals from BGP session failures.


Inside a BGP UPDATE:



1. Opening — the session can be healthy while the route is gone

A green BGP neighbor status does not mean the forwarding information you care about is still present.

BGP separates session health from routing information. Once two speakers reach Established, they can exchange UPDATE messages for hours or months without re-establishing the TCP session. One UPDATE might advertise a new prefix. Another might replace attributes for a previously known prefix. A later UPDATE might withdraw that prefix while the peer remains Established.

This is why mature troubleshooting starts with two separate questions:

  1. Is the BGP session healthy?
  2. What happened to the specific NLRI?

Day 6 introduced UPDATE as the message that carries reachability. Day 7 opens that message and follows a single documentation prefix through advertisement, withdrawal and verification.


2. What RFC 4271 puts inside a base IPv4-unicast UPDATE

For the original IPv4-unicast BGP-4 encoding, RFC 4271 defines an UPDATE message containing three logical information areas after the common BGP header:

  • Withdrawn Routes
  • Path Attributes
  • Network Layer Reachability Information (NLRI)

Length fields identify the boundaries between these variable-length portions.

The important mental model is:

> Withdrawn prefixes say what is no longer reachable; path attributes describe the path properties associated with newly advertised/re-advertised NLRI; NLRI identifies the destination prefixes being announced.

Modern multiprotocol BGP extends this model using attributes such as MP_REACH_NLRI and MP_UNREACH_NLRI. Those mechanisms are addressed on Day 8 and again in the MP-BGP module. Do not assume every modern address family encodes reachability in the final base-NLRI field.


3. NLRI is reachability, not a complete route by itself

NLRI means Network Layer Reachability Information.

In base IPv4 unicast, an NLRI entry identifies an IPv4 prefix by carrying a prefix length followed by enough prefix bits to identify the network. For example, a /24 needs 24 significant prefix bits. Conceptually, 203.0.113.0/24 can therefore be represented by a length of 24 and the three significant address octets 203.0.113.

But the prefix alone is not the complete BGP path.

A usable BGP path also depends on attributes such as:

  • ORIGIN;
  • AS_PATH;
  • NEXT_HOP;
  • LOCAL_PREF where applicable;
  • MED where applicable;
  • communities and other extensions.

This separation explains why the same destination prefix can exist as multiple candidate BGP paths with different attributes.


4. One UPDATE can carry more than one prefix

BGP can encode multiple NLRI entries in an UPDATE when those routes share the same attribute set.

Operationally, this matters because a single packet capture frame may contain several routes. When troubleshooting, do not stop after seeing the expected AS_PATH or NEXT_HOP. Confirm that the actual target prefix appears in the NLRI or withdrawn section you are inspecting.

Likewise, a high UPDATE-message counter does not mean every UPDATE is relevant to the failing service. Scope packet analysis to:

  • the affected peer;
  • the affected address family;
  • the affected prefix or prefix range;
  • the incident time window.

5. Explicit withdrawal versus implicit replacement

A route can cease being usable in more than one way.

Explicit withdrawal

The sender identifies a previously advertised prefix as withdrawn. The receiver removes the path learned from that peer, subject to local processing and any alternate paths.

Re-advertisement with changed attributes

The sender can advertise the same NLRI with a changed attribute set. From the operator's perspective the route may still exist, but its preference or forwarding consequence can change.

This is why an incident statement such as “BGP withdrew the route” should be based on evidence. If the prefix still appears from the same peer with different attributes, the problem is not an explicit withdrawal.


6. UPDATE processing is policy-sensitive

Receiving an UPDATE on the wire does not guarantee that the route becomes a usable best path.

A simplified receive pipeline is:

  1. receive and validate the BGP UPDATE;
  2. interpret the NLRI and attributes;
  3. apply inbound policy;
  4. retain eligible path information according to implementation behavior;
  5. run best-path selection;
  6. attempt installation into the routing table;
  7. resolve the next hop;
  8. program forwarding where appropriate.

Therefore a packet capture proving that an UPDATE arrived answers only one part of the investigation.

A route might be:

  • received but rejected by policy;
  • accepted but not best;
  • best in BGP but not installed in the RIB;
  • installed in the RIB but unusable because forwarding resolution fails elsewhere.

Future troubleshooting posts will separate each stage.


7. Error handling: malformed UPDATE does not always mean “reset everything”

RFC 7606 revised BGP UPDATE error handling because resetting an entire BGP session for some malformed route information can create unnecessary collateral impact.

Depending on the exact error, modern handling can include strategies such as treating affected NLRI as withdrawn or discarding a problematic attribute rather than always terminating the session.

Two cautions are essential:

  • RFC 7606 does not mean every malformed UPDATE is harmless.
  • Actual behavior depends on the error category and implementation support.

For production troubleshooting, preserve the original logs/capture and identify the precise error rather than relying on a generic “malformed UPDATE” label.


8. Scenario — Cedar Edge route withdrawal

Illustrative lab — not a real incident.

Objective

AS 65010 originates 203.0.113.0/24 toward AS 65020. The lab first proves successful advertisement. We then remove only the BGP origination statement. The BGP session must remain Established while the prefix is withdrawn.


Inside a BGP UPDATE: Withdrawn Routes, Path Attributes and IPv4 NLRI
Inside a BGP UPDATE: Withdrawn Routes, Path Attributes and IPv4 NLRI


Topology

203.0.113.0/24
     |
    R1
 AS 65010
192.0.2.1/30
     |
     | eBGP
     |
192.0.2.2/30
    R2
 AS 65020

Success criteria

Before modification:

  • BGP is Established.
  • R1 originates 203.0.113.0/24.
  • R2 has a valid path for the prefix.

After modification:

  • the BGP session remains Established;
  • R2 no longer has the path from R1;
  • packet capture, if used, shows route withdrawal behavior rather than a TCP/session reset.

9. Prerequisites

  • Cisco IOS XE 17.18.x documentation baseline.
  • Two IOS XE-capable lab nodes.
  • One Ethernet interface per router for the eBGP link.
  • Optional loopback or Null0-backed static prefix for local origination.
  • Packet capture on the inter-router link if the virtual environment permits it.
  • Independent console/management access before fault injection.

The exact virtual image should be validated before claiming observed output.


10. Baseline configuration

R1 — AS 65010

hostname R1
!
interface GigabitEthernet0/0
 ip address 192.0.2.1 255.255.255.252
 no shutdown
!
ip route 203.0.113.0 255.255.255.0 Null0
!
router bgp 65010
 bgp router-id 10.10.10.1
 neighbor 192.0.2.2 remote-as 65020
 address-family ipv4 unicast
  network 203.0.113.0 mask 255.255.255.0
  neighbor 192.0.2.2 activate
 exit-address-family

R2 — AS 65020

hostname R2
!
interface GigabitEthernet0/0
 ip address 192.0.2.2 255.255.255.252
 no shutdown
!
router bgp 65020
 bgp router-id 10.20.20.2
 neighbor 192.0.2.1 remote-as 65010
 address-family ipv4 unicast
  neighbor 192.0.2.1 activate
 exit-address-family

The static route on R1 exists only to make the documentation prefix present in the local routing table so the BGP network statement can originate it. Traffic to that prefix is intentionally discarded by Null0 in this control-plane-focused lab.


11. Verification before modification

R1

show ip route 203.0.113.0
show ip bgp 203.0.113.0
show ip bgp neighbors 192.0.2.2 advertised-routes
show ip bgp summary

R2

show ip bgp 203.0.113.0
show ip route 203.0.113.0
show ip bgp neighbors 192.0.2.1
show ip bgp summary

What the evidence must prove

  • show ip bgp summary proves the peer is Established and shows prefix/accounting information relevant to the platform.
  • show ip bgp 203.0.113.0 proves whether the NLRI is present in the local BGP table.
  • show ip route 203.0.113.0 checks RIB installation separately from BGP-table presence.
  • advertised-routes output helps prove what R1 is sending, subject to platform/output support.

Do not substitute session state for prefix verification.


12. Controlled modification — withdraw one prefix without dropping the peer

On R1:

configure terminal
router bgp 65010
 address-family ipv4 unicast
  no network 203.0.113.0 mask 255.255.255.0
 end

Expected control-plane result

R1 stops originating the prefix through this BGP network statement. R2 should remove the path learned from R1 after processing the withdrawal.

Expected session result

The eBGP session remains Established.

Expected packet evidence

If captured, the route change should appear in UPDATE processing rather than as a TCP teardown followed by OPEN/KEEPALIVE session establishment.


13. Fault injection

Illustrative lab — not a real incident.

Lab name

Cedar Edge — Missing NLRI

Fault

Remove the BGP network 203.0.113.0 mask 255.255.255.0 statement from R1 while leaving the static route and neighbor configuration intact.

Initial symptom

A monitoring system reports that 203.0.113.0/24 has disappeared from R2, while the BGP peer dashboard still shows green.

Expected BGP state

Established.

Expected route-table change

The prefix learned from R1 disappears from R2's BGP table and, assuming no alternate route exists, from its RIB.


14. Step-by-step troubleshooting

  1. Confirm the exact missing prefix: 203.0.113.0/24.
  2. Confirm R2's BGP session with R1 is still Established.
  3. Check whether R2 has any BGP path for the prefix.
  4. Check whether R1 still has the prefix locally.
  5. Check whether R1's BGP table still contains a locally originated path.
  6. Check R1's advertised routes toward R2.
  7. Inspect recent configuration changes around the BGP address family.
  8. If packet capture is available, locate the UPDATE in the incident window.
  9. Determine whether the event was a route withdrawal or a session reset.
  10. Restore only the proven missing origination configuration.

This method prevents a common operational mistake: clearing a healthy BGP session when the fault is a route-origination change.


15. Root cause and correction

Proven root cause

The local route still exists on R1, but BGP is no longer instructed to originate it with the network statement.

Corrected configuration

configure terminal
router bgp 65010
 address-family ipv4 unicast
  network 203.0.113.0 mask 255.255.255.0
 end

Why it works

The exact prefix is already present in R1's local routing table. Restoring the BGP network statement makes the prefix eligible for local BGP origination again, subject to the documented Cisco behavior and any applicable policy.


16. Post-fix verification

On R1:

show ip route 203.0.113.0
show ip bgp 203.0.113.0
show ip bgp neighbors 192.0.2.2 advertised-routes

On R2:

show ip bgp 203.0.113.0
show ip route 203.0.113.0
show ip bgp summary

If traffic testing is added, use a dedicated reachable test endpoint rather than interpreting the Null0-backed control-plane prefix as an end-to-end service.


17. Rollback

If the controlled withdrawal must be reversed, restore:

router bgp 65010
 address-family ipv4 unicast
  network 203.0.113.0 mask 255.255.255.0

If unexpected route changes occur, preserve:

  • show ip bgp evidence;
  • neighbor details;
  • routing table state;
  • logs;
  • capture files;
  • the running configuration before and after the change.

18. Production lessons

Protocol lesson

An Established BGP session and a valid prefix are different objects. UPDATE messages change routing information without requiring session re-establishment.

Troubleshooting lesson

Always scope incidents by peer and prefix. “BGP is up” is not a route-level health check.

Packet-analysis lesson

Confirm whether the target prefix is advertised, withdrawn or absent from the relevant UPDATE. Do not infer route behavior from TCP packets alone.

Change-management lesson

A single network-statement removal can cause route loss with no obvious neighbor-state alarm. Route/prefix monitoring is therefore essential.

Security lesson

Unexpected withdrawals can be operational mistakes, policy effects or upstream events. Preserve evidence before assuming malicious activity.


19. Knowledge check

Q1

R2 reports its BGP peer as Established, but 203.0.113.0/24 disappears. Does that prove a session outage?

Answer: No. The prefix can be explicitly withdrawn or otherwise become unavailable while the session remains Established.

Q2

What does NLRI identify in the base IPv4-unicast UPDATE model?

Answer: Network-layer reachability, specifically the destination prefix information being advertised.

Q3

Why should show ip route and show ip bgp both be checked?

Answer: The BGP table shows BGP path information and best-path processing, while the routing table confirms whether a route is installed in the RIB. Presence in one does not automatically prove the other stage.


20. Sources

  1. RFC 4271 — *A Border Gateway Protocol 4 (BGP-4)* — UPDATE message format, NLRI and path-attribute behavior.
  2. RFC 7606 — *Revised Error Handling for BGP UPDATE Messages* — modern handling considerations for malformed UPDATE information.
  3. Cisco — *IP Routing Configuration Guide, Cisco IOS XE 17.x: Configuring a Basic BGP Network* — BGP network origination and neighbor/address-family workflow.
  4. Cisco — *Cisco IOS IP Routing: BGP Command Reference* — show ip bgp and related BGP verification commands.

Accessed: 2026-08-11.


Day 6 — BGP Message Types: OPEN, UPDATE, KEEPALIVE, NOTIFICATION and ROUTE-REFRESH

Learning objective

Identify the purpose of each major BGP message, relate messages to the FSM and routing lifecycle, and use counters/captures to distinguish session-negotiation failures from route-update failures.


BGP Message Types



1. Opening — every BGP outage eventually becomes a message story

When a BGP neighbor fails, the CLI summarizes the outcome. The wire explains the sequence.

A peer did not merely “go down.” Perhaps TCP established, an OPEN was exchanged, the receiver rejected an ASN or capability and sent a NOTIFICATION. Perhaps the session stayed Established but an UPDATE withdrew a critical prefix. Perhaps a policy change required the peer to re-advertise routes through ROUTE-REFRESH. Perhaps malformed UPDATE information triggered modern error handling rather than an unnecessary full-session reset.

Learning BGP message types gives engineers a protocol-level language for those events.

The base BGP-4 specification defines four message types:

  1. OPEN
  2. UPDATE
  3. NOTIFICATION
  4. KEEPALIVE

The ROUTE-REFRESH message was defined later by RFC 2918 as part of the route-refresh capability. Modern BGP also relies heavily on capability advertisement in OPEN as defined by RFC 5492 and updated by subsequent standards.


2. Common BGP message header

BGP messages share a common header defined by RFC 4271. At a conceptual level it contains:

  • a Marker field;
  • a Length field;
  • a Type field.

The Type tells the receiver how to interpret the remaining message body.

For packet analysis, the practical lesson is to first identify the BGP message type, then decode the fields relevant to that type. Do not jump directly to AS_PATH or NLRI if the packet is an OPEN or KEEPALIVE.


3. OPEN — negotiate the session

After TCP establishes, each BGP speaker sends an OPEN message.

The OPEN contains essential session information including:

  • BGP version;
  • sender’s autonomous-system information in the base field, with four-octet support handled through the four-octet ASN capability/transition mechanisms;
  • hold time;
  • BGP Identifier;
  • optional parameters.

Capabilities

RFC 5492 defines capability advertisement using an Optional Parameter in the OPEN message. Capabilities allow peers to determine whether both sides support functions needed for the session or address family.

Examples of capabilities encountered in modern BGP include:

  • multiprotocol AFI/SAFI support;
  • route refresh;
  • four-octet ASN support;
  • graceful restart;
  • Add-Path.

A capability being supported locally is not automatically enough. Many capabilities are usable only when appropriately advertised/negotiated with the peer.

Troubleshooting OPEN

If TCP succeeds but the session resets during OPEN processing, inspect:

show ip bgp neighbors <peer>
show logging

and, in a lab or approved capture environment, decode the OPEN and any subsequent NOTIFICATION.


4. KEEPALIVE — confirm and maintain the session

KEEPALIVE is intentionally small. It carries only the common BGP header and no additional data payload.

Its roles include:

  • confirming progression through session establishment after OPEN processing;
  • preventing the negotiated Hold Timer from expiring when no other BGP messages are being exchanged.

A network can therefore have an Established BGP session with ongoing KEEPALIVE traffic even when there are no route changes.

Important distinction:

> KEEPALIVE maintains session liveness; it does not mean a useful prefix is present or forwarding.


5. UPDATE — advertise and withdraw reachability

UPDATE is where BGP carries routing changes.

A base IPv4-unicast UPDATE can contain, conceptually:

  • withdrawn routes;
  • path attributes;
  • NLRI for newly advertised/re-advertised prefixes.

Modern multiprotocol BGP uses attributes such as MP_REACH_NLRI and MP_UNREACH_NLRI to carry reachability for additional address families. Those mechanisms receive dedicated coverage later.

Path attributes

UPDATE messages carry attributes that can include:

  • ORIGIN;
  • AS_PATH;
  • NEXT_HOP;
  • MED;
  • LOCAL_PREF where appropriate within the relevant scope;
  • communities and many extensions.

The series will later separate each important attribute into its own operational treatment.

Withdrawals

When reachability is no longer valid, BGP can withdraw the route. A withdrawal is not a session failure. It is normal control-plane behavior.

This distinction matters during incidents: “the prefix disappeared” could be caused by a valid UPDATE withdrawal while the session remains perfectly Established.


6. NOTIFICATION — report a fatal session/protocol error

A NOTIFICATION communicates an error condition and is associated with terminating the BGP connection under the applicable protocol rules.

The message contains an error code, error subcode and optional data relevant to the error.

Examples of categories include:

  • message header errors;
  • OPEN message errors;
  • UPDATE message errors;
  • hold timer expiry;
  • finite-state machine errors;
  • cease conditions.

Operators should preserve the received/sent NOTIFICATION information before repeatedly resetting the session. It may be the strongest evidence of the actual fault.

Modern UPDATE error handling

RFC 7606 revises error handling for malformed UPDATE messages to reduce cases where a single bad route causes excessive session reset and collateral loss of all routes from the peer. Depending on the specific error, approaches such as treating affected routes as withdrawn or discarding an attribute can be used instead of always resetting the session.

The exact behavior depends on the error type and implementation support. Do not generalize “malformed UPDATE never resets BGP”; that would be incorrect.


7. ROUTE-REFRESH — ask the peer to re-advertise

RFC 2918 defines the Route Refresh Capability and a ROUTE-REFRESH message.

The operational use case is important: an operator changes inbound policy and wants the peer to re-advertise routes so the new policy can be applied, without necessarily tearing down the BGP session.

Route refresh is therefore closely tied to safe policy operations and soft re-evaluation.

Later posts will compare:

  • route refresh;
  • inbound soft reconfiguration;
  • soft reset;
  • hard reset;
  • and the memory/operational trade-offs of each approach.

8. Message lifecycle during normal establishment



BGP Message Types: OPEN, UPDATE, KEEPALIVE, NOTIFICATION and ROUTE-REFRESH
BGP Message Types: OPEN, UPDATE, KEEPALIVE, NOTIFICATION and ROUTE-REFRESH


A simplified successful sequence is:

TCP three-way handshake
        |
        v
OPEN <-------------> OPEN
        |
        v
KEEPALIVE <-------> KEEPALIVE
        |
        v
      Established
        |
        +---- UPDATE advertisements/withdrawals
        |
        +---- KEEPALIVE when needed for liveness
        |
        +---- ROUTE-REFRESH when negotiated/requested

A NOTIFICATION may interrupt the sequence when a relevant protocol/session error occurs.

This diagram is intentionally simplified. Simultaneous connection attempts, implementation timing, multiple UPDATEs and other details can make real captures more complex.


9. Scenario — RETICUX Lab FND-006

Two eBGP routers establish normally. The lab then changes a route origination so the operator can observe message counters and, where an authorized packet capture is available, compare the normal OPEN/KEEPALIVE sequence with an UPDATE withdrawal.

Topology

192.0.2.0/24                                  198.51.100.0/24
    |                                                |
+--------+        203.0.113.0/30                +--------+
| EDGE-A |--------------------------------------| EDGE-B |
|AS64512 |                 eBGP                 |AS64513 |
+--------+                                      +--------+


RETICUX Lab FND-006

RETICUX Lab FND-006



Lab objective

  • Establish the session.
  • Inspect neighbor capabilities and message counters.
  • Remove one originated route without dropping the session.
  • Verify the peer processes a route withdrawal while BGP remains Established.

10. Baseline configuration

EDGE-A

hostname EDGE-A
!
interface GigabitEthernet0/0
 ip address 203.0.113.1 255.255.255.252
 no shutdown
!
interface Loopback10
 ip address 192.0.2.1 255.255.255.0
!
router bgp 64512
 bgp log-neighbor-changes
 neighbor 203.0.113.2 remote-as 64513
 address-family ipv4
  network 192.0.2.0 mask 255.255.255.0
  neighbor 203.0.113.2 activate
 exit-address-family

EDGE-B

hostname EDGE-B
!
interface GigabitEthernet0/0
 ip address 203.0.113.2 255.255.255.252
 no shutdown
!
interface Loopback10
 ip address 198.51.100.1 255.255.255.0
!
router bgp 64513
 bgp log-neighbor-changes
 neighbor 203.0.113.1 remote-as 64512
 address-family ipv4
  network 198.51.100.0 mask 255.255.255.0
  neighbor 203.0.113.1 activate
 exit-address-family

11. Verification before modification

Neighbor capabilities and message statistics

On EDGE-A:

show ip bgp neighbors 203.0.113.2

Inspect fields for:

  • BGP version;
  • state Established;
  • negotiated/advertised capabilities;
  • hold/keepalive information;
  • message statistics including OPEN, KEEPALIVE, UPDATE and NOTIFICATION counters where displayed.

Do not treat the example counter values in vendor documentation as expected exact values for this lab. Counts depend on session history and timing.

Route state

show ip bgp 198.51.100.0 255.255.255.0
show ip route 198.51.100.0 255.255.255.0

Optional packet capture

If the virtual platform permits an authorized capture, capture only the lab link and filter for TCP port 179/BGP. A useful capture should show:

  • TCP setup;
  • OPEN from both directions;
  • KEEPALIVE exchange;
  • UPDATE messages;
  • later withdrawal activity.

No packet capture in this article is represented as actually executed; the post remains LAB VALIDATION RECOMMENDED.


12. Controlled modification — withdraw a route without dropping the session

On EDGE-A:

configure terminal
interface Loopback10
 shutdown
end

Expected control-plane result

The local route 192.0.2.0/24 disappears, so the BGP origin is withdrawn. EDGE-A should communicate the loss of reachability to EDGE-B through UPDATE processing while the BGP session itself can remain Established.

Verify on EDGE-B

show ip bgp summary
show ip bgp 192.0.2.0 255.255.255.0
show ip route 192.0.2.0 255.255.255.0
show ip bgp neighbors 203.0.113.1

Expected evidence:

  • session still Established;
  • route no longer present after withdrawal processing;
  • UPDATE/message counters may increment.

This is the operational difference between route failure and session failure.


13. Fault injection

Illustrative lab — not a real incident.

Lab name

FND-006-PREFIX-WITHDRAWN-SESSION-UP

Fault

The source route for 192.0.2.0/24 is removed by shutting Loopback10 on EDGE-A.

Symptoms

  • BGP session stays Established.
  • One prefix disappears from EDGE-B.
  • Other BGP reachability can remain intact.
  • No NOTIFICATION is required because this is a normal reachability change, not necessarily a protocol error.

Why this fault matters

NOC dashboards often overemphasize neighbor up/down state. Prefix monitoring is equally important because a business-critical route can disappear without the peer resetting.


14. Troubleshooting sequence

``text show ip bgp summary ``

``text show ip route 192.0.2.0 255.255.255.0 ``

``text show ip bgp 192.0.2.0 255.255.255.0 ``

``text show ip bgp neighbors 203.0.113.2 advertised-routes ``

  1. Check whether the neighbor is Established.
  2. Check whether the target prefix exists locally on the originator.
  3. Check local BGP origination.
  4. Check advertised routes.
  5. On the receiver, check whether the route is present in BGP and RIB.
  6. Inspect neighbor message counters for evidence of UPDATE activity.
  7. Use packet capture only if CLI evidence is insufficient or packet-level learning is the objective.
  8. Restore the route source; do not reset the whole BGP session for a normal withdrawal.

15. Root cause and correction

Root cause

The route source disappeared on EDGE-A. BGP correctly withdrew the prefix through UPDATE processing while preserving the session.

Correction

configure terminal
interface Loopback10
 no shutdown
end

After the connected route returns, BGP can advertise the prefix again.


16. Post-fix verification

On EDGE-A:

show ip route 192.0.2.0 255.255.255.0
show ip bgp 192.0.2.0 255.255.255.0
show ip bgp neighbors 203.0.113.2 advertised-routes

On EDGE-B:

show ip bgp summary
show ip bgp 192.0.2.0 255.255.255.0
show ip route 192.0.2.0 255.255.255.0

Then perform an appropriate forwarding test with a source that has a return route.


17. Route refresh operational preview

The lab above demonstrates UPDATE withdrawal and re-advertisement. A separate later lab will change an inbound policy and use route refresh/soft mechanisms to request re-advertisement without a destructive hard reset.

For now, verify capability information using:

show ip bgp neighbors <peer>

and identify whether route-refresh capability is advertised/received on the selected platform.

Do not assume a capability is negotiated merely because the software family supports it generally; verify the actual neighbor session.


18. Rollback

Restore the loopback:

configure terminal
interface Loopback10
 no shutdown
end

Preserve before/after:

show ip bgp summary
show ip bgp neighbors
show ip bgp
show ip route
show logging

If packet capture was used, store the capture with timestamps and topology metadata so it can be correlated with CLI evidence.


19. Production lessons

Protocol lesson

OPEN negotiates, KEEPALIVE maintains, UPDATE changes reachability, NOTIFICATION reports defined error conditions, and ROUTE-REFRESH requests re-advertisement when the capability is available.

Troubleshooting lesson

A missing route does not imply a failed session. Determine whether the event was a withdrawal, policy rejection, best-path change or transport reset.

Observability lesson

Monitor message activity, prefix counts and route changes—not only peer state.

Error-handling lesson

Modern BGP error handling is more nuanced than “bad UPDATE always resets the session.” RFC 7606 defines revised handling for several malformed UPDATE conditions.

Change-management lesson

Use non-destructive refresh/re-evaluation mechanisms where appropriate rather than habitually hard-resetting peers after policy changes.


20. Knowledge check

Q1

Which BGP message carries new reachability and withdrawals?

Answer: UPDATE.

Q2

TCP is established, but the peer rejects session parameters and sends an error before Established. Which messages are most relevant to inspect?

Answer: The OPEN exchange and the resulting NOTIFICATION, along with its error code/subcode and data.

Q3

Why is route refresh operationally valuable?

Answer: It can request re-advertisement of routes so updated inbound policy can be applied without necessarily tearing down the BGP session, provided the capability is supported/negotiated.


21. Sources

  1. RFC 4271 — *A Border Gateway Protocol 4 (BGP-4)*.
  2. RFC 5492 — *Capabilities Advertisement with BGP-4*.
  3. RFC 2918 — *Route Refresh Capability for BGP-4*.
  4. RFC 7606 — *Revised Error Handling for BGP UPDATE Messages*.
  5. Cisco — *BGP Command Reference: show ip bgp neighbors*.
  6. Cisco — *IP Routing Configuration Guide, Cisco IOS XE 17.x*.

Accessed: 2026-08-11.


Featured Post

Day 41 — BGP Confederations: Sub-AS Design, External View and Migration

1. Opening Confederations are another way to scale BGP inside a large administrative domain. They divide the domain into member autonomous systems while presenting a single confederation identifier to external peers. They are powerful, but their operational model is more complex than simply 'using private ASNs inside.' The engineering goal is not to memorize another BGP command. It is to understand what information each speaker is allowed to propagate, what path information can be hidden, and what failure domain is created by the chosen control-plane architecture . 2. Concept and standards behavior RFC 5065 defines AS_CONFED_SEQUENCE and AS_CONFED_SET and how member-AS relationships are represented. Confederation external sessions have eBGP-like properties inside the confederation, while the confederation is presented externally as one AS. Modern guidance must also account for the fact that RFC 9774 prohibits new origination of AS_SET/AS_CONFED_SET in ordinary aggregation c...