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 172.12.15.5 remote-as 500
  neighbor 2005::5/64 remote-as 500
address-family ipv4
   neighbor 172.12.15.5 activate
   network (ipv4 Prefix) mask (mask)
address-family ipv6
    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 172.12.15.5 remote-as 500   <—- IPv4 Peering
address-family ipv4
  neighbor 172.12.15.5 remote-as 500 activate
  network (ipv4) mask (ipv4)
address-family ipv6
   neighbor 172.12.15.5 remote-as 500 activate   <— Must specify IPv4 Peering
   network (ipv6) mask (ipv6) <—- Advertise IPv6 networks
   neighbor 172.12.15.5 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:

  • AS_PATH
  • NEXT_HOP
  • 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
address-family ipv4

    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
address-family ipv6
    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!!