Back to OSPF Guide IPv6 routing lesson

OSPFv3 for IPv6

Build an IPv6 adjacency with link-local addresses, advertise global IPv6 prefixes, and prove each result with the neighbor table, LSDB, and routing table.

OSPFv3IPv6Link-LocalFF02::5Protocol 89

OSPFv3 at a Glance

OSPFv3 keeps the link-state ideas you know from OSPFv2: areas, neighbors, DR/BDR elections, cost, SPF, and an LSDB. The main change is how the protocol works with IPv6 links and prefixes.

Neighbor sourceIPv6 link-local
Router ID32-bit value
All OSPF routersFF02::5
IP protocol89
Core idea: The link-local address builds the neighbor relationship. Global IPv6 prefixes are the destinations OSPFv3 advertises and routes.

In This Lesson

  1. Read the IPv6 Lab Topology
  2. Compare OSPFv2 and OSPFv3
  3. Understand Link-Local Addresses and Router IDs
  4. Configure the Baseline Adjacency
  5. Follow Neighbor and Packet Behavior
  6. Understand OSPFv3 LSAs and Prefixes
  7. Verify the Complete Routing Path
  8. Troubleshoot Common Failures
  9. Complete the Guided Practice Lab
  10. Review Frequently Asked Questions

1. Read the IPv6 Lab Topology

R1 and R2 share one Ethernet link in Area 0. Each router also has a loopback prefix. The shared link forms the adjacency; the loopbacks prove that IPv6 routes are exchanged.

Router ID 1.1.1.1R1Lo0 · 2001:db8:1::1/128G0/0 · FE80::1
Router ID 2.2.2.2R2Lo0 · 2001:db8:2::2/128G0/0 · FE80::2
Target result: R1 and R2 reach FULL, and each router learns the other router's loopback as an OSPFv3 route.
Documentation prefix: This lab uses 2001:db8::/32, which is reserved for examples. Replace it with your assigned IPv6 space in a real network.

2. Compare OSPFv2 and OSPFv3

TopicOSPFv2OSPFv3 for IPv6
Primary use in this lessonIPv4 routingIPv6 routing
Neighbor addressingIPv4 interface addressesIPv6 link-local addresses
ActivationOften uses network statementsClassic IOS commonly enables it on each interface
Router ID32-bit dotted decimalStill 32-bit dotted decimal
All-router multicast224.0.0.5FF02::5
DR/BDR multicast224.0.0.6FF02::6
Protocol number8989

OSPFv3 runs per link rather than being tied to an IPv6 subnet. This lets neighbors form with link-local addresses even before a global unicast prefix is configured on that link.

Modern platforms: Some Cisco releases support an OSPFv3 address-family model and can carry IPv4 too. This lesson uses the widely recognized classic IOS IPv6 syntax so the learning path stays clear.

4. Configure the Baseline Adjacency

Enable IPv6 forwarding, create a unique OSPFv3 process identity, and activate the process on the correct interfaces.

R1 configuration

ipv6 unicast-routing
!
ipv6 router ospf 1
 router-id 1.1.1.1
!
interface GigabitEthernet0/0
 ipv6 address FE80::1 link-local
 ipv6 address 2001:db8:12::1/64
 ipv6 ospf 1 area 0
 no shutdown
!
interface Loopback0
 ipv6 address 2001:db8:1::1/128
 ipv6 ospf 1 area 0

R2 configuration

ipv6 unicast-routing
!
ipv6 router ospf 1
 router-id 2.2.2.2
!
interface GigabitEthernet0/0
 ipv6 address FE80::2 link-local
 ipv6 address 2001:db8:12::2/64
 ipv6 ospf 1 area 0
 no shutdown
!
interface Loopback0
 ipv6 address 2001:db8:2::2/128
 ipv6 ospf 1 area 0
Why configure link-local manually? IOS can create one automatically, but fixed values make lab output easier to read and compare. The manually assigned values must be unique on this link.

5. Follow Neighbor and Packet Behavior

OSPFv3 uses the same five packet roles and familiar neighbor states as OSPFv2. The packets travel over IPv6 and use link-local scope on the local link.

1

Hello

Routers discover each other on FF02::5 and check area, timers, options, and network behavior.

2

DBD

Neighbors summarize the LSAs they already hold during ExStart and Exchange.

3

LSR

Each router requests a complete copy of a missing or newer LSA.

4

LSU

The requested LSAs arrive in Link-State Update packets.

5

LSAck

Acknowledgments make flooding reliable and help the neighbors stay synchronized.

The normal journey is Down → Init → 2-Way → ExStart → Exchange → Loading → Full. Broadcast networks still use DR and BDR roles; point-to-point links do not.

6. Understand OSPFv3 LSAs and Prefixes

OSPFv3 separates topology information from much of the IPv6 prefix information. This is different from OSPFv2, where key IPv4 addressing details are carried directly in Router and Network LSAs.

OSPFv3 LSASimple purposeScope
Router LSADescribes router links and topologyArea
Network LSADescribes routers attached to a transit networkArea
Inter-Area Prefix LSAAdvertises IPv6 prefixes between areasArea
AS-External LSAAdvertises redistributed IPv6 routesOSPF domain
Link LSAShares link-local address and prefixes on one linkLink
Intra-Area Prefix LSAAssociates IPv6 prefixes with local topologyArea
Beginner checkpoint: You do not need to memorize every hexadecimal OSPFv3 LSA code first. Learn which information is link-local, area-local, or domain-wide.

7. Verify the Complete Routing Path

Verify in layers: IPv6 interface, link-local reachability, OSPFv3 neighbor, LSDB, route table, and final ping.

Check IPv6 interfaces

R1# show ipv6 interface brief
GigabitEthernet0/0 [up/up]
  FE80::1
  2001:DB8:12::1
Loopback0 [up/up]
  2001:DB8:1::1

Check the neighbor

R1# show ipv6 ospf neighbor

Neighbor ID  Pri  State   Dead Time  Interface ID  Interface
2.2.2.2        1  FULL/DR 00:00:36   3             Gi0/0

Check the learned route

R1# show ipv6 route ospf

O   2001:DB8:2::2/128 [110/1]
    via FE80::2, GigabitEthernet0/0

Test the destination

R1# ping ipv6 2001:db8:2::2 source loopback0
Type escape sequence to abort.
Success rate is 100 percent (5/5)
  • ping ipv6 FE80::2 source GigabitEthernet0/0 proves link-local reachability.
  • show ipv6 ospf interface proves area, timers, cost, network type, and process activation.
  • show ipv6 ospf database proves the prefix reached the LSDB.
  • show ipv6 route ospf proves the best OSPFv3 route reached the routing table.

8. Troubleshoot Common Failures

Separate neighbor problems from prefix and forwarding problems. A Full neighbor proves database synchronization; it does not prove every IPv6 address or route is correct.

SymptomLikely causeCheck first
No OSPFv3 process or routesIPv6 forwarding or process activation missingshow running-config | section ipv6
No neighbor entryWrong interface/area, passive interface, link failure, or blocked FF02::5/protocol 89Interface status and show ipv6 ospf interface
Neighbor stuck in InitOne-way Hello communicationACLs, multicast, and return direction
Neighbor stuck in ExStart/ExchangeMTU mismatch, duplicate router ID, or packet lossMTU and router ID on both routers
Neighbor Full, prefix missing from LSDBOSPFv3 not enabled on source interface or interface is passive as designedSource-interface OSPFv3 configuration
Route uses FE80:: next hopNormal OSPFv3 behaviorConfirm the displayed outgoing interface
Route exists but ping failsReturn route, ACL, source address, or host policyForward and return IPv6 paths
Security note: OSPFv3 authentication support and syntax vary by platform. OSPFv3 historically used IPsec, and newer systems may support an authentication trailer. Follow the exact documentation for your software release.

9. Guided Practice Lab

Save a healthy baseline before each change. Introduce one fault, use evidence to find it, and restore the baseline.

Task 1: Build and Prove OSPFv3

  1. Configure the topology exactly as shown.
  2. Verify both link-local addresses.
  3. Confirm the neighbor reaches Full.
  4. Find the remote loopback in the LSDB and route table.
  5. Ping the remote loopback from the local loopback.

Expected result: You can trace one IPv6 prefix from interface configuration to successful forwarding.

Task 2: Prove Link-Local Behavior

  1. Record the neighbor's router ID and next-hop address.
  2. Remove the global /64 from the shared link only.
  3. Keep link-local addresses and OSPFv3 enabled.
  4. Check whether the adjacency remains Full.
  5. Restore the global /64 and test traffic again.

Expected result: You explain why adjacency can survive without a global address on the transit link.

Task 3: Diagnose Two Safe Faults

  1. Move R2's G0/0 into Area 1 and capture the result.
  2. Restore Area 0 and prove recovery.
  3. Create a duplicate router ID in an isolated lab.
  4. Capture logs and neighbor behavior.
  5. Restore a unique ID and verify route stability.

Expected result: You diagnose area and identity problems without random configuration changes.

10. Frequently Asked Questions

Does OSPFv3 still need a router ID?

Yes. It uses a unique 32-bit value written in dotted-decimal format. Configure it manually even when the router has no IPv4 addresses.

Can OSPFv3 neighbors form without global IPv6 addresses?

Yes. OSPFv3 normally forms the relationship with link-local addresses. You still need appropriate global prefixes for global IPv6 forwarding.

Where is OSPFv3 enabled on Cisco IOS?

With classic IOS syntax, create the global process and use ipv6 ospf 1 area 0 on each participating interface. Some newer platforms also offer an address-family model.

Why does an OSPFv3 route show a link-local next hop?

This is normal. OSPFv3 communicates with its neighbor through the link-local address, and the route also identifies the outgoing interface for that link.

Which multicast addresses does OSPFv3 use?

It uses FF02::5 for all OSPF routers and FF02::6 for DR/BDR communication. Both have link-local scope.