Skip to content

Commit 7e7e777

Browse files
committed
doc: add README for the BgpIpv6Basic example (IPv6 support, phase 6)
1 parent 69c7928 commit 7e7e777

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# BgpIpv6Basic — BGP over IPv6 (MP-BGP, RFC 4760)
2+
3+
A minimal IPv6 EBGP example: two single-router autonomous systems peer over IPv6 and each
4+
advertises the IPv6 network behind it.
5+
6+
```
7+
hostA --- rA (AS 65001) === rB (AS 65002) --- hostB
8+
2001:db8:0:10::/64 2001:db8:0:1::/64 2001:db8:0:20::/64
9+
```
10+
11+
What it demonstrates / verifies:
12+
13+
- A BGP session is established over **IPv6 TCP** (the `Bgp` module runs with
14+
`addressFamily = "ipv6"` and drives the IPv6 routing table).
15+
- IPv6 reachability is exchanged using the **`MP_REACH_NLRI`** path attribute
16+
(AFI=2 / SAFI=1), per RFC 4760 — rA advertises `2001:db8:0:10::/64`, rB advertises
17+
`2001:db8:0:20::/64`, each via a `<Network>` element in `BgpConfig6.xml`.
18+
- The learned routes are actually **installed and used**: the configurator adds only
19+
on-link routes (`addStaticRoutes = false` + manual `<route>` entries), so the inter-AS
20+
routes can come *only* from BGP. `hostA` pinging `hostB` therefore succeeds only once
21+
BGP has converged.
22+
23+
Notes:
24+
25+
- The BGP Identifier is a 4-octet router id even for IPv6 (RFC 4271/6286); it is set
26+
explicitly via `bgp.routerId` since an IPv6 router has no IPv4 address to derive it from.
27+
- The manual on-link `<route>` entries are a workaround for a configurator limitation
28+
(`addDirectRoutes` is only applied when `addStaticRoutes` is true); see
29+
`plan/pending/configurator-decouple-direct-routes.md`.

0 commit comments

Comments
 (0)