Day 11 — BGP Aggregation: Summary Routes, ATOMIC_AGGREGATE, AGGREGATOR and the End of AS_SET

Learning objective

Create and verify a BGP aggregate from contributing routes, explain the purpose of ATOMIC_AGGREGATE and AGGREGATOR, use summary-only safely, and avoid legacy AS_SET origination that is prohibited by RFC 9774.


BGP Aggregation: Summary Routes, ATOMIC_AGGREGATE, AGGREGATOR and the End of AS_SET
BGP Aggregation: Summary Routes, ATOMIC_AGGREGATE, AGGREGATOR and the End of AS_SET



1. Opening — aggregation reduces detail, and that loss of detail is the point

BGP aggregation takes several more-specific routes and represents them with a less-specific prefix.

That can reduce routing-table scale and hide unnecessary internal detail, but it also changes what downstream routers know. A summary route may remain advertised even when one of its component prefixes disappears. Path information can become less precise. Route-origin security becomes harder when an aggregate's origin semantics are ambiguous.

For years, many BGP tutorials taught aggregate-address ... as-set as a normal method to preserve contributing AS information. That guidance is no longer current.

In May 2025, RFC 9774 updated BGP standards and prohibited the origination of AS_SET and AS_CONFED_SET path segments. This is a major curriculum correction that a current BGP series must make explicit.

Day 11 therefore teaches both:

  • how Cisco aggregation works;
  • how current standards constrain which legacy aggregation techniques should no longer be used.

2. Aggregation versus origination

Day 10 covered network and redistribution as ways to originate local reachability.

Aggregation is different.

Cisco IOS XE documentation describes aggregate-address as creating an aggregate when at least one more-specific contributing route exists in the BGP table.

Conceptually:

203.0.113.0/25
203.0.113.128/25
        |
        +---- aggregate ----> 203.0.113.0/24

The aggregate does not prove both component routes are healthy forever. It proves that the conditions for generating the aggregate are currently met.

That distinction creates both operational value and risk.


3. The aggregate-address control

A basic Cisco aggregation command uses the form:

aggregate-address 203.0.113.0 255.255.255.0

Cisco documentation states that aggregation applies to routes that exist in the BGP table and that the aggregate is generated when at least one more-specific route in the range exists.

Without additional suppression, more-specific component routes can continue to be advertised alongside the aggregate.

This is useful when you want:

  • a stable summary;
  • plus specific routes for traffic engineering or failure visibility.

4. summary-only suppresses the contributing specifics from advertisement

Adding:

aggregate-address 203.0.113.0 255.255.255.0 summary-only

instructs Cisco BGP to advertise the aggregate while suppressing more-specific routes covered by it toward neighbors, subject to other policy and implementation behavior.

This can dramatically reduce downstream routing detail.

But the consequence must be understood:

> Once only the summary is visible, a remote network can no longer distinguish which components are currently backed by more-specific reachability inside the aggregating AS.

This is not automatically bad; it is exactly what summarization is intended to do. It simply means the aggregating AS now owns responsibility for forwarding every destination represented by the summary.


5. ATOMIC_AGGREGATE — a warning that path detail was lost

RFC 4271 defines ATOMIC_AGGREGATE as a well-known discretionary attribute.

Its purpose is informational: the aggregate may not preserve all AS-path detail of its contributing routes. RFC 4271 warns that the actual path to destinations represented by the aggregate may not be exactly the path expressed in the aggregate's AS_PATH.

Cisco IOS XE documentation for traditional aggregation describes ATOMIC_AGGREGATE behavior with aggregate-address when path information is summarized rather than represented as an AS_SET.

Do not interpret ATOMIC_AGGREGATE as a preference value. It is not a “make this route atomic/better” knob.


6. AGGREGATOR — identifying the aggregation point

RFC 4271 defines AGGREGATOR as an optional transitive attribute.

A BGP speaker that performs aggregation may include information identifying:

  • the AS that performed the aggregation;
  • the BGP speaker/identifier associated with that aggregation.

This helps operators understand where an aggregate was formed.

However, attribute visibility in actual CLI output must be verified on the selected platform/release and route. Do not fabricate an AGGREGATOR field in expected output merely because the standard allows it.


7. Critical current standard: RFC 9774 prohibits new AS_SET origination

Older BGP standards and many vendor examples described an AS_SET as a way to place the unordered set of contributing AS numbers into an aggregate's AS_PATH.

RFC 6472 first recommended against that practice.

RFC 9774, published in May 2025, advances the guidance to a standards requirement. It updates RFC 4271 and RFC 5065 and prohibits originating BGP routes containing AS_SET or AS_CONFED_SET path segments.

Why?

Key reasons include:

  • ambiguous route-origin semantics;
  • complications for RPKI-based security;
  • inconsistent or unstable AS_PATH origin interpretation;
  • implementation complexity;
  • limited real-world value.

Therefore this series will not use aggregate-address ... as-set as a recommended production configuration.

Cisco syntax caveat

Cisco documentation may still expose or describe an as-set keyword because implementation documentation can outlive evolving protocol standards.

If the selected IOS XE image accepts the command, that does not make new AS_SET origination appropriate under current IETF standards.

This is exactly why the project separates:

  • standards behavior;
  • vendor CLI availability;
  • recommended production practice.

8. Scenario — Summit Aggregate Boundary

Illustrative lab — not a real incident.

Objective

R1 originates two /25 component prefixes and generates a /24 aggregate toward R2. We first advertise the aggregate plus specifics. Then we enable summary-only. Finally, we remove one component route while leaving the other present to demonstrate that the aggregate can continue to exist even though part of the summarized space has lost its contributing route.

Topology

BGP Aggregation: Summary Routes, ATOMIC_AGGREGATE, AGGREGATOR and the End of AS_SET
BGP Aggregation: Summary Routes, ATOMIC_AGGREGATE, AGGREGATOR and the End of AS_SET


BGP Route Origination: Network Statements, Redistribution and Safe Export Boundaries
203.0.113.0/25 ------\
                       >--- R1 AS65010 --- eBGP --- R2 AS65020
203.0.113.128/25 ----/          |
                         203.0.113.0/24 aggregate

Standards rule

No AS_SET is generated in this lab.


9. Prerequisites

  • Two IOS XE-capable nodes.
  • IOS XE 17.18.x documentation baseline.
  • Console access.
  • Two local component prefixes backed by static routes.
  • Independent management path.

10. Baseline configuration

R1

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.128 Null0
ip route 203.0.113.128 255.255.255.128 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.128
  network 203.0.113.128 mask 255.255.255.128
  aggregate-address 203.0.113.0 255.255.255.0
  neighbor 192.0.2.2 activate
 exit-address-family

R2

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

11. Verification before modification

R1

show ip bgp 203.0.113.0 255.255.255.0
show ip bgp 203.0.113.0 255.255.255.128
show ip bgp 203.0.113.128 255.255.255.128
show ip bgp neighbors 192.0.2.2 advertised-routes

R2

show ip bgp
show ip bgp 203.0.113.0 255.255.255.0

Expected logical state:

  • aggregate exists;
  • both components exist;
  • without summary-only, the components remain eligible to be advertised alongside the aggregate, subject to policy.

12. Controlled modification — suppress the specifics

On R1:

configure terminal
router bgp 65010
 address-family ipv4 unicast
  no aggregate-address 203.0.113.0 255.255.255.0
  aggregate-address 203.0.113.0 255.255.255.0 summary-only
 end

Use the least disruptive route re-advertisement method required by the platform if immediate policy propagation is needed.

Expected control-plane result

R2 should retain the /24 aggregate while the two /25 specifics are suppressed from advertisement by the aggregate's summary-only behavior.


13. Fault injection — lose one component but keep the summary

Illustrative lab — not a real incident.

Lab name

Summit Aggregate Boundary — Hidden Component Loss

Fault

On R1, remove one component route and its network statement:

configure terminal
no ip route 203.0.113.128 255.255.255.128 Null0
router bgp 65010
 address-family ipv4 unicast
  no network 203.0.113.128 mask 255.255.255.128
 end

Expected control-plane observation

Because 203.0.113.0/25 still contributes to the aggregate, the /24 can remain generated and advertised.

Operational implication

R2 still sees the summary and cannot infer from that summary alone that one component disappeared.

The actual forwarding result for destinations in the missing component depends on R1's remaining RIB/FIB and network design. Validate it rather than claiming a blackhole automatically.


14. Troubleshooting workflow

  1. Confirm the remote peer still sees the /24 aggregate.
  2. Check whether the missing service maps to a specific component prefix.
  3. On R1, inspect the BGP table for both /25 components.
  4. Inspect the local RIB for both component source routes.
  5. Confirm summary-only is suppressing remote visibility of specifics.
  6. Determine whether the aggregate remains because another component still exists.
  7. Test forwarding to addresses in the healthy component and the failed component separately.
  8. Restore the missing component only if its underlying service/reachability is actually valid.
  9. Re-verify aggregate and component state.
  10. Decide whether the design requires conditional aggregation or additional monitoring to avoid masking this failure class.

15. Root cause and correction

Root cause

One contributing /25 disappeared while another remained, so the /24 aggregate continued to satisfy the aggregate-generation condition.

Correction

Restore the missing component only when its underlying reachability is intentionally available:

ip route 203.0.113.128 255.255.255.128 Null0
router bgp 65010
 address-family ipv4 unicast
  network 203.0.113.128 mask 255.255.255.128

In a real design, do not restore a fake route merely to make BGP look healthy. The source route must represent intentional forwarding behavior.


16. Post-fix verification

On R1:

show ip route 203.0.113.128 255.255.255.128
show ip bgp 203.0.113.128 255.255.255.128
show ip bgp 203.0.113.0 255.255.255.0

On R2:

show ip bgp 203.0.113.0 255.255.255.0

If summary-only remains configured, R2 is expected to validate the summary rather than the hidden component. Component health must be monitored inside the aggregating AS.


17. Rollback

To return to aggregate-plus-specific advertisement:

router bgp 65010
 address-family ipv4 unicast
  no aggregate-address 203.0.113.0 255.255.255.0 summary-only
  aggregate-address 203.0.113.0 255.255.255.0

Do not use an as-set rollback in new designs. Current RFC 9774 requirements prohibit originating AS_SET/AS_CONFED_SET path segments.


18. Production design considerations

Summaries create ownership

If you advertise a /24, your AS is telling neighbors it can handle traffic for the entire /24, not only whichever /25 happens to be healthy today.

Monitor components internally

External visibility of the summary cannot replace internal monitoring of component reachability.

Avoid legacy AS_SET habits

Old lab manuals and remembered CLI patterns may still teach as-set. Current standards supersede that guidance.

Validate RPKI implications

Aggregation changes origin and prefix relationships. When RPKI is introduced later in the series, ROA coverage and MaxLength design must align with the prefixes actually originated.


19. Production lessons

Standards lesson

RFC 9774 is a major post-RFC-4271 update: new AS_SET and AS_CONFED_SET origination is prohibited.

Design lesson

Aggregation reduces routing detail and transfers responsibility for hidden component health to the aggregating AS.

Troubleshooting lesson

A healthy aggregate does not prove every contributing prefix is healthy.

Security lesson

Ambiguous aggregate origins complicate route-origin security; this is one reason AS_SET was deprecated and then prohibited.

Change-management lesson

summary-only changes what downstream operators can observe. Treat that as an observability change as well as a routing change.


20. Knowledge check

Q1

Can a BGP aggregate remain advertised after one component route disappears?

Answer: Yes, if the implementation's aggregate-generation condition is still satisfied by another contributing more-specific route.

Q2

Should a new production design use aggregate-address ... as-set simply because the Cisco CLI accepts it?

Answer: No. RFC 9774 prohibits originating AS_SET and AS_CONFED_SET path segments. Vendor CLI availability does not override current standards requirements.

Q3

What does summary-only change operationally?

Answer: It suppresses advertisement of the covered more-specific routes while retaining the aggregate, reducing downstream detail and increasing the importance of internal component monitoring.


21. Sources

  1. RFC 4271 — *A Border Gateway Protocol 4 (BGP-4)* — aggregation, ATOMIC_AGGREGATE, AGGREGATOR and route aggregation behavior.
  2. RFC 9774 — *Deprecation of AS_SET and AS_CONFED_SET in BGP* — published May 2025; updates RFC 4271/RFC 5065 and prohibits origination of AS_SET/AS_CONFED_SET path segments.
  3. Cisco — *IP Routing Configuration Guide, Cisco IOS XE 17.x: BGP 4 / Configuring a Basic BGP Network* — aggregate-address, summary-only and legacy as-set CLI behavior.
  4. Cisco — *Understand Route Aggregation in BGP* — aggregation examples and attribute-loss considerations.

Accessed: 2026-08-11.


Day 10 — BGP Route Origination: Network Statements, Redistribution and Safe Export Boundaries

Learning objective

Originate prefixes deliberately using BGP network statements and policy-controlled redistribution, prove the underlying source route before advertisement, and recognize the blast radius created by unfiltered redistribution.



BGP Route Origination



1. Opening — BGP cannot advertise what you never intended to originate

Many routing incidents begin before best-path selection, communities or traffic engineering ever matter.

The route was simply originated incorrectly.

An engineer may configure a network statement for a prefix that is not actually present in the local routing table. Another may redistribute connected routes and unintentionally expose infrastructure links. A static route used only as an origination anchor may disappear when tracking changes. A route map may be removed while the redistribute command remains, turning a narrow export policy into a broad one.

Route origination is therefore a control boundary.

The core question is:

> Which local reachability is this BGP speaker authorized to transform into BGP NLRI?

Day 10 treats that question as an engineering and security problem, not merely a CLI exercise.


2. Standards behavior versus Cisco origination methods

RFC 4271 defines BGP's protocol behavior but does not standardize Cisco CLI such as network or redistribute connected.

Cisco IOS XE provides multiple ways to place local reachability into the BGP table. Common mechanisms include:

  • the BGP network command;
  • redistribution from another routing source;
  • aggregate-address for aggregation;
  • conditional route injection and specialized features in more advanced designs.

This post focuses on the first two. Aggregation is Day 11.

Always distinguish:

  • protocol route advertisement from RFC behavior;
  • local route origination mechanism from Cisco implementation behavior.

3. The BGP network statement is not an interface-enabling command

In several interior routing protocols, a network command historically influences interfaces or protocol participation. In BGP, the purpose is different.

Cisco documents the BGP network command as specifying a network local to the AS and adding it to the BGP routing table when the relevant local route conditions are met.

Operationally, engineers should verify the intended prefix exists in the local routing information used by the implementation before expecting it to be originated.

For a documentation lab, a common pattern is:

ip route 203.0.113.0 255.255.255.0 Null0

followed by:

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

The Null0 route is an origination anchor, not proof of useful end-to-end service.


4. Why exact-prefix verification matters

Suppose an engineer intends to originate 203.0.113.0/24 but only has more-specific routes such as two /25s.

Do not assume BGP will synthesize the /24 simply because all addresses are covered by more-specific reachability. Route origination and aggregation are separate mechanisms.

Before changing BGP, verify:

show ip route 203.0.113.0 255.255.255.0

Then verify BGP:

show ip bgp 203.0.113.0 255.255.255.0

This distinction is fundamental to troubleshooting “network statement configured, route not advertised” incidents.


5. Redistribution is powerful because it changes the trust boundary

Redistribution tells BGP to import routes learned from another source or routing domain.

Examples include:

  • connected;
  • static;
  • OSPF;
  • IS-IS;
  • EIGRP;
  • other supported sources.

The risk is obvious: a broad route source can contain far more prefixes than you intend to export externally.

This is why production redistribution should normally be paired with explicit policy that defines the permitted prefixes and, where needed, the attributes applied to them.

A rule worth adopting:

> Never treat redistribute connected as a harmless shortcut on an Internet-facing BGP edge.

Connected routes may include transit links, management networks, infrastructure addressing and temporary interfaces.


6. Use policy to constrain redistribution

A safe teaching pattern is:

  1. define a prefix list containing only authorized routes;
  2. match it in a route map;
  3. attach the route map to redistribution;
  4. verify the resulting BGP table before advertising externally.

Example:

ip prefix-list BGP-ORIGIN-CONNECTED seq 10 permit 203.0.113.128/25
!
route-map REDIST-CONNECTED permit 10
 match ip address prefix-list BGP-ORIGIN-CONNECTED
!
router bgp 65010
 address-family ipv4 unicast
  redistribute connected route-map REDIST-CONNECTED

Full route-map engineering comes later. Here the policy exists to enforce an origination boundary.


7. Origin code is not the whole route-source story

Cisco BGP displays familiar origin codes such as:

  • i
  • e
  • ?

A route introduced with a BGP network statement is commonly associated with IGP origin in BGP terminology, while redistributed routes commonly appear with INCOMPLETE origin unless policy changes behavior.

Do not over-interpret these labels. i does not mean the prefix is literally learned through your current IGP. ? does not mean the route is necessarily broken. These are standardized BGP ORIGIN semantics and historical naming.

The actual source of local reachability must be verified from routing configuration and the RIB.


8. Scenario — Beacon Origination Boundary

Illustrative lab — not a real incident.

Objective

R1 originates one service prefix with a BGP network statement and one connected service prefix through policy-controlled redistribution. A second connected infrastructure prefix must never enter BGP.

Topology

BGP Route Origination


BGP Path-Attribute Taxonomy: Mandatory, Discretionary, Transitive and Non-Transitive
Service A: 203.0.113.0/25  -- static Null0 anchor
Service B: 203.0.113.128/25 -- loopback connected
Transit:   192.0.2.0/30     -- infrastructure, must not be originated

       R1 AS65010 ---------------- R2 AS65020
        192.0.2.1/30            192.0.2.2/30

Success criteria

R2 receives:

  • 203.0.113.0/25;
  • 203.0.113.128/25.

R2 must not receive 192.0.2.0/30 as an originated customer/service prefix from R1.


9. Prerequisites

  • Two IOS XE-capable nodes.
  • IOS XE 17.18.x documentation baseline.
  • One loopback on R1 for the connected service prefix.
  • One static Null0 route for the network-statement prefix.
  • Console/management access.

10. Baseline configuration

R1

hostname R1
!
interface GigabitEthernet0/0
 ip address 192.0.2.1 255.255.255.252
 no shutdown
!
interface Loopback100
 ip address 203.0.113.129 255.255.255.128
!
ip route 203.0.113.0 255.255.255.128 Null0
!
ip prefix-list BGP-ORIGIN-CONNECTED seq 10 permit 203.0.113.128/25
!
route-map REDIST-CONNECTED permit 10
 match ip address prefix-list BGP-ORIGIN-CONNECTED
!
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.128
  redistribute connected route-map REDIST-CONNECTED
  neighbor 192.0.2.2 activate
 exit-address-family

R2

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

11. Verification before modification

R1 source-route checks

show ip route 203.0.113.0 255.255.255.128
show ip route 203.0.113.128 255.255.255.128
show ip route 192.0.2.0 255.255.255.252

R1 BGP checks

show ip bgp 203.0.113.0
show ip bgp 203.0.113.128
show ip bgp 192.0.2.0
show ip bgp neighbors 192.0.2.2 advertised-routes

R2 checks

show ip bgp
show ip bgp 203.0.113.0
show ip bgp 203.0.113.128

The infrastructure transit prefix must not appear as an intentionally originated BGP service route.


12. Controlled modification — remove the redistribution filter

This is intentionally risky and must be limited to the isolated lab.

On R1, change:

router bgp 65010
 address-family ipv4 unicast
  no redistribute connected route-map REDIST-CONNECTED
  redistribute connected

Expected risk

Additional connected prefixes may become eligible for redistribution into BGP, including the inter-router transit network.

The exact resulting advertisement set depends on platform behavior, route state and outbound policy. The purpose is to demonstrate why unfiltered redistribution expands the origination boundary.


13. Fault injection

Illustrative lab — not a real incident.

Lab name

Beacon Origination Boundary — Connected Leak

Fault

Replace policy-controlled connected redistribution with unfiltered redistribute connected.

Symptom

R2 receives a prefix that was never intended to be part of the service advertisement set.

Security implication

Internal infrastructure addressing can escape into an external routing relationship.


14. Troubleshooting workflow

  1. Identify the unexpected prefix on R2.
  2. Determine from which neighbor it was learned.
  3. Inspect the route's origin and AS_PATH, but do not assume the origin code reveals the exact local source.
  4. On R1, identify the source of the prefix in the RIB.
  5. Inspect BGP origination configuration.
  6. Check whether redistribution is filtered.
  7. Check whether the route map still exists and is still attached.
  8. Restore the narrow redistribution policy.
  9. Verify the unintended prefix is withdrawn.
  10. Confirm the two intended service prefixes remain advertised.

15. Root cause and correction

Root cause

The redistribution command was broadened from a route-map-controlled import to unrestricted connected-route redistribution.

Corrected configuration

configure terminal
router bgp 65010
 address-family ipv4 unicast
  no redistribute connected
  redistribute connected route-map REDIST-CONNECTED
 end

Why it works

The route map constrains connected routes imported into BGP to the prefix list explicitly authorized for service origination.


16. Post-fix verification

On R1:

show ip bgp
show ip bgp neighbors 192.0.2.2 advertised-routes

On R2:

show ip bgp

Confirm:

  • both intended /25 service prefixes remain;
  • the transit /30 is absent;
  • the eBGP session remains stable.

17. Rollback

The rollback is the same as the correction: remove unrestricted redistribution and restore the route-map-controlled command.

Before any production redistribution change, save:

  • current BGP table;
  • current advertised routes;
  • relevant RIB entries;
  • prefix-list/route-map configuration;
  • a candidate rollback configuration.

18. Production design patterns

Prefer explicit origination

For a small set of aggregate/service prefixes, explicit network statements backed by deliberate RIB anchors are often easier to audit than broad redistribution.

If redistributing, use allow-list policy

An outbound safety policy can add another boundary, but do not rely on one layer alone when origination can be constrained at the source.

Monitor advertised prefixes

Prefix-count monitoring is useful, but exact-prefix validation is stronger. One accidental /30 may be operationally significant without noticeably changing a large prefix count.

Separate reachability from ownership

The fact that a route exists in the RIB does not mean BGP is authorized to advertise it to the Internet or a partner.


19. Production lessons

Configuration lesson

A BGP network statement and redistribution are different origination mechanisms with different failure modes.

Troubleshooting lesson

Prove the source route first, then prove BGP origination, then prove neighbor advertisement.

Security lesson

Redistribution is an export boundary. Unfiltered redistribution can expose infrastructure or private routes.

Change-management lesson

Removing a route map without removing or correcting the associated redistribute command can broaden behavior unexpectedly. Cisco documentation explicitly warns about redistribution continuing when filtering is removed.

Monitoring lesson

Track both intended advertisements and forbidden-prefix absence.


20. Knowledge check

Q1

A network 203.0.113.0 mask 255.255.255.0 statement exists, but the route is not in BGP. What should you verify first?

Answer: Verify that the intended source prefix exists in the local routing information required by the Cisco implementation, then inspect the BGP table and policy.

Q2

Why is redistribute connected risky on an edge router?

Answer: It can import every eligible connected route into BGP, including transit, infrastructure or management prefixes that were never meant for external advertisement.

Q3

Does BGP origin code ? automatically mean the route is invalid?

Answer: No. It commonly reflects INCOMPLETE origin semantics, often associated with redistribution. Validity and policy acceptance are separate questions.


21. Sources

  1. RFC 4271 — *A Border Gateway Protocol 4 (BGP-4)* — protocol route advertisement and ORIGIN behavior.
  2. Cisco — *IP Routing Configuration Guide, Cisco IOS XE 17.x: Configuring a Basic BGP Network* — network, route origination, aggregation and redistribution guidance.
  3. Cisco — *Cisco IOS IP Routing: BGP Command Reference* — BGP verification commands.
  4. Cisco IOS XE documentation warning on redistribution CLI removal — removing filtering while leaving redistribution can produce unexpected redistribution.

Accessed: 2026-08-11.


Day 9 — BGP Path-Attribute Taxonomy: Mandatory, Discretionary, Transitive and Non-Transitive

Learning objective

Classify BGP path attributes by well-known/optional and transitive/non-transitive behavior, interpret the purpose of attribute flags, and use observed attributes to reason about propagation without confusing attribute presence with best-path preference.


BGP Path-Attribute Taxonomy



1. Opening — BGP advertises a destination and a story about how to reach it

A prefix by itself says almost nothing about routing policy.

The operational value of BGP comes from the information attached to reachability. AS_PATH can reveal the sequence of autonomous systems. NEXT_HOP tells the receiver what forwarding resolution must succeed. ORIGIN records how the route entered BGP in the standardized origin model. LOCAL_PREF can influence exit selection inside an AS. Communities can carry policy tags. Aggregation can add other attributes.

These values are not all treated the same way. Some must be understood by every BGP implementation. Some are optional. Some can cross AS boundaries even when an intermediate system does not understand them. Others are intentionally local to a narrower scope.

Before manipulating attributes, engineers need to understand their taxonomy.


2. The four RFC 4271 categories

RFC 4271 groups path attributes into four categories:

  1. Well-known mandatory
  2. Well-known discretionary
  3. Optional transitive
  4. Optional non-transitive

This classification answers two questions:

  • Must every conforming BGP implementation recognize the attribute?
  • If the attribute is optional, should an implementation that does not recognize it still propagate it?

Those are protocol questions. They are not the same as “is this attribute important?” or “does this attribute affect best path?”


3. Well-known mandatory attributes

Well-known attributes must be recognized by BGP implementations. Mandatory attributes must appear when required for the type of UPDATE being advertised.

For the base IPv4-unicast model, the classic well-known mandatory attributes are:

  • ORIGIN
  • AS_PATH
  • NEXT_HOP

ORIGIN

The standardized ORIGIN values are IGP, EGP and INCOMPLETE. The names are historical and should not be confused with the entire modern route-source story.

AS_PATH

AS_PATH records autonomous-system path information and supports loop prevention as well as policy decisions.

NEXT_HOP

NEXT_HOP identifies the forwarding next hop associated with the advertised path in the relevant base behavior. Its reachability is critical; a path with an unresolved next hop cannot simply be treated as usable forwarding information.

Each receives deeper coverage later.


4. Well-known discretionary attributes

Well-known discretionary attributes must be understood by BGP implementations but are not required to appear in every UPDATE.

Important examples in RFC 4271 include:

  • LOCAL_PREF
  • ATOMIC_AGGREGATE

LOCAL_PREF is normally significant within an autonomous system and is used for policy preference among internal BGP speakers. ATOMIC_AGGREGATE relates to loss of path-detail during aggregation and is covered with aggregation on Day 11.

The word discretionary does not mean unimportant. It describes whether the attribute must be present in every applicable route advertisement.


5. Optional transitive attributes

Optional attributes are not required to be recognized by every BGP implementation.

A transitive optional attribute is designed to be carried onward across BGP speakers even when a speaker does not fully understand the attribute, subject to the protocol rules.

Examples include:

  • AGGREGATOR;
  • the standard COMMUNITIES attribute defined by RFC 1997;
  • several later extensions designed to preserve policy or metadata across AS boundaries.

This behavior supports extensibility. New attributes can be introduced without requiring every intermediate BGP implementation to understand their semantics before the information can traverse the network.

That extensibility also increases the importance of robust error handling, which is one reason RFC 7606 matters.


6. Optional non-transitive attributes

An optional non-transitive attribute is not required to be propagated by a BGP speaker that does not recognize it.

A well-known example is:

  • MULTI_EXIT_DISC (MED)

MED can influence how one AS signals a preference to another for entering through different links, but its comparison rules and operational scope are nuanced. It will receive dedicated coverage later rather than being treated as “smaller always wins everywhere.”


7. Attribute flags: the wire carries behavior hints

Each path attribute includes flags that describe properties of the attribute. In the RFC 4271 encoding, important flag concepts include:

  • Optional
  • Transitive
  • Partial
  • Extended Length

The Optional and Transitive bits align with the classification model.

The Partial bit is relevant to optional transitive information and can indicate that an attribute has been passed along without complete recognition/processing in the path. The detailed rules matter when implementing or decoding BGP, but the operator's key lesson is that an attribute header carries protocol-behavior metadata, not just a type number and value.

The Extended Length flag allows a larger length field when an attribute value exceeds the one-octet-length encoding range.

Packet analysis tools decode these flags, but engineers should still understand what the decoder is representing.


8. Attribute category does not equal best-path order

A common learning mistake is to mix two separate frameworks:

Attribute classification

Answers questions such as:

  • Is the attribute mandatory?
  • Is it recognized by all BGP implementations?
  • Is it transitive?

Best-path selection

Answers:

  • Which candidate path does this implementation prefer?

An optional transitive community might be operationally critical but not directly be a native step in best-path selection until policy maps it into a preference. Conversely, a well-known mandatory attribute such as AS_PATH can participate directly in best-path logic.

Keep the models separate.


9. Scenario — Atlas Attribute Relay

Illustrative lab — not a real incident.

Objective

Use three autonomous systems to observe classic mandatory attributes and demonstrate explicit propagation of a standard community, an optional transitive attribute.

Topology

BGP Path-Attribute Taxonomy: Mandatory, Discretionary, Transitive and Non-Transitive
BGP Path-Attribute Taxonomy: Mandatory, Discretionary, Transitive and Non-Transitive




203.0.113.0/24
     |
 R1 AS65010
192.0.2.1/30
     |
 R2 AS65020
198.51.100.1/30
     |
 R3 AS65030

R1 originates the route. R1 also attaches community 65010:90 using an outbound route map and sends standard communities to R2. R2 is configured to send communities onward to R3.

The lab is intentionally limited: it uses community tagging only to make transitive propagation visible. Full community policy engineering comes later.


10. Prerequisites

  • Three IOS XE-capable lab nodes.
  • Cisco IOS XE 17.18.x documentation baseline.
  • Direct eBGP links R1–R2 and R2–R3.
  • Console access.
  • Optional packet capture.

11. Baseline configuration

R1

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
!
route-map TAG-COMM permit 10
 set community 65010:90 additive
!
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
  neighbor 192.0.2.2 route-map TAG-COMM out
  neighbor 192.0.2.2 send-community
 exit-address-family

R2

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

R3

hostname R3
interface GigabitEthernet0/0
 ip address 198.51.100.2 255.255.255.252
 no shutdown
!
router bgp 65030
 bgp router-id 10.30.30.3
 neighbor 198.51.100.1 remote-as 65020
 address-family ipv4 unicast
  neighbor 198.51.100.1 activate
 exit-address-family

12. Verification before modification

On R2:

show ip bgp 203.0.113.0
show ip bgp neighbors 192.0.2.1 routes
show ip bgp neighbors 198.51.100.2 advertised-routes

On R3:

show ip bgp 203.0.113.0
show ip bgp summary

What to identify

For the target route, record:

  • ORIGIN;
  • AS_PATH;
  • NEXT_HOP;
  • community value if displayed;
  • whether the route is valid/best according to the local table;
  • the difference between attributes received at R2 and those seen at R3.

Do not invent expected formatting. Use the actual command output from the selected image during execution.


13. Controlled modification — stop community propagation at R2

On R2:

configure terminal
router bgp 65020
 address-family ipv4 unicast
  no neighbor 198.51.100.2 send-community
 end

Use an appropriate outbound soft refresh/re-advertisement mechanism supported by the lab image if needed to apply the change without an unnecessary hard reset.

Expected result

R3 should continue receiving the prefix and mandatory routing information, while the standard community is no longer sent onward by R2 under the intended Cisco behavior.

This demonstrates an important implementation point: an attribute being transitive in the protocol does not remove the need for vendor-specific configuration that controls whether certain attributes are actually transmitted to a given neighbor.


14. Fault injection

Illustrative lab — not a real incident.

Lab name

Atlas Attribute Relay — Lost Policy Tag

Fault

Remove send-community toward R3.

Symptom

Reachability remains present, but a downstream policy tag disappears.

Expected BGP state

All sessions remain Established.

Operational risk

If R3 depends on that community for routing policy, traffic behavior may change even though the prefix and AS_PATH remain visible.


15. Troubleshooting workflow

  1. Confirm that the prefix is still present at R3.
  2. Confirm that R1 still attaches the intended community.
  3. Confirm R2 receives the community.
  4. Compare R2 inbound route detail with R3 received route detail.
  5. Check outbound community transmission configuration on R2.
  6. Confirm that no outbound policy intentionally removes the community.
  7. Re-advertise/refresh safely if required.
  8. Verify the community reappears at R3.
  9. Confirm no unintended route preference changed.
  10. Preserve before/after route details.

The key principle is that an “attribute problem” is not automatically a “reachability problem.”


16. Root cause and correction

Root cause

R2 no longer sends standard communities to R3.

Correction

configure terminal
router bgp 65020
 address-family ipv4 unicast
  neighbor 198.51.100.2 send-community
 end

Why it works

Cisco IOS XE controls community transmission to a neighbor with explicit neighbor configuration. Restoring that behavior allows the standard community attached upstream to be propagated as intended, subject to outbound policy.


17. Post-fix verification

On R2:

show ip bgp 203.0.113.0
show ip bgp neighbors 198.51.100.2 advertised-routes

On R3:

show ip bgp 203.0.113.0

Verify both:

  • route reachability;
  • attribute presence.

A successful ping alone does not prove policy metadata has been restored.


18. Rollback

To return to the faulted state, remove send-community; to restore the intended state, re-add it. In production, never use this as a casual test if downstream policy relies on communities.

Preserve route-detail output and policy configuration before changing attribute propagation.


19. Production lessons

Standards lesson

Path-attribute taxonomy describes recognition and propagation behavior; it does not define the entire routing-policy meaning of an attribute.

Design lesson

Optional transitive attributes make BGP extensible, but operators still need explicit policy and vendor-aware transmission controls.

Troubleshooting lesson

Inspect the entire route object: NLRI plus the attributes required by the intended policy.

Change-management lesson

A route can remain present while a missing attribute silently changes downstream behavior.

Security lesson

Communities and other policy metadata should be accepted, rewritten or stripped deliberately at trust boundaries rather than blindly propagated.


20. Knowledge check

Q1

What are the four RFC 4271 path-attribute categories?

Answer: Well-known mandatory, well-known discretionary, optional transitive and optional non-transitive.

Q2

Is “optional transitive” the same as “always used in best-path selection”?

Answer: No. Transitivity describes propagation behavior, not whether the attribute is a direct best-path criterion.

Q3

Why can a route remain reachable after a community disappears?

Answer: The mandatory reachability/path information can still be present while the optional policy tag is no longer transmitted. The downstream policy effect may change even though the route itself survives.


21. Sources

  1. RFC 4271 — *A Border Gateway Protocol 4 (BGP-4)* — path-attribute categories, flags and base attributes.
  2. RFC 1997 — *BGP Communities Attribute* — standard communities as an optional transitive attribute.
  3. RFC 7606 — *Revised Error Handling for BGP UPDATE Messages* — robust handling of malformed path attributes.
  4. Cisco — *IP Routing Configuration Guide, Cisco IOS XE 17.x* — BGP neighbor/address-family policy behavior.
  5. Cisco — *Cisco IOS IP Routing: BGP Command Reference* — route and neighbor inspection commands.

Accessed: 2026-08-11.


Day 8 — AFI/SAFI and BGP Address Families: How One Protocol Carries Different Kinds of Reachability

Learning objective

Explain how AFI/SAFI pairs identify BGP address families, distinguish capability negotiation from Cisco address-family activation, and troubleshoot a family-specific route-exchange failure without assuming the entire BGP session is down.


AFI/SAFI and BGP Address Families



1. Opening — “BGP is Established” still leaves one more question

Modern BGP is not only an IPv4-unicast protocol.

The same BGP framework is used to carry many kinds of reachability information: IPv6 unicast, VPN routes, EVPN information, labeled routes, FlowSpec information and more. The mechanism that makes this scalable is the multiprotocol extension to BGP.

That creates an important troubleshooting distinction:

> A BGP session can be Established while a particular address family is not negotiated, not activated, or not exchanging any routes.

Engineers therefore need to read neighbor state at two levels:

  1. transport/session state;
  2. address-family state.

Day 8 builds that model from AFI and SAFI upward.


2. AFI — Address Family Identifier

The Address Family Identifier (AFI) identifies the broad network-layer address family.

IANA maintains the Address Family Numbers registry. Common examples relevant to BGP include:

  • IPv4;
  • IPv6;
  • L2VPN information and other registered families.

Do not memorize numbers without context. The operational skill is to recognize that the AFI identifies the broad address family, while the SAFI further qualifies how routes in that family are to be interpreted.


3. SAFI — Subsequent Address Family Identifier

The Subsequent Address Family Identifier (SAFI) is interpreted together with the AFI.

Examples include semantics such as:

  • unicast;
  • multicast;
  • MPLS-labeled/VPN-related reachability;
  • EVPN;
  • FlowSpec;
  • other registered purposes.

IANA maintains a SAFI registry and it evolves as new BGP applications are standardized.

The key rule is:

> AFI alone is not enough. The AFI/SAFI pair identifies the BGP address-family context.

This is why engineers say “IPv4 unicast” rather than simply “IPv4” when precise control-plane meaning matters.


4. RFC 4760: MP_REACH_NLRI and MP_UNREACH_NLRI

RFC 4760 defines Multiprotocol Extensions for BGP-4.

Two attributes are central:

  • MP_REACH_NLRI — conveys reachable destinations plus next-hop information for a multiprotocol address family;
  • MP_UNREACH_NLRI — conveys withdrawn destinations for a multiprotocol address family.

This differs from the base IPv4-unicast UPDATE layout described on Day 7, where withdrawn routes and NLRI have dedicated message sections.

For troubleshooting, first identify which encoding is relevant to the address family you are investigating. An engineer looking for an IPv6 withdrawal in only the base IPv4 Withdrawn Routes field is inspecting the wrong place.


5. Address-family support is negotiated through BGP capabilities

RFC 4760 uses BGP capability advertisement so peers can indicate supported AFI/SAFI combinations.

RFC 5492 defines the general BGP capability-advertisement framework used in OPEN messages.

A practical consequence follows:

  • local software support does not prove the remote peer supports the same family;
  • configured address-family intent does not prove successful negotiation;
  • an Established session does not prove all desired address families are active.

Therefore show ip bgp neighbors or family-specific neighbor output is valuable because it exposes negotiated capabilities and per-family information.


6. Cisco configuration has a separate activation concept

On Cisco IOS XE, a BGP neighbor can be defined at router scope and then activated under relevant address families.

For example:

router bgp 65010
 neighbor 192.0.2.2 remote-as 65020
 address-family ipv4 unicast
  neighbor 192.0.2.2 activate
 exit-address-family

Cisco documentation also shows separate address-family activation for non-default families. In configurations that use no bgp default ipv4-unicast, operators explicitly activate even IPv4 unicast.

This is useful in production because it makes intended family membership clear and avoids accidental assumptions about default activation behavior.


7. One TCP/BGP neighbor can advertise capabilities for multiple families

The architectural value of MP-BGP is that the BGP session framework can support more than one address-family capability.

A neighbor's capability section can therefore list multiple address families as advertised/received. Cisco documentation provides examples where a peer negotiates IPv4 unicast and IPv4 multicast address-family capabilities on the same BGP connection.

The lab uses this pattern because it demonstrates family separation without requiring a second transport session.

Important caveat:

> Sharing the BGP connection does not merge the routing information. Each address family retains its own NLRI semantics, policy context and routing database behavior.

This becomes crucial later for VPNv4, VPNv6 and EVPN.


8. Scenario — Harbor Multiprotocol peer

Illustrative lab — not a real incident.

Objective

R1 and R2 establish one IPv4 eBGP neighbor relationship. We explicitly activate IPv4 unicast and IPv4 multicast address families. Then we remove activation for one family and demonstrate that the overall BGP connection can remain healthy while that family's route exchange stops.

Topology


AFI/SAFI and BGP Address Families: How One Protocol Carries Different Kinds of Reachability
AFI/SAFI and BGP Address Families: How One Protocol Carries Different Kinds of Reachability


R1 / AS65010                              R2 / AS65020
192.0.2.1/30 -------- TCP/BGP -------- 192.0.2.2/30
        |                                     |
  AFI IPv4 / SAFI unicast               IPv4 unicast
  AFI IPv4 / SAFI multicast             IPv4 multicast

Documentation prefixes

  • Unicast test prefix: 203.0.113.0/25
  • Multicast-RPF test prefix: 203.0.113.128/25

The second prefix is still an IPv4 network prefix. “Multicast” here identifies the BGP SAFI and routing semantics; the NLRI itself is not a multicast group address.


9. Prerequisites

  • Cisco IOS XE 17.18.x documentation baseline.
  • Lab image with IPv4 multicast address-family BGP support.
  • Two directly connected routers.
  • Console access.
  • Optional packet capture for OPEN capability inspection.

Because virtual image feature support can differ, this lab remains LAB VALIDATION RECOMMENDED until executed on the exact chosen image.


10. Baseline configuration

R1

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.128 Null0
ip route 203.0.113.128 255.255.255.128 Null0
!
router bgp 65010
 bgp router-id 10.10.10.1
 no bgp default ipv4-unicast
 neighbor 192.0.2.2 remote-as 65020
 !
 address-family ipv4 unicast
  network 203.0.113.0 mask 255.255.255.128
  neighbor 192.0.2.2 activate
 exit-address-family
 !
 address-family ipv4 multicast
  network 203.0.113.128 mask 255.255.255.128
  neighbor 192.0.2.2 activate
 exit-address-family

R2

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
 no bgp default ipv4-unicast
 neighbor 192.0.2.1 remote-as 65010
 !
 address-family ipv4 unicast
  neighbor 192.0.2.1 activate
 exit-address-family
 !
 address-family ipv4 multicast
  neighbor 192.0.2.1 activate
 exit-address-family

This is a control-plane demonstration. It is not a complete multicast forwarding design.


11. Verification before modification

On both peers:

show ip bgp neighbors 192.0.2.X
show ip bgp summary

On R2, use platform-supported family-specific commands, for example:

show ip bgp ipv4 unicast
show ip bgp ipv4 multicast

Evidence to collect

  • overall BGP state;
  • neighbor capabilities;
  • listed address families;
  • prefix counts per family;
  • the unicast test prefix under IPv4 unicast;
  • the multicast-SAFI test prefix under IPv4 multicast.

The precise CLI presentation can differ by platform/release, so verify the selected image's command help and official command reference.


12. Controlled modification — deactivate one address family only

On R2:

configure terminal
router bgp 65020
 address-family ipv4 multicast
  no neighbor 192.0.2.1 activate
 end

Expected result

  • The intended IPv4 multicast family is no longer active for that neighbor.
  • IPv4-unicast exchange should remain configured/active.
  • The operator should not treat loss of one AFI/SAFI as equivalent to loss of the entire BGP process.

Depending on implementation behavior, changes in negotiated capabilities can require session renegotiation. The operational point is not “no packet can ever reset”; it is that address-family state must be verified independently from generic BGP peer state.


13. Fault injection

Illustrative lab — not a real incident.

Lab name

Harbor Multiprotocol — Missing SAFI

Fault

Remove the neighbor activation under address-family ipv4 multicast on R2.

Symptom

IPv4-unicast routes work, but the R2 multicast BGP table no longer receives the expected test prefix.

Misleading observation

An operator sees the peer as Established and assumes all BGP functions are healthy.

Correct observation

The session is only the container. The required AFI/SAFI must also be negotiated and active.


14. Step-by-step troubleshooting

  1. Identify the exact failing route family.
  2. Confirm generic BGP/TCP state.
  3. Inspect advertised and received neighbor capabilities.
  4. Inspect the family-specific section of neighbor output.
  5. Check whether the neighbor is activated under the correct address family on both sides.
  6. Check family-specific policy.
  7. Check the correct family routing table rather than only global IPv4 unicast.
  8. If capture is available, inspect OPEN capabilities.
  9. Correct only the missing family activation.
  10. Re-verify both the working and formerly failing family.

This sequence prevents a common error: repeatedly resetting the neighbor when the actual problem is AFI/SAFI configuration.


15. Root cause and correction

Root cause

R2 no longer activates the neighbor under the IPv4 multicast address family.

Correction

configure terminal
router bgp 65020
 address-family ipv4 multicast
  neighbor 192.0.2.1 activate
 end

Why it works

The neighbor relationship exists at router scope, and the activate command enables prefix exchange in the specified address-family context.


16. Post-fix verification

show ip bgp neighbors 192.0.2.1
show ip bgp ipv4 unicast
show ip bgp ipv4 multicast

Confirm:

  • expected family capability information;
  • expected prefix count;
  • the unicast prefix remains present;
  • the multicast-SAFI prefix is restored.

17. Rollback

To revert the test state, restore the original address-family activation.

Preserve before/after outputs so you can prove that the failure was family-specific rather than a generic BGP outage.


18. Production lessons

Architecture lesson

MP-BGP scales BGP beyond base IPv4 unicast by associating reachability with AFI/SAFI contexts.

Troubleshooting lesson

Always ask, “Which address family is failing?” before interpreting neighbor state.

Configuration lesson

Explicit address-family activation makes intended route exchange easier to audit.

Packet-analysis lesson

OPEN capabilities are valuable evidence when two devices disagree about supported families.

Security lesson

Treat policy and route acceptance independently per family. A secure IPv4-unicast edge does not automatically mean VPN, EVPN or FlowSpec policy is equally constrained.


19. Knowledge check

Q1

What does the AFI identify?

Answer: The broad network-layer address family.

Q2

Why is SAFI also needed?

Answer: It qualifies the semantics within the AFI, such as unicast or another registered routing application. AFI/SAFI together identify the relevant BGP address-family context.

Q3

A BGP peer is Established but EVPN routes are absent. What is the first conceptual mistake to avoid?

Answer: Do not assume Established means the EVPN AFI/SAFI is negotiated, active and exchanging routes. Verify that address family specifically.


20. Sources

  1. RFC 4760 — *Multiprotocol Extensions for BGP-4* — MP_REACH_NLRI, MP_UNREACH_NLRI and multiprotocol capability behavior.
  2. RFC 5492 — *Capabilities Advertisement with BGP-4* — capability framework in BGP OPEN.
  3. IANA — *Address Family Numbers* registry.
  4. IANA — *Subsequent Address Family Identifiers (SAFI) Parameters* registry.
  5. Cisco — *IP Routing Configuration Guide, Cisco IOS XE 17.x: Configuring a Basic BGP Network* — address-family configuration and neighbor activation.
  6. Cisco — *IPv6 Routing: Multiprotocol BGP Link-Local Address Peering* — explicit address-family activation and family-specific policy behavior.

Accessed: 2026-08-11.


IELTS Writing Task 2: 5 Essay Templates That Cover 90% of Question Types (Band 8.0 Framework, Not a Shortcut)

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...