7.2 IPv6 OSPFv3

I spend a lot of time to find out why traffic is still passing the HUB, while routes are installed with correct nexthop.
For some reason nhrp chooses to still send this traffic over the HUB

It looks like the CSR1000V (03.12.00.S) is hitting a bug where traffic to the loopbacks is always passing the HUB (R7)

R1#sh ipv6 ro ospf  
IPv6 Routing Table - default - 13 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
       I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
       EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
       NDr - Redirect, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1
       OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eid
       a - Application
OE2 2004:2:2:2::2/128 [110/20]
     via FE80::21E:F6FF:FE8B:CE00, Tunnel200
OE2 2004:3:3:3::3/128 [110/20]
     via FE80::21E:49FF:FEED:3400, Tunnel200
OE2 2004:7:7:7::7/128 [110/20]
     via FE80::21E:7AFF:FE45:5900, Tunnel200
R1#sh ipv6 nhrp     
2004:128:10:254::7/128 via 2004:128:10:254::7
   Tunnel200 created 00:29:20, never expire
   Type: static, Flags: used
   NBMA address: 2004:128:10:100::7
FE80::21E:49FF:FEED:3400/128 via FE80::21E:49FF:FEED:3400
   Tunnel200 created 00:00:16, expire 00:02:48
   Type: dynamic, Flags: used temporary
   NBMA address: 2004:128:10:100::7
FE80::21E:7AFF:FE45:5900/128 via FE80::21E:7AFF:FE45:5900
   Tunnel200 created 00:29:20, never expire
   Type: static, Flags: nhs-ll
   NBMA address: 2004:128:10:100::7
FE80::21E:F6FF:FE8B:CE00/128 via FE80::21E:F6FF:FE8B:CE00
   Tunnel200 created 00:00:25, expire 00:02:39
   Type: dynamic, Flags: used temporary
   NBMA address: 2004:128:10:100::7

Same issue is described in http://forum.ine.com/forums/t/30846.aspx

Did nobody else run into this issue?

Thanks,
Erwin

Comments

  • cristian.matei wrote the following post at Wed, Sep 16 2015 12:02 AM:

    After spokes have succesfully registered with the hub, go on the hub and see if the hub has NHRP mappings for the link-local addresses of the spokes. Second, is CEF enabled for IPv6 on the spokes? Third, before you initiate spoke-to-spoke traffic, from one of the spokes give me the output of "show ipv6 route x/y" for a IPv6 prefix owned by the remote-spoke, and the output of "show ipv6 cef x/y internal" for the same prefix. Initiate the spoke-to-spoke traffic and show me again the output of these two commands.

     

  • Hi Cristian,
    I wr-erased my entire lab and pasted the configs from the lab solutions into my environment to make sure I did not miss anything. I answered the questions you asked me in http://forum.ine.com/forums/t/30846.aspx




    (1) Before pinging anything, this is the situation:

    ON THE HUB (R7)
    R7#sh ipv6 ospf nei

                OSPFv3 Router with ID (128.10.99.7) (Process ID 200)

    Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
    128.10.99.1       0   FULL/DROTHER    00:00:33    17              Tunnel200
    128.10.99.2       0   FULL/DROTHER    00:00:33    16              Tunnel200
    128.10.99.3       0   FULL/DROTHER    00:00:34    17              Tunnel200

    R7#sh ipv6 nhrp
    2004:128:10:254::1/128 via 2004:128:10:254::1
       Tunnel200 created 00:02:40, expire 01:57:19
       Type: dynamic, Flags: unique registered used nhop
       NBMA address: 2004:128:10:100::1
    2004:128:10:254::2/128 via 2004:128:10:254::2
       Tunnel200 created 00:02:40, expire 01:57:19
       Type: dynamic, Flags: unique registered used nhop
       NBMA address: 2004:128:10:100::2
    2004:128:10:254::3/128 via 2004:128:10:254::3
       Tunnel200 created 00:02:40, expire 01:57:19
       Type: dynamic, Flags: unique registered used nhop
       NBMA address: 2004:128:10:100::3
    FE80::21E:49FF:FEED:3400/128 via 2004:128:10:254::3
       Tunnel200 created 00:02:40, expire 01:57:19
       Type: dynamic, Flags: unique registered
       NBMA address: 2004:128:10:100::3
    FE80::21E:7AFF:FE5D:100/128 via 2004:128:10:254::1
       Tunnel200 created 00:02:40, expire 01:57:19
       Type: dynamic, Flags: unique registered
       NBMA address: 2004:128:10:100::1
    FE80::21E:F6FF:FE8B:CE00/128 via 2004:128:10:254::2
       Tunnel200 created 00:02:40, expire 01:57:19
       Type: dynamic, Flags: unique registered
       NBMA address: 2004:128:10:100::2

    ON THE SPOKE (R1)
    R1#sh ipv6 nhrp  
    2004:128:10:254::7/128 via 2004:128:10:254::7
       Tunnel200 created 00:05:57, never expire
       Type: static, Flags: used
       NBMA address: 2004:128:10:100::7
    FE80::21E:7AFF:FE45:5900/128 via FE80::21E:7AFF:FE45:5900
       Tunnel200 created 00:05:56, never expire
       Type: static, Flags: nhs-ll
       NBMA address: 2004:128:10:100::7

    R1#sh ipv6 rout os
    IPv6 Routing Table - default - 13 entries
    Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
           B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
           I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
           EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
           NDr - Redirect, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1
           OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
           la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eid
           a - Application
    OE2 2004:2:2:2::2/128 [110/20]
         via FE80::21E:F6FF:FE8B:CE00, Tunnel200
    OE2 2004:3:3:3::3/128 [110/20]
         via FE80::21E:49FF:FEED:3400, Tunnel200
    OE2 2004:7:7:7::7/128 [110/20]
         via FE80::21E:7AFF:FE45:5900, Tunnel200
    R1#sh ipv6 rout 2004:2:2:2::2
    Routing entry for 2004:2:2:2::2/128
      Known via "ospf 200", distance 110, metric 20, type extern 2
      Route count is 1/1, share count 0
      Routing paths:
        FE80::21E:F6FF:FE8B:CE00, Tunnel200
          Last updated 00:05:25 ago

    R1#sh ipv6 cef 2004:2:2:2::2/128
    2004:2:2:2::2/128
      nexthop FE80::21E:F6FF:FE8B:CE00 Tunnel200






    (2) Then I do the ping and the trace:
    R1#ping 2004:2:2:2::2
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 2004:2:2:2::2, timeout is 2 seconds:
    .!!!!
    Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms

    R1#traceroute 2004:2:2:2::2
    Type escape sequence to abort.
    Tracing the route to 2004:2:2:2::2

      1 2004:128:10:254::7 2 msec 1 msec 1 msec
      2 2004:128:10:254::2 2 msec 1 msec 1 msec





     
      (3) Then I collect the same outputs again
    R7#sh ipv6 ospf neighbor

                OSPFv3 Router with ID (128.10.99.7) (Process ID 200)

    Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
    128.10.99.1       0   FULL/DROTHER    00:00:35    17              Tunnel200
    128.10.99.2       0   FULL/DROTHER    00:00:35    16              Tunnel200
    128.10.99.3       0   FULL/DROTHER    00:00:33    17              Tunnel200


    R7#sh ipv6 nhrp
    2004:128:10:254::1/128 via 2004:128:10:254::1
       Tunnel200 created 00:13:17, expire 01:46:42
       Type: dynamic, Flags: unique registered used nhop
       NBMA address: 2004:128:10:100::1
    2004:128:10:254::2/128 via 2004:128:10:254::2
       Tunnel200 created 00:13:17, expire 01:46:42
       Type: dynamic, Flags: unique registered used nhop
       NBMA address: 2004:128:10:100::2
    2004:128:10:254::3/128 via 2004:128:10:254::3
       Tunnel200 created 00:13:17, expire 01:46:42
       Type: dynamic, Flags: unique registered used nhop
       NBMA address: 2004:128:10:100::3
    FE80::21E:49FF:FEED:3400/128 via 2004:128:10:254::3
       Tunnel200 created 00:13:17, expire 01:46:42
       Type: dynamic, Flags: unique registered
       NBMA address: 2004:128:10:100::3
    FE80::21E:7AFF:FE5D:100/128 via 2004:128:10:254::1
       Tunnel200 created 00:13:17, expire 01:46:42
       Type: dynamic, Flags: unique registered
       NBMA address: 2004:128:10:100::1
    FE80::21E:F6FF:FE8B:CE00/128 via 2004:128:10:254::2
       Tunnel200 created 00:13:17, expire 01:46:42
       Type: dynamic, Flags: unique registered
       NBMA address: 2004:128:10:100::2


       R1#sh ipv6 nhrp
    2004:128:10:254::1/128 via 2004:128:10:254::1
       Tunnel200 created 00:01:32, expire 01:58:27
       Type: dynamic, Flags: router unique local
       NBMA address: 2004:128:10:100::1
        (no-socket)
    2004:128:10:254::2/128 via 2004:128:10:254::2
       Tunnel200 created 00:01:32, expire 01:58:27
       Type: dynamic, Flags: router implicit used nhop
       NBMA address: 2004:128:10:100::2
    2004:128:10:254::7/128 via 2004:128:10:254::7
       Tunnel200 created 00:09:19, never expire
       Type: static, Flags: used
       NBMA address: 2004:128:10:100::7
    FE80::21E:7AFF:FE45:5900/128 via FE80::21E:7AFF:FE45:5900
       Tunnel200 created 00:09:18, never expire
       Type: static, Flags: nhs-ll
       NBMA address: 2004:128:10:100::7
    FE80::21E:F6FF:FE8B:CE00/128 via FE80::21E:F6FF:FE8B:CE00
       Tunnel200 created 00:01:32, expire 00:01:32
       Type: dynamic, Flags: used temporary
       NBMA address: 2004:128:10:100::7

    R1#sh ipv6 ro os
    IPv6 Routing Table - default - 13 entries
    Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
           B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
           I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
           EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
           NDr - Redirect, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1
           OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
           la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eid
           a - Application
    OE2 2004:2:2:2::2/128 [110/20]
         via FE80::21E:F6FF:FE8B:CE00, Tunnel200
    OE2 2004:3:3:3::3/128 [110/20]
         via FE80::21E:49FF:FEED:3400, Tunnel200
    OE2 2004:7:7:7::7/128 [110/20]
         via FE80::21E:7AFF:FE45:5900, Tunnel200

    R1#sh ipv6 rout 2004:2:2:2::2/128
    Routing entry for 2004:2:2:2::2/128
      Known via "ospf 200", distance 110, metric 20, type extern 2
      Route count is 1/1, share count 0
      Routing paths:
        FE80::21E:F6FF:FE8B:CE00, Tunnel200
          Last updated 00:08:47 ago

    R1#sh ipv6 cef 2004:2:2:2::2/128
    2004:2:2:2::2/128
      nexthop FE80::21E:F6FF:FE8B:CE00 Tunnel200
    R1#traceroute 2004:2:2:2::2     
    Type escape sequence to abort.
    Tracing the route to 2004:2:2:2::2

      1 2004:128:10:254::7 2 msec 1 msec 1 msec
      2 2004:128:10:254::2 1 msec 1 msec 1 msec

     

    Thanks,
    Erwin

  • Hello,

     

    I run into similar issue, was this ever resolved, if so how..? I am very curious....

    As per "cristian.matei" advice i enable cef for ipv6, i verfied that next hop is the spoke and not hub, by my traceroute still shows next hop as the hub insted spoke....

    Thanks in advance....

  • Same issue here, running CSR with 03.12.00.S

  • Thank you for this post!! I was on the same situation. with CEF enabled for IPv6 and correct IPV6 NHRP entries for link local address for the spokes.

    I made a trick on spokes mapping statically link local tunnel addreses from other spokes to Gi1.100 Ipv6 underlay addresses and success!!

    I didn't break any statements and didn't use shortcuts :)

    Regards!

Sign In or Register to comment.