In previous articles we configured the MPLS core with IS-IS and LDP, we configured also MP-BGP between the PEs and the VPNv4 Route Reflector, and we have tested that we have reachability PE to PE for each VRF/Routing Instance.
In this article, we are going to configure the ODD routers with OSPF as the routing protocol between PE and CE.
Configuring OSPF as PE-CE protocol:
R7:
hostname R7
interface Loopback14
ip address 14.14.14.14 255.255.255.255
interface Loopback77
ip address 77.77.77.77 255.255.255.255
interface Ethernet0/0
ip address 172.16.1.2 255.255.255.0
router ospf 1
network 14.14.14.14 0.0.0.0 area 0
network 77.77.77.77 0.0.0.0 area 0
network 172.16.1.2 0.0.0.0 area 0
R9:
hostname R9
interface Loopback18
ip address 18.18.18.18 255.255.255.255
interface Loopback99
ip address 99.99.99.99 255.255.255.255
interface Ethernet0/0
ip address 172.16.2.2 255.255.255.0
router ospf 1
network 18.18.18.18 0.0.0.0 area 0
network 99.99.99.99 0.0.0.0 area 0
network 172.16.2.2 0.0.0.0 area 0
CiPE:
Cisco IOS PE configuration is very similar using OSPF than using RIP, create OSPF process, assign the interface and redistribute in both directions. An important point to remember is, doesn't forget subnets in the redistribution to OSPF, like in any other redistribution to OSPF.
router ospf 1 vrf ODD
redistribute bgp 100 subnets
network 172.16.1.1 0.0.0.0 area 0
router bgp 100
address-family ipv4 vrf ODD
network 172.16.1.0 mask 255.255.255.0
redistribute ospf 1
exit-address-family
JPE:
Junos OSPF PE-CE configuration is also very similar than RIP. But if your customer doesn't want to receive the routes as external routes you need to create sham links.
set policy-options policy-statement to_OSPF from protocol bgp
set policy-options policy-statement to_OSPF then accept
set routing-instances ODD protocols ospf export to_OSPF
set routing-instances ODD protocols ospf area 0.0.0.0 interface ge-0/0/5.0
Reference link:
Verification:
R7:
The routing table have all the needed routes, ping to the other CE is working, and tracert is also working.
R7#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
14.0.0.0/32 is subnetted, 1 subnets
C 14.14.14.14 is directly connected, Loopback14
18.0.0.0/32 is subnetted, 1 subnets
O E2 18.18.18.18 [110/2] via 172.16.1.1, 00:33:59, Ethernet0/0
77.0.0.0/32 is subnetted, 1 subnets
C 77.77.77.77 is directly connected, Loopback77
99.0.0.0/32 is subnetted, 1 subnets
O E2 99.99.99.99 [110/2] via 172.16.1.1, 00:33:59, Ethernet0/0
172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
C 172.16.1.0/24 is directly connected, Ethernet0/0
L 172.16.1.2/32 is directly connected, Ethernet0/0
O E2 172.16.2.0/24 [110/1] via 172.16.1.1, 00:33:59, Ethernet0/0
R7#ping 99.99.99.99 source loop 77
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 99.99.99.99, timeout is 2 seconds:
Packet sent with a source address of 77.77.77.77
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/4 ms
R7#trace 99.99.99.99
Type escape sequence to abort.
Tracing the route to 99.99.99.99
VRF info: (vrf in name/id, vrf out name/id)
1 172.16.1.1 0 msec 1 msec 4 msec
2 * * *
3 10.0.2.2 [MPLS: Labels 16/17 Exp 0] 4 msec 4 msec 3 msec
4 172.16.2.1 10 msec 4 msec 3 msec
5 172.16.2.2 9 msec 4 msec *
R9:
R9 have also the right information in the routing table, connectivity was tested previously from R7.
R9#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
14.0.0.0/32 is subnetted, 1 subnets
O E1 14.14.14.14 [110/21] via 172.16.2.1, 00:35:00, Ethernet0/0
18.0.0.0/32 is subnetted, 1 subnets
C 18.18.18.18 is directly connected, Loopback18
77.0.0.0/32 is subnetted, 1 subnets
O E1 77.77.77.77 [110/21] via 172.16.2.1, 00:35:00, Ethernet0/0
99.0.0.0/32 is subnetted, 1 subnets
C 99.99.99.99 is directly connected, Loopback99
172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
O E1 172.16.1.0/24 [110/10] via 172.16.2.1, 00:35:00, Ethernet0/0
C 172.16.2.0/24 is directly connected, Ethernet0/0
L 172.16.2.2/32 is directly connected, Ethernet0/0
CiPE:
CiPE shows the local routes via OSPF, and remote routes via BGP as expected.
CiPE#show ip route vrf ODD
Routing Table: ODD
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
14.0.0.0/32 is subnetted, 1 subnets
O 14.14.14.14 [110/11] via 172.16.1.2, 00:42:03, Ethernet0/1
18.0.0.0/32 is subnetted, 1 subnets
B 18.18.18.18 [200/2] via 5.5.5.5, 00:37:50
77.0.0.0/32 is subnetted, 1 subnets
O 77.77.77.77 [110/11] via 172.16.1.2, 00:42:03, Ethernet0/1
99.0.0.0/32 is subnetted, 1 subnets
B 99.99.99.99 [200/2] via 5.5.5.5, 00:37:50
172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
C 172.16.1.0/24 is directly connected, Ethernet0/1
L 172.16.1.1/32 is directly connected, Ethernet0/1
B 172.16.2.0/24 [200/0] via 5.5.5.5, 00:37:50
JPE:
Same behaviour for JPE, the final multicast route is the multicast group that uses OSPF DR to communicate with the remaining devices(NonBDR).
lab@JPE> show route table ODD.inet.0
ODD.inet.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
14.14.14.14/32 *[BGP/170] 00:39:11, MED 11, localpref 100, from 1.1.1.1
AS path: ?, validation-state: unverified
> to 10.0.4.1 via ge-0/0/7.0, Push 24, Push 21(top)
18.18.18.18/32 *[OSPF/10] 00:40:28, metric 2
> to 172.16.2.2 via ge-0/0/5.0
77.77.77.77/32 *[BGP/170] 00:39:11, MED 11, localpref 100, from 1.1.1.1
AS path: ?, validation-state: unverified
> to 10.0.4.1 via ge-0/0/7.0, Push 25, Push 21(top)
99.99.99.99/32 *[OSPF/10] 00:40:28, metric 2
> to 172.16.2.2 via ge-0/0/5.0
172.16.1.0/24 *[BGP/170] 00:39:11, MED 0, localpref 100, from 1.1.1.1
AS path: I, validation-state: unverified
> to 10.0.4.1 via ge-0/0/7.0, Push 26, Push 21(top)
172.16.2.0/24 *[Direct/0] 00:41:13
> via ge-0/0/5.0
172.16.2.1/32 *[Local/0] 00:41:14
Local via ge-0/0/5.0
224.0.0.5/32 *[OSPF/10] 00:42:04, metric 1
MultiRecv