IPv6 OSPFv3 Default Route

This topic is to discuss the following lesson:


Why do you have to activate OSPF on the interface? You don’t have to do this for IPv4.

This question was originally posted by @maxturpin, I’m not sure why it has changed ownership. However, I will answer the question here.

OSPFv3 has a different philosophy than OSPFv2 for IPv4. In IPv4, OSPF is enabled globally and the participating networks are added using the network command. OSPFv3 functions differently. You enable OSPF on the participating interface. in this way, you are indicating which subnets are participating (the subnet directly connected to the interface) and you are also indicating the area to which the interface belongs. This is more intuitive than the configuration method of OSPFv2 because OSPF configuration is inherently connected to interfaces. Both types of logic work, however, OSPFv3 seems a bit more elegant. It is also easier to implement since you don’t have to think about what subnets you will include, but what interfaces will participate.

I hope this has been helpful!


1 Like

Hi Rene,
What is signfinace of TAG value …I see it get changes in examples . For example ,in your document it is 1 and in my example it is 100

R1#sh ipv6 route
IPv6 Routing Table - default - 4 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
       H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
       IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO
       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, l - LISP
OE2 ::/0 [110/1], **tag 100**
     via FE80::A8BB:CCFF:FE00:100, Ethernet0/0
C   2001:DB8:12:12::/64 [0/0]
     via Ethernet0/0, directly connected
L   2001:DB8:12:12::1/128 [0/0]
     via Ethernet0/0, receive
L   FF00::/8 [0/0]
     via Null0, receive

Hi Vinod,

Good question, I never really noticed it before. The answer is in the RFC:


Inclusion of a forwarding address or external route tag in AS-external-LSAs is now optional. In addition, AS-external-LSAs can now reference another LSA, for inclusion of additional route attributes that are outside the scope of the OSPF protocol. For example, this reference could be used to attach BGP path attributes to external routes.

The external route tag is present in the AS-external-LSA if and only if the AS-external-LSA’s bit T is set.

Seems they decided to add a route tag by default for OSPFv3 external routes. We use these tags in redistribution:


Hi Rene/Laz
Could you explain this sentence: “We don’t need global unicast addresses for OSPFv3 but we will need them if we want to send a ping from R1 to R2’s loopback address”


Hello Philip

IPv6 introduces various types of addresses including link local addresses. These are addresses that are automatically assigned to any IPv6 enabled interface. OSPF and other dynamic routing protocols, use these addresses as the source and destination of their hello packets and their exchange of routing information. For this reason, no global unicast address need be configured on any interface of a router participating in OSPF. In short, control plane traffic will use link local addresses for the exchange of control information, in this instance, OSPF messages.

Global unicast addresses on the other hand, are assigned to hosts that want to communicate on a network. These are the devices that actually send data on the network to be routed by the routers. These devices must have global unicast addresses. This is considered data plane traffic, that is, traffic sent by end devices with user data such as emails, web content, voice conversations, file transfers etc… Such traffic requires global unicast addressing, and it is the prefixes of these global unicast addresses that are being exchanged by the OSPF protocol.

So in order to be able to ping (data plane traffic) from the Gi0/1 interface of R1 to the loopback address of R2, R1 must have a global unicast address on the Gi0/1 interface.

You can find out more about link local and global unicast addresses here:

I hope this has been helpful!


Hi all,

I’m using 3 7200 routers with IOS 15.2. I didn’t configure global unicast addresses on the physical interfaces but the ping is working. I did a packet capture and it seems the source IP address is my loopback address which indeed is configured with a global address.
Shouldn’t the ping use the physical interface’s IP as source? Or because I didn’t configure one it used the loopback address?


Hello Vlad

When pinging using IPv6, the router will always use a global unicast address as the source address. This is because link local addresses are not routable. That is, link local addresses cannot be routed beyond the network segment in which they are assigned. In your case, if none of the physical interfaces have global unicast addresses, then it will use the global unicast address assigned to the loopback interface.

Keep in mind that if a router doesn’t have an interface with a global unicast address, the ping will fail. Indeed, the error that appears states that either the address entered is incorrect, or that the appropriate protocol is not running.

According to the ICMPv6 RFC 4443, the choice of the source IPv6 address depends on various factors.

I hope this has been helpful!


1 Like