No Topology again, I know the lack of pictures is boring.
A few things I wanted to note about configuring address-family’s in BGP:
You can either do it as a single IPv4 or IPv6 Peering, which would look something like:
router bgp 100
neighbor 18.104.22.168 remote-as 500
neighbor 2005::5/64 remote-as 500
neighbor 22.214.171.124 activate
network (ipv4 Prefix) mask (mask)
neighbor 2005::5/64 active
network (ipv6 prefix) mask (ipv6 mask)
By configuring it this way, you have set at the process level that you have two neighbor Peerings, one ipv4 and one ipv6, you can then go into those address families to add the “utility” commands as mentioned in EIGRP named mode where you need to create address-family configurations (such as next-hop-self, etc) in neighbor statements.
Again – These “Utility” or “Fine Tuning” commands will no longer show at the process level for neighbor statements once address-family’s are configured, you must go into the address-family to configure fine tuning!
A second way is to use a single Peering / IP Protocol for the peering, and share routes over that one peering as such:
router bgp 100
neighbor 126.96.36.199 remote-as 500 <—- IPv4 Peering
neighbor 188.8.131.52 remote-as 500 activate
network (ipv4) mask (ipv4)
neighbor 184.108.40.206 remote-as 500 activate <— Must specify IPv4 Peering
network (ipv6) mask (ipv6) <—- Advertise IPv6 networks
neighbor 220.127.116.11 route-map (word) out <– (Assign IPv6 next-hop for networks)
route-map (word) permit 10
match ipv6 next-hop (Prefix / ACL)
Now before I get into WHY we need route-maps, I wanted to point out the criteria you have to match in when creating an IPv6 route route-map to work with BGP:
R1(config-route-map)#match ipv6 next-hop ?
WORD IPv6 access-list name
prefix-list IPv6 prefix-list
R1(config-route-map)#match ipv6 next-hop
So you will need a Prefix-List or an Access-List to input here, you cannot just enter your own IPv6 address here (as far as I can see without fully configuring it).
Why would we need a Route-Map in the address-family in the first place? Because when you are sending networks to a Peer, it must contain the following 3 things:
- ORIGIN CODE
Those 3 things must be present in its updates, but IPv6 cannot use the IPv4 formed Peering as a next-hop, so we need to add our own IPv6 IP address for this (local) side of the peer and input that into the Address-Family to send with network updates to our peer.
The way you can tell if it is Dual Ipv4 and Ipv6 Peerings, is they will both be configured at the Process (Top level) in BGP as neighbors, whereas if you ONLY see 1 IPv4 or 1 IPv6 neighbor configured before address families, that means you are Peering with that protocol only.
So if it was IPv6 doing the single Peering, the roles would be reversed, and our neighbor statements would still go into the IPv4 family as IPv6 addresses (as our neighbors are IPv6) however the “network” statements will still advertise IPv4 IP’s – However the Route-Map will still be needed to tell our IPv6.
To quickly demonstrate the difference:
router bgp 100
neighbor 2005::5 remote-as 500
neighbor 2005::5 remote-as 500 activate <– Must use IPv6 Peering for neigbor
network (ip4) mask (ipv4) <— Advertise Ipv4 networks
neighbor 2005::5 route-map (anotherword) out <– Gives Next-Hop for IPv4 Ad’s
neighbor 2005::5 remote 500 activate
network (ipv6) mask (ipv6)
That is all I got in me tonight on that subject, one more entire day to review BGP then a night off from studying before exam day except maybe lightly reviewing stuff like subnetting charts and Keith B’s excellent Distribute-List comparison chart.
So you probably will not hear from me again until I am on the other side of Pass / Fail.
So hopefully next time I post I will be celebrating going into SWITCH material, or healing my wounds with a couple shots of tequila and a sober cab home 🙂
See you on the other side!!