OSPFv3 as IGP for your MPLS network

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.

ospfv3

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
!

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s