Please help me understand the command “no bgp default ipv4-unicast” and why under “address-family ipv4 unicast” it is necessary to use “no neighbor [Pv6 address] activate”. Here is a configure I am using
Hello David
By default, Cisco IOS has a legacy behavior rooted in the time when BGP was almost exclusively used for IPv4 Internet routing. When you configure a neighbor using the neighbor 10.1.2.2 remote-as 500 command for example, the router automatically assumes you want to exchange IPv4 unicast routes (i.e. ipv4-unicast address family).
In the background, the router adds the command neighbor 10.1.2.2 activate command under the address-family ipv4 unicast address family, thus activating IPv4 unicast exchanges by default.
This applies to both IPv4 and IPv6 neighbors. If you configure neighbor 2001:db8:acad:1012::2 remote-as 500 the router will still automatically activate it for IPv4 unicast address family route exchange.
The no bgp default ipv4-unicast command disables this automatic IPv4 unicast activation for all neighbors. This tells the router not to activate IPv4 unicast exchanges automatically. This means that NOTHING will be exchanged until you activate it with the activate keyword command for each address family you want to exchange routes for.
This is considered best practice on all modern BGP configurations, so that you can explicitly configure the exchanges that you want to employ, rather than having them automatically assumed. Does that make sense?
I hope this has been helpful!
Laz
Yes. Thank you
