OSPFv3_No_NBMA

I was going to bring R1 in on this with a Point-to-Point Serial cable, to make the Topology look a little less pathetic than the usual all out routers everywhere model, however for these topics I only need these 3 – Though I may need to for further IPv6 studies.

So far I’ve confirmed the frame switch does not understand IPv6 at all, and R5 at very least has a bug in its code regarding IPv6 and OSPF, not sure yet about other protocols…

Redistribution with IPv6 is very similar to IPv4 in the way that you must go into the router configuration mode “ipv6 router ospf #” from global config, and actually I’ve already added some loopbacks on R2 for this demonstration:

R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#int lo14
R2(config-if)#ipv6 add 2014::1/64
R2(config-if)#int lo15
R2(config-if)#ipv6 add 2015::1/64
R2(config-if)#int lo16
R2(config-if)#ipv6 add 2016::1/64
R2(config-if)#
R2(config-if)#
*Mar  1 22:44:19.449: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback14, changed state to up
*Mar  1 22:44:19.589: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback15, changed state to up
*Mar  1 22:44:19.625: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback16, changed state to up
R2(config-if)#

Typed them so fast the router could hardly keep up 🙂

So now I will drop into router config, and I’ll display the ? output as I go along:

R2(config)#ipv6 router ospf 1
R2(config-rtr)#redistribute ?
  bgp        Border Gateway Protocol (BGP)
  connected  Connected Routes
  eigrp      Enhanced Interior Gateway Routing Protocol (EIGRP)
  isis       ISO IS-IS
  ospf       Open Shortest Path First (OSPF)
  rip        IPv6 Routing Information Protocol (RIPv6)
  static     Static Routes

R2(config-rtr)#redistribute connected ?
  metric       Metric for redistributed routes
  metric-type  OSPF/IS-IS exterior metric type for redistributed routes
  route-map    Route map reference
  tag          Set tag for routes redistributed into OSPF
  <cr>

R2(config-rtr)#redistribute connected
R2(config-rtr)#

Oh boy I see that route-map statement as part of the command and I just want to start redistributing everywhere, however I stuck to basics just to demonstrate the route table, if I think up a scenario where it’d be fun to use route-maps in IPv6 I will definitely be labbing it.

It’s so hard to put IPv6 and fun in the same sentence, I can’t believe I just did it, one step closer to true Cisco enlightenment!

All joking aside, there was one field missing there, and that would be “subnets” on the end of that redistribute command. That is because subnets is not necessary in OSPFv3 vs OSPFv2, so that will be a good detail to remember come exam day.

So let us see what this all looks like way over to R4 in it’s OSPF route table:

R4#sh ipv6 route ospf
IPv6 Routing Table – default – 10 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
       B – BGP, HA – Home Agent, MR – Mobile Router, R – RIP
       I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
       D – EIGRP, EX – EIGRP external, NM – NEMO, ND – Neighbor Discovery
       l – LISP
       O – OSPF Intra, OI – OSPF Inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
       ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
OE2 2014::/64 [110/20]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OE2 2015::/64 [110/20]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OE2 2016::/64 [110/20]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2022::1/128 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2023::/64 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2033::1/128 [110/1]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
R4#

I have to admit, that was less spectacular or different than I expected, it shows the O E2 routes for the Redistributed routes just like in OSPFv2.

When you’re taking the CCNA (at least in my day, walked uphill both ways, etc), IPv6 was just a memorization game, it was just kind of points that were up in the air on exam day if you couldn’t remember which address type was which.

As demonstrated above with Redistribution it is almost completely similar in configuration, and I will now show you that creating a stub / total stub network is as well!

The funny thing is that R3 is the gateway right now for both R2 and R4 (which is why I thought about bringing R1 in), but we are all adults here and can handle imagining that R2 leads to other routers.

So I will first create the basic stub Area on 34:

R4(config)#ipv6 router ospf 1
R4(config-rtr)#area 34 stub ?
no-summary  Do not send summary LSA into stub area
<cr>

R4(config-rtr)#area 34 stub
R4(config-rtr)#
*Mar  7 00:55:50.455: %OSPFv3-5-ADJCHG: Process 1, Nbr 3.3.3.3 on FastEthernet0/1 from FULL to DOWN, Neighbor Down: Adjacency forced to reset
R4(config-rtr)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
3.3.3.3           1   DOWN/DROTHER       –        5               FastEthernet0/1
R4(config-rtr)#

So far, so good? I wanted to show the neighbor relationship output in case you see this on your exam, this means you haven’t let your stub neighbor know that you are being stubborn all by yourself – So off to R3 to let it know they will both be stubs:

IMPORTANT BEHAVIOR TO NOTE FOR EXAM DAY, TAKE NOTE!! :

R3(config)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
2.2.2.2           1   FULL/BDR        00:00:38    4               FastEthernet0/0
R3(config)#
ASR#4
[Resuming connection 4 to r4 … ]

R4(config-rtr)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
3.3.3.3           1   DOWN/DROTHER       –        5               FastEthernet0/1
R4(config-rtr)#

On R3, its just no longer has an adjacency with R4 so it doesn’t show it in the neighbor table, however on R4 it is showing DOWN/DROTHER with a – through the Dead Time. I am not sure if I saw that in IPv4, so this will also be something to watch for on exam day, if its state is DOWN as the beginning portion with no dead timer its probably a not quite finished stub configuration (or so you shall hope in the exam room).

Anyways, back to stubbing R3:

R3(config)#ipv6 router ospf 1
R3(config-rtr)#area 34 stub
R3(config-rtr)#
*Mar  2 07:47:58.558: %OSPFv3-5-ADJCHG: Process 1, Nbr 4.4.4.4 on FastEthernet0/1 from LOADING to FULL, Loading Done
R3(config-rtr)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
2.2.2.2           1   FULL/BDR        00:00:39    4               FastEthernet0/0
4.4.4.4           1   FULL/DR         00:00:36    4               FastEthernet0/1
R3(config-rtr)#

And there we have it back in the neighbor table. Really watch for that on exam day, that is a very tricky behavior that I would write a question about to test how much someone has been labbing their *ss off to prepare for this brutal exam!

So what does R4 look like now in its route table here:

R4(config)#do sh ipv6 route
IPv6 Routing Table – default – 8 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
       B – BGP, HA – Home Agent, MR – Mobile Router, R – RIP
       I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
       D – EIGRP, EX – EIGRP external, NM – NEMO, ND – Neighbor Discovery
       l – LISP
       O – OSPF Intra, OI – OSPF Inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
       ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
OI  ::/0 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2022::1/128 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2023::/64 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2033::1/128 [110/1]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
C   2034::/64 [0/0]
     via FastEthernet0/1, directly connected
L   2034::4/128 [0/0]
     via FastEthernet0/1, receive
LC  2044::1/128 [0/0]   <— LC, Interesting
     via Loopback4, receive
L   FF00::/8 [0/0]      <— What??
     via Null0, receive
R4(config)#

I wanted to show the whole route table to see what different things look like. Obviously our redistributed routes are outta here, however our Inter-Area (routes known in other area than its own) are still around.

I also wanted to show this sort of oddity, or two of them, LC and our built in route to Null0. I am not sure what made the router to designate its own Loopback with an L and C together, but that’s a bit odd to me, and FF00::/8 which with some googling is just a discard bucket built into IPv6 enabled interfaces.

So everything is fine and good (except for that stupid frame switch that I still haven’t gotten over), however we still have all these OSPFv3 Inter-Area routes still going to the same next hop which spells out one thing to us CCNP’s – IT’S TOTAL STUB TIME!!

So I’ll see if that is the same from OSPFv2, and see if I can just make the change on R3:

R3(config)#ipv6 router ospf 1
R3(config-rtr)#no area 34 stub
R3(config-rtr)#
*Mar  2 08:02:31.881: %OSPFv3-5-ADJCHG: Process 1, Nbr 4.4.4.4 on FastEthernet0/1 from FULL to DOWN, Neighbor Down: Adjacency forced to reset
R3(config-rtr)#area 34 stub no-summary
R3(config-rtr)#
*Mar  2 08:02:40.187: %OSPFv3-5-ADJCHG: Process 1, Nbr 4.4.4.4 on FastEthernet0/1 from DOWN to DOWN, Neighbor Down: Adjacency forced to reset
R3(config-rtr)#
*Mar  2 08:02:46.874: %OSPFv3-5-ADJCHG: Process 1, Nbr 4.4.4.4 on FastEthernet0/1 from LOADING to FULL, Loading Done
R3(config-rtr)#

And yes it does, so again, as with OSPFv2 on IPv4 you can just remove the stub command (best practice) and enter the same command with no-summary tacked onto the end. As seen the adjacency goes down, but reforms immediately.

 

Noooow lets see how R4’s route table is doing:

R4(config)#do sh ipv6 route ospf
IPv6 Routing Table – default – 5 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
       B – BGP, HA – Home Agent, MR – Mobile Router, R – RIP
       I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
       D – EIGRP, EX – EIGRP external, NM – NEMO, ND – Neighbor Discovery
       l – LISP
       O – OSPF Intra, OI – OSPF Inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
       ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
OI  ::/0 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
R4(config)#

And then, there was one. If I did not already mention this route type somewhere in the posts, this would be an IPv6 default route (meaning everything go thataway).

Now last time I had a little grief getting return pings and had to manipulate some static route redistribution to get pinging working, lets see how this goes:

R4(config)#do ping 2022::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2022::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms
R4(config)#
ASR#2
[Resuming connection 2 to r2 … ]

R2(config-rtr)#do ping 2044::1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2044::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms
R2(config-rtr)#

Ok, nevermind everything I just said previous to these pings, cause that worked really as it should. Come to think of it I think it was stub area to stub area where I had to work some magic to get connectivity.

So if you take absolutely nothing else away from this post, it’s that the concepts from OSPFv2 are almost identical to OSPFv3, with some very slight differences.

One good verification command to check for stub area’s will be the same from OSPFv2, just with the ipv6 twist on it, for example:

R3#sh ipv6 ospf
 Routing Process “ospfv3 1” with ID 3.3.3.3
 It is an area border router
 SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
 Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs
 LSA group pacing timer 240 secs
 Interface flood pacing timer 33 msecs
 Retransmission pacing timer 66 msecs
 Number of external LSA 3. Checksum Sum 0x004335
 Number of areas in this router is 4. 3 normal 1 stub 0 nssa
 Reference bandwidth unit is 100 mbps
    Area BACKBONE(0)
        Number of interfaces in this area is 1
        SPF algorithm executed 9 times
        Number of LSA 10. Checksum Sum 0x04C947
        Number of DCbitless LSA 0
        Number of indication LSA 0
        Number of DoNotAge LSA 0
        Flood list length 0
    Area 3
        Number of interfaces in this area is 1
        SPF algorithm executed 6 times
        Number of LSA 7. Checksum Sum 0x041AA0
        Number of DCbitless LSA 0
        Number of indication LSA 0
        Number of DoNotAge LSA 0
        Flood list length 0
    Area 34
        Number of interfaces in this area is 1
        It is a stub area, no summary LSA in this area
          generates stub default route with cost 1
        SPF algorithm executed 12 times
        Number of LSA 8. Checksum Sum 0x02FDBB
        Number of DCbitless LSA 0
        Number of indication LSA 0
        Number of DoNotAge LSA 0
        Flood list length 0
  
R3#

It is really a wealth of information there, but for our purposes, I’ve highlighted where we can verify our stub areas. When I say it is just like v2, v3 for OSPF really is once you get over the addressing, and that itself takes time (I am still a bit blah about it honestly).

That is it for OSPFv3 for now, next on the plate is EIGRPv3 or whatever they call it using IPv6 (it’s probably not really called EIGRPv3 so I would not wr mem that to your brain).