ospfv3_topology

So this video I am working on now is regarding point-to-point networks, which I didn’t think that if I were going from 2-3 with the SW1 between then it would be an “Ethernet segment” however R3 and R4 are directly connected via Fa0/1 so that would be a point-to-point so I may be re-covering the same configs already performed with different details.

Also, I wanted to add IP addresses identifying the networks, so as it grows I know which subnet is between which routers so to start I wanted to demonstrate how adding the address and the syntax of it:

First I verify that I have an IPv6 address at all on the interface:

R3#sh ipv6 int bri
FastEthernet0/0            [up/up]
FastEthernet0/1            [up/up]
    FE80::20F:23FF:FE09:B181
Serial0/2                  [up/up]
Serial0/3                  [administratively down/down]
Loopback3                  [up/up]

“sh ip int bri” will show Fa0/1 Up/Up, but it won’t show the IP without typing “sh ipv6 int bri” for the syntax (everything with ipv6 has v6 after ip in the commands!).

So then I had never applied an IPv6 address before, so I wanted to check out my options:
R3#conf t
R3(config)#int fa0/1
R3(config-if)#ipv6 add ?
  WORD                General prefix name
  X:X:X:X::X          IPv6 link-local address
  X:X:X:X::X/<0-128>  IPv6 prefix
  autoconfig          Obtain address using autoconfiguration

R3(config-if)#ipv6 add 2234::3 ?
  link-local  Use link-local address

R3(config-if)#ipv6 add 2234::3 link-local ?
  <cr>

R3(config-if)#ipv6 add 2234::3/64 ?
  anycast  Configure as an anycast
  eui-64   Use eui-64 interface identifier
  <cr>

R3(config-if)#ipv6 add 2234::3/64
R3(config-if)#

I’ve highlighted all of my commands in red as its easy to get lost in this syntax, but I wanted to make it crystal clear the options you have. You can either put in your address and make it link-local, or you can do XXXX::/XX which I thought was really odd to have the mask smashed right against the address like that for CLI syntax, but that is how it is apparently.

Also you can see it asks once I use that /64 mask (as I’m not entirely sure how to separate subnets yet so I’m just slicing the address space in half for hosts / subnets), and it gives you options to use an EUI64 interface ID or continue on to configure Anycast.

I don’t really know what I’m doing, so I just went with /64, and interestingly it did not drop the adjacency to R4:

R3(config-if)#ipv6 add 2234::3/64
R3(config-if)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
4.4.4.4           1   FULL/DR         00:00:31    4               FastEthernet0/1
R3(config-if)#

So I am going to go over to configure some loopbacks on both routers quick, and change R4’s Fa0/1 interface IPv6 address quick:

R3(config)#int lo33
R3(config-if)#
*Mar  2 05:01:36.937: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback33, changed state to up
R3(config-if)#ipv6 add 2233::1/128
R3(config-if)#ipv6 ospf 1 area 33 ?
  instance  Set the OSPF instance
  <cr>

R3(config-if)#ipv6 ospf 1 area 33
R3(config-if)#
ASR#4
[Resuming connection 4 to r4 … ]

R4#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#int fa0/1
R4(config-if)#ipv6 add 2234::4/64
R4(config-if)#int lo44
R4(config-if)#ipv6
*Feb 27 23:31:29.523: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback44, changed state to up
R4(config-if)#ipv6 add 2244::1/128
R4(config-if)#ipv6 ospf 1 area 44
R4(config-if)#do sh ip ospf nei
R4(config-if)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
3.3.3.3           1   FULL/BDR        00:00:36    5               FastEthernet0/1
R4(config-if)#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  2233::1/128 [110/1]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
R4(config-if)#

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

So I put a bit of distance between each router configuration, and also left the route table codes in for OSPFv3, and all the addressing so far has not been too bad with overlaps and things. I am sure IPv6 at a higher level is much more difficult though I am hoping to get away with not needing to know THAT much right now as I am already about to burst.

So anyways, I wanted to get a loopback in there, configure it into our OSPFv3 and ping it to test connectivity seen at the end their to demonstrate how that is done – Now onto the point-to-point topics 🙂

Point-to-Point OSPFv3 networking

So I thought my Ethernet cable connecting two routers would make it point to point enough, but that is not showing us the standard OSPF behavior of FULL/- when doing “sh ipv6 ospf nei”, so I am going to connect R3 to R1 directly via Serial Cable (No NBMA [yet]) to see if I can get a point-to-point type behavior going on.

ipv6_ospfv3_pointtopoint

So I will be trying this for my topology for this lab to see some point-to-point behaviors, so here is the entire new config on R1 and R3:

R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#ipv6 unicast-routing
R1(config)#int s0/1
R1(config-if)#ipv6 enable
R1(config-if)#ipv6 add 2231::1/64
R1(config-if)#ipv6 ospf 1 area 31
R1(config-if)#
*Mar  1 20:01:11.235: %OSPFv3-4-NORTRID: OSPFv3 process 1 could not pick a router-id,
please configure manually
R1(config-if)#exit
R1(config)#ipv6 router ospf 1
R1(config-rtr)#router-id 2.2.2.2
R1(config-rtr)#
ASR#3
[Resuming connection 3 to r3 … ]

R3(config-if)#do sh ip int bri
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES NVRAM  up                    up
FastEthernet0/1            unassigned      YES NVRAM  up                    up
Serial0/2                  unassigned      YES NVRAM  up                    up
Serial0/3                  unassigned      YES NVRAM  administratively down down
Loopback3                  unassigned      YES NVRAM  up                    up
Loopback33                 unassigned      YES unset  up                    up
R3(config-if)#int s0/3
R3(config-if)#ipv6 enable
R3(config-if)#ipv6 add 2231::3/64
R3(config-if)#ipv6 ospf 1 area 31
R3(config-if)#no shut
R3(config-if)#
*Mar  2 05:29:57.189: %LINK-3-UPDOWN: Interface Serial0/3, changed state to up
*Mar  2 05:29:58.198: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/3, changed state to up
R3(config-if)#

I actually waited for the adjacency to form, wondering what did I do now, and right there in the output was the answer that I had to “no shut” that interface. Wanted to point that out that often times the answer is glaring you in the face, you just need to know where to find it!

So lets see if we get the PtP OSPFv2 behavior from our OSPFv3 neighbor(!):

R3(config-if)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
4.4.4.4           1   FULL/DR         00:00:36    4               FastEthernet0/1
2.2.2.2           1   FULL/  –        00:00:30    7               Serial0/3
R3(config-if)#

And there it is, interesting that Ethernet direct connections are not considered point to point but a Serial connection is (without being configured as a point to point logically).

The main point of the above exercise and output, is that point-to-point links don’t have a DR/BDR election at any point in either version of OSPF, and that FULL/- is the tell tale sign of a PTP neighbor. You can also see the network type with the show ipv6 ospf int command:

R3#sh ipv6 ospf int s0/3
Serial0/3 is up, line protocol is up
  Link Local Address FE80::20F:23FF:FE09:B180, Interface ID 8
  Area 31, Process ID 1, Instance ID 0, Router ID 3.3.3.3
  Network Type POINT_TO_POINT, Cost: 64
  Transmit Delay is 1 sec, State POINT_TO_POINT,
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:03
  Index 1/1/3, flood queue length 0
  Next 0x0(0)/0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 1
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 2.2.2.2
  Suppress hello for 0 neighbor(s)
R3#

You also get some other good info as well in there, and speaking of good info, I’ve added a loopback to R1 in the same formats as the other two routers and lets take a look at the OSPFv3 route table to see how things are going from R4’s point of view:

R4#sh ipv6 route ospf
IPv6 Routing Table – default – 6 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  2231::/64 [110/65]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2233::1/128 [110/1]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
R4#

Only R3’s loopback, and the network of R1 2231::0/64, but not R1’s loopback. So I tried to do a “clear ipv6 ospf proc” (yes, you need ipv6 here too).

So now the video is over and it basically just presented that Full/- part, but now I am wondering why my point-to-point is not propagating OSPFv3 routes.

While watching debugs and messing with the address, I decided to try this and it worked (or so it seems to have worked):

R1(config-if)#no ipv6 ospf 1 area 11
R1(config-if)#ipv6 ospf 1 area 31
R1(config-if)#do sh ipv6 route ospf
IPv6 Routing Table – 8 entries
Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
       U – Per-user Static route
       I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
       O – OSPF intra, OI – OSPF inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
       ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
       D – EIGRP, EX – EIGRP external
OI  2233::1/128 [110/64]
     via FE80::20F:23FF:FE09:B180, Serial0/1
OI  2234::/64 [110/65]
     via FE80::20F:23FF:FE09:B180, Serial0/1
OI  2244::1/128 [110/65]
     via FE80::20F:23FF:FE09:B180, Serial0/1
R1(config-if)#
ASR#4
[Resuming connection 4 to r4 … ]

R4#sh ipv6 route ospf
IPv6 Routing Table – default – 7 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  2211::1/128 [110/65]
via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2231::/64 [110/65]
via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2233::1/128 [110/1]
via FE80::20F:23FF:FE09:B181, FastEthernet0/1

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

So thinking waaaay back to OSPFv2 stuff, this router doesn’t have any interfaces in Area 0, so we’d need to either make a virtual-link to it or include it in the “Transit Area” that virtual-link would be configured in.

Given that it is Monday, I knocked out two training videos and survived work, on top of turning my pay check into a rent check I am going to stop here and relax the rest of the night as next we will be doing OSPFv3 over an NBMA.

I don’t think there will be much difference, IPv6 aside from the long hex address, seems like it was made to trim the fat off protocols and network types but still work on their same principles / configurations. So I don’t expect to see much difference, but we shall see 🙂 More to come!