IPv6_RIPng

I will be recycling the last labs Topology for this and one final OSPFv3 headache, and then IPv6 is done for now (though I am sure I will recover the topics at some point).

So as can be seen kind of above, it’s a weird sort of RIP boundary to not block the IPv6 addresses at the top in paint, but both FastEthernet and Loopback interfaces will be in the same domain / process.

Now I will go through the main concepts covered bullet point style, since I haven’t done that for awhile and there isn’t a whole lot there, then get to configuring!

  • All the configuration for RIPng can be done on the interfaces (for CCNP purposes)
  • Interface configuration makes you define a process id, which can be a word or number, and these process ID’s DO need to match with other RIPng routers proccess ID’s to advertise to eachother
  • As with OSPF, “default-information originate” can be configured like in OSPF, with a tweak to the command not yet covered I don’t believe
  • The maximum hop count / metric is STILL 15 hops, seriously. No, really.

So I’ve just removed the EIGRP configurations from the last lab and will recycle the IP addresses for this one, and I will jump right into the complete configuration of RIP on this Topology in one fowl swoop:

R2(config)#int fa0/0
R2(config-if)#ipv6 rip ?
  WORD  User selected string identifying this RIP process

R2(config-if)#ipv6 rip Process1 ?
  default-information  Configure handling of default route
  enable               Enable/disable RIP routing
  metric-offset        Adjust default metric increment
  summary-address      Configure address summarization

R2(config-if)#ipv6 rip Process1 enable
R2(config-if)#int lo2
R2(config-if)#ipv6 rip Process1 enable

ASR#3
[Resuming connection 3 to r3 … ]

R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#int fa0/0
R3(config-if)#ipv6 rip Proccess1 enable
R3(config-if)#int lo3
R3(config-if)#ipv6 rip Proccess1 enable
R3(config-if)#
ASR#4
[Resuming connection 4 to r4 … ]

R4(config)#int fa0/0
R4(config-if)#ipv6 rip Process1 enable
R4(config-if)#int lo4
R4(config-if)#ipv6 rip Process1 enable
R4(config-if)#^Z
R4#
*Mar 10 00:51:43.247: %SYS-5-CONFIG_I: Configured from console by console
R4#sh ipv6 route rip
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
R   2002::/64 [120/2]
     via FE80::20E:D7FF:FE10:6C60, FastEthernet0/0
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R4#

And that is absolutely it, lab could be finished right here, thanks for stopping by – It’s that easy. However I did highlight in red some commands I added a ? to show the output / modifiers for the command, of those options I’ll demonstrate a bit of this old friend default-information originate and its other option yet to be shown.

However, that is literally the configuration as shown in the route table output on R4, by the time I configured that, I have R2’s and R3’s loopback in my RIP IPv6 route table.

** Take note of the AD / Metric are the same as IPv4, and yes the hop count limit is still 15.

Now one thing I am not 100% sure on even though I put it in a bullet point, which I will edit if I need to, but I hate editing facts I make up after I find them to be false – I am going to change the Process ID on R2’s Loopback interface to see if it drops off R4’s route table (to see if the process ID’s truly do need to match):

R2(config-if)#no ipv6 rip Process1 enable
R2(config-if)#ipv6 rip Process2 enable
R2(config-if)#
ASR#4
[Resuming connection 4 to r4 … ]

R4#sh ipv6 route rip
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
R   2002::/64 [120/2]
     via FE80::20E:D7FF:FE10:6C60, FastEthernet0/0
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R4#clear ipv6 route *
R4#sh ipv6 route rip
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
R   2002::/64 [120/2]
     via FE80::20E:D7FF:FE10:6C60, FastEthernet0/0
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R4#

Ok….. so…. no apparently? Let us check R2, to confirm the Process is indeed changed:

R2#sh ipv6 proto
IPv6 Routing Protocol is “connected”
IPv6 Routing Protocol is “static”
IPv6 Routing Protocol is “rip Process1”
  Interfaces:
    FastEthernet0/0
  Redistribution:
    None
IPv6 Routing Protocol is “rip Process2”
  Interfaces:
    Loopback2
  Redistribution:
    None
R2#

I like that style of “sh ip proto” for IPv6, very concise details, almost like a “sh ip proto brief” or something. To get more information on RIP in IPv6, you will want to use the command “sh ipv6 rip”:

R2#sh ipv6 rip
RIP process “Process1”, port 521, multicast-group FF02::9, pid 54
     Administrative distance is 120. Maximum paths is 16
     Updates every 30 seconds, expire after 180
     Holddown lasts 0 seconds, garbage collect after 120
     Split horizon is on; poison reverse is off
     Default routes are not generated
     Periodic updates 39, trigger updates 3
  Interfaces:
    FastEthernet0/0
  Redistribution:
    None
RIP process “Process2”, port 521, multicast-group FF02::9, pid 78
     Administrative distance is 120. Maximum paths is 16
     Updates every 30 seconds, expire after 180
     Holddown lasts 0 seconds, garbage collect after 120
     Split horizon is on; poison reverse is off
     Default routes are not generated
     Periodic updates 12, trigger updates 0
  Interfaces:
    Loopback2
  Redistribution:
    None
R2#

Now that is how we like our output. Huge, filled with great output, and makes us look like Alien level genius to people who don’t know anything about Cisco CLI. This gives you all the information you need about RIPng on the router, quite literally. Timers, Processes, interfaces, port # for RIPng, Multi-Cast Group #, everything.

So after some time and “clear ipv6 route *” on both routers, R4 finally showed the loopback in Process2 on R2 gone:

R4#sh ipv6 route rip
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
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R4#

The timing with RIP in IPv6 is a bit odd, its not always 30 seconds for updates as it shows in the above timers output, so if something doesn’t happen in the expected time RIP is still really terrible with convergence times in IPv6 if not more so than IPv4.

Now to tackle default-information in RIP

I will pick on R4 first with our old tried and true friend “default-information originate” and see how it impacts R2’s route table with a  before and after:

R2#sh ipv6 route rip
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
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R   2004::/64 [120/2]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0
ASR#4
[Resuming connection 4 to r4 … ]

R4(config-if)#ipv6 rip Process1 default-information ?
  only       Advertise only the default route
  originate  Originate the default route

R4(config-if)#ipv6 rip Process1 default-information originate ?
  metric  Default route metric
  <cr>

R4(config-if)#ipv6 rip Process1 default-information originate metric ?
  <1-15>

R4(config-if)#ipv6 rip Process1 default-information originate
ASR#2
[Resuming connection 2 to r2 … ]

R2#sh ipv6 route rip
IPv6 Routing Table – 9 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
R   ::/0 [120/2]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R   2004::/64 [120/2]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0
R2#

See what I did there? The color coding shows R2’s original route table in red, and in blue you can see the command added to the R4 Fa0/0 interface, as well as the default route now seen in R2’s route table AFTER A PAINFULLY LONG AMOUNT OF TIME.

Really, with RIP in IPv6, if you think you’ve waited long enough and something should have happened by now it really hasn’t. Go take a shower or do the dishes, come back, and it will have maybe have sent route updates. Its surprisingly noticeably worse than IPv4.

ANYWAYS, so that works like it does with OSPF, just sends a default route to itself to all listening routers with it’s same Process ID.

Now let us change this to use “only” instead of originate, and see what happens, we’ll skip before and after as the current route table is just above us all colorful and fun looking:

R4(config)#int fa0/0
R4(config-if)#no ipv6 rip Process1 default-information originate
R4(config-if)#ipv6 rip Process1 default-information only
ASR#2
[Resuming connection 2 to r2 … ]

R2#sh ipv6 route rip
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
R   ::/0 [120/2]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R2#

R2#ping 2004::1

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

After 10 minutes, R2 got its routing update, which shows that R4 is now only advertising default routes to other RIPng routers listening, and the ping to it’s loopback is successful.

So the difference with originate and only is pretty straight forward, originate just adds a default route to RIPng routers, while “only” on the command will “only” advertise a default route to itself.

** One thing to note from that last output is that it is best practice to remove the original command before replacing it with a new value, however with this be sure not to remove the “ipv6 rip process enable” command because it needs to stay! **

With that, I am done waiting for RIP’s routing updates, next up is one more OSPFv3 lab which will use this same Topology once more. Don’t miss out on all the fun in that post!