Although OSPF PE-CE connections assume that the only path between two client sites is across the MPLS VPN backbone, backdoor paths between VPN sites (shown in grey in the figure below) may exist. If these sites belong to the same OSPF area, the path over a backdoor link will always be selected because OSPF prefers intraarea paths to interarea paths. (PE routers advertise OSPF routes learned over the VPN backbone as interarea paths.) For this reason, OSPF backdoor links between VPN sites must be taken into account so that routing is performed based on policy.
For example, the figure above shows three client sites, each with backdoor links. Because each site runs OSPF within the same Area 1 configuration, all routing between the three sites follows the intraarea path across the backdoor links, rather than over the MPLS VPN backbone.
The following example shows BGP routing table entries for the prefix 10.3.1.7/32 in the PE-1 router in the figure above. This prefix is the loopback interface of the Winchester CE router. As shown in bold in this example, the loopback interface is learned via BGP from PE-2 and PE-3. It is also generated through redistribution into BGP on PE-1.
PE-1# show ip bgp vpnv4 all 10.3.1.7BGP routing table entry for 100:251:10.3.1.7/32, version 58Paths: (3 available, best #2) Advertised to non peer-group peers: 10.3.1.2 10.3.1.5 Local 10.3.1.5 (metric 30) from 10.3.1.5 (10.3.1.5) Origin incomplete, metric 22, localpref 100, valid, internal Extended Community: RT:1:793 OSPF DOMAIN ID:0.0.0.100 OSPF RT:1:2:0 OSPF 2 Local 10.2.1.38 from 0.0.0.0 (10.3.1.6) Origin incomplete, metric 86, localpref 100, weight 32768, valid, sourced, best Extended Community: RT:1:793 OSPF DOMAIN ID:0.0.0.100 OSPF RT:1:2:0 OSPF 2 Local 10.3.1.2 (metric 30) from 10.3.1.2 (10.3.1.2) Origin incomplete, metric 11, localpref 100, valid, internal Extended Community: RT:1:793 OSPF DOMAIN ID:0.0.0.100 OSPF RT:1:2:0 OSPF 2
Within BGP, the locally generated route (10.2.1.38) is considered to be the best route. However, as shown in bold in the next example, the VRF routing table shows that the selected path is learned via OSPF with a next hop of 10.2.1.38, which is the Vienna CE router.
PE-1# show ip route vrf ospf 10.3.1.7Routing entry for 10.3.1.7/32 Known via "ospf 100", distance 110, metric 86, type intra area Redistributing via bgp 215 Advertised by bgp 215 Last update from 10.2.1.38 on Serial0/0/0, 00:00:17 ago Routing Descriptor Blocks: * 10.2.1.38, from 10.3.1.7, 00:00:17 ago, via Serial0/0/0 Route metric is 86, traffic share count is 1
This path is selected because:
- The OSPF intra-area path is preferred over the interarea path (over the MPLS VPN backbone) generated by the PE-1 router.
- OSPF has a lower administrative distance (AD) than internal BGP (BGP running between routers in the same autonomous system).
If the backdoor links between sites are used only for backup purposes and do not participate in the VPN service, then the default route selection shown in the preceding example is not acceptable. To reestablish the desired path selection over the MPLS VPN backbone, you must create an additional OSPF intra-area (logical) link between ingress and egress VRFs on the relevant PE routers. This link is called a sham-link.
A sham-link is required between any two VPN sites that belong to the same OSPF area and share an OSPF backdoor link. If no backdoor link exists between the sites, no sham-link is required.
The figure below shows a sample sham-link between PE-1 and PE-2. A cost is configured with each sham-link and is used to decide whether traffic will be sent over the backdoor path or the sham-link path. When a sham-link is configured between PE routers, the PEs can populate the VRF routing table with the OSPF routes learned over the sham-link.
Because the sham-link is seen as an intra-area link between PE routers, an OSPF adjacency is created and database exchange (for the particular OSPF process) occurs across the link. The PE router can then flood LSAs between sites from across the MPLS VPN backbone. As a result, the desired intra-area connectivity is created.
The section, "Creating a Sham-Link", describes how to configure a sham-link between two PE routers. For more information about how to configure OSPF, refer to the "Configuring OSPF" module.