There is this common misconception that OSPFv3 is all about IPv6. In fact the beauty of OSPFv3 is you can run both IPv4 and IPv6 at the same time. I would even recommend that when you are starting out your network regardless if its a global regular area or an MPLS network to start running OPSFv3 if you can.
It follows the same structure as BGP and EIGRP with address-family sections which makes it easier to read and configure. In the example below, I have labbed up an MPLS network running on route-reflector using OSPFv3 as the IGP and also using OSPFv3 for clients within their VRF.
Yes I will admit, the IP addressing is actually taken from an INE lab and I just used it to create the lab.
SITE A hostname CUSTA ! ipv6 unicast-routing ipv6 cef ! interface Loopback0 ip address 150.1.7.7 255.255.255.255 ipv6 enable ospfv3 10 ipv4 area 10 ! interface FastEthernet0/0 no ip address duplex full ! interface FastEthernet0/0.67 description CUST_A_WAN encapsulation dot1Q 67 ip address 155.1.67.7 255.255.255.0 ipv6 enable ospfv3 10 ipv4 area 10 ! router ospfv3 10 ! address-family ipv4 unicast exit-address-family ! PE 1 hostname PE1 ! ip vrf CUST1 rd 1:1 route-target export 1:1 route-target import 1:1 ! ipv6 unicast-routing ipv6 cef ! interface Loopback0 ip address 150.1.6.6 255.255.255.255 ipv6 enable ospfv3 1 ipv4 area 0 ! interface FastEthernet0/0.67 description PE_TO_CUST1 encapsulation dot1Q 67 ip vrf forwarding CUST1 ip address 155.1.67.6 255.255.255.0 ipv6 enable ospfv3 10 ipv4 area 10 ! interface FastEthernet0/0.146 encapsulation dot1Q 146 ip address 155.1.146.6 255.255.255.0 ipv6 enable mpls ip ospfv3 1 ipv4 area 0 ! router ospfv3 1 ! address-family ipv4 unicast exit-address-family ! router ospfv3 10 ! address-family ipv4 unicast vrf CUST1 default-information originate always exit-address-family ! router bgp 100 bgp log-neighbor-changes neighbor 150.1.1.1 remote-as 100 neighbor 150.1.1.1 update-source Loopback0 ! address-family vpnv4 neighbor 150.1.1.1 activate neighbor 150.1.1.1 send-community extended exit-address-family ! address-family ipv4 vrf CUST1 redistribute connected redistribute ospfv3 20 match internal external 1 external 2 exit-address-family ! RR hostname RR ! no ip domain lookup ipv6 unicast-routing ipv6 cef ! interface Loopback0 ip address 150.1.1.1 255.255.255.255 ipv6 enable ospfv3 1 ipv4 area 0 ! interface FastEthernet0/0 no ip address duplex full ! interface FastEthernet0/0.146 encapsulation dot1Q 146 ip address 155.1.146.1 255.255.255.0 ipv6 enable mpls ip ospfv3 1 ipv4 area 0 ! interface FastEthernet1/0 no ip address shutdown duplex full ! router ospfv3 1 ! address-family ipv4 unicast exit-address-family ! router bgp 100 bgp log-neighbor-changes neighbor 150.1.4.4 remote-as 100 neighbor 150.1.4.4 update-source Loopback0 neighbor 150.1.6.6 remote-as 100 neighbor 150.1.6.6 update-source Loopback0 ! address-family vpnv4 neighbor 150.1.4.4 activate neighbor 150.1.4.4 send-community extended neighbor 150.1.4.4 route-reflector-client neighbor 150.1.6.6 activate neighbor 150.1.6.6 send-community extended neighbor 150.1.6.6 route-reflector-client exit-address-family ! PE-2 hostname PE-2 ! ip vrf CUST1 rd 1:1 route-target export 1:1 route-target import 1:1 ! ipv6 unicast-routing ipv6 cef ! interface Loopback0 ip address 150.1.4.4 255.255.255.255 ipv6 enable ospfv3 1 ipv4 area 0 ! interface FastEthernet0/0 no ip address duplex full ! interface FastEthernet0/0.45 encapsulation dot1Q 45 ip vrf forwarding CUST1 ip address 155.1.45.4 255.255.255.0 ipv6 enable ospfv3 20 ipv4 area 20 ! interface FastEthernet0/0.146 encapsulation dot1Q 146 ip address 155.1.146.4 255.255.255.0 ipv6 enable mpls ip ospfv3 1 ipv4 area 0 ! interface FastEthernet1/0 no ip address shutdown duplex full ! router ospfv3 1 ! address-family ipv4 unicast exit-address-family ! router ospfv3 20 ! address-family ipv4 unicast vrf CUST1 default-information originate always exit-address-family ! router bgp 100 bgp log-neighbor-changes neighbor 150.1.1.1 remote-as 100 neighbor 150.1.1.1 update-source Loopback0 ! address-family vpnv4 neighbor 150.1.1.1 activate neighbor 150.1.1.1 send-community extended exit-address-family ! address-family ipv4 vrf CUST1 redistribute connected redistribute ospfv3 20 match internal external 1 external 2 exit-address-family ! SITE B hostname CUSTB ! no ip domain lookup ipv6 unicast-routing ipv6 cef ! interface Loopback0 ip address 150.1.5.5 255.255.255.255 ipv6 enable ospfv3 20 ipv4 area 20 ! interface FastEthernet0/0 no ip address duplex full ! interface FastEthernet0/0.45 encapsulation dot1Q 45 ip address 155.1.45.5 255.255.255.0 ipv6 enable ospfv3 20 ipv4 area 20 ! interface FastEthernet1/0 no ip address shutdown duplex full ! router ospfv3 20 ! address-family ipv4 unicast exit-address-family !