Address Families and MP-BGP · Lesson 01 of 01
Carrying more than IPv4 with MP-BGP
One BGP session can carry IPv4, IPv6, VPNv4 and more. Multiprotocol BGP is the capability that makes it possible.
Written lesson
Address families on one session
Multiprotocol BGP negotiates, at OPEN time, which address families a session will carry — IPv4 unicast, IPv6 unicast, VPNv4, and others — using the MP_REACH_NLRI and MP_UNREACH_NLRI attributes to carry non-IPv4 reachability. This is why modern configuration is organised under address-family blocks and why a neighbour must be activated per family. One TCP session, several kinds of route, each with its own policy.
Configuration
IPv4 and IPv6 on the same peer
router bgp 65001
neighbor 2001:db8::2 remote-as 65002
address-family ipv4 unicast
neighbor 2001:db8::2 activate
address-family ipv6 unicast
neighbor 2001:db8::2 activateWritten lesson
4-byte ASN interop
When a 32-bit ASN speaker peers with a 16-bit-only speaker, the old speaker cannot represent the large AS numbers. The 32-bit speaker substitutes AS_TRANS (23456) in the AS_PATH it sends, while carrying the real 4-byte path in the new AS4_PATH attribute, which the old speaker passes through transparently. The result is that the real path is reconstructed at the next 4-byte-capable router. It usually just works, but AS_TRANS showing up in a path is the fingerprint of a 16-bit speaker in the middle.
activate is the gotcha
Under the default no bgp default ipv4-unicast behaviour on some platforms, even IPv4 peers need explicit activation. When a session is Established but no routes move, check activation under the address family first.