To speed up the reconvergence of EIGRP in MPLS networks -when there’s a backdoor link between sites (outside of MPLS boundary) EIGRP uses SOO extended community attribute to tag the site of origin of particular routes for each site. This method reduces the time of convergence as it eliminates count to infinity of EIGRP which is 100 hops by default in case of loop occurrence. In each site we set a unique SOO ID so PE routers can distinguish between routes based on the site of origin value inside BGP community value of each update.
Configuration on PE:
R2:
ip vrf CUSTOMER1
rd 2.2.2.2:1
route-target export 666:1
route-target import 666:1
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface Ethernet0/0
ip address 172.16.12.2 255.255.255.0
!
interface Ethernet0/1
ip vrf forwarding CUSTOMER1
ip vrf sitemap soo6
ip address 172.16.26.2 255.255.255.0
!
interface Ethernet0/2
ip vrf forwarding CUSTOMER1
ip vrf sitemap soo4
ip address 172.16.24.2 255.255.255.0
!
router eigrp 1
no auto-summary
!
address-family ipv4 vrf CUSTOMER1
redistribute bgp 666 metric 10000 10 255 1 1500
network 172.16.0.0
auto-summary
autonomous-system 10
exit-address-family
!
router ospf 1
mpls ldp autoconfig area 0
log-adjacency-changes
network 0.0.0.0 255.255.255.255 area 0
!
router bgp 666
no synchronization
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 666
neighbor 1.1.1.1 update-source Loopback0
neighbor 3.3.3.3 remote-as 666
neighbor 3.3.3.3 update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 send-community extended
neighbor 3.3.3.3 activate
neighbor 3.3.3.3 send-community extended
exit-address-family
!
address-family ipv4 vrf CUSTOMER1
redistribute eigrp 10
no synchronization
exit-address-family
!
route-map soo6 permit 10
set extcommunity soo 10:6
!
route-map soo4 permit 10
set extcommunity soo 10:4
!
R3:
ip vrf CUSTOMER1
rd 2.2.2.2:1
route-target export 666:1
route-target import 666:1
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface Ethernet0/0
ip address 172.16.30.3 255.255.255.0
!
interface Ethernet0/1
ip vrf forwarding CUSTOMER1
ip vrf sitemap soo5
ip address 172.16.35.3 255.255.255.0
!
interface Ethernet0/2
ip vrf forwarding CUSTOMER1
ip vrf sitemap soo7
ip address 172.16.37.3 255.255.255.0
!
router eigrp 1
no auto-summary
!
address-family ipv4 vrf CUSTOMER1
redistribute bgp 666 metric 10000 10 255 1 1500
network 172.16.0.0
auto-summary
autonomous-system 10
exit-address-family
!
router ospf 1
mpls ldp autoconfig area 0
log-adjacency-changes
network 0.0.0.0 255.255.255.255 area 0
!
router bgp 666
no synchronization
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 666
neighbor 1.1.1.1 update-source Loopback0
neighbor 2.2.2.2 remote-as 666
neighbor 2.2.2.2 update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 send-community extended
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
exit-address-family
!
address-family ipv4 vrf CUSTOMER1
redistribute eigrp 10
no synchronization
exit-address-family
!
route-map soo7 permit 10
set extcommunity soo 10:7
!
route-map soo5 permit 10
set extcommunity soo 10:5
!
R3#sh ip bgp vpn all 172.16.45.0
BGP routing table entry for 2.2.2.2:1:172.16.45.0/24, version 174
Paths: (2 available, best #1, table CUSTOMER1)
Flag: 0×820
Advertised to update-groups:
1
Local
172.16.35.5 from 0.0.0.0 (3.3.3.3)
Origin incomplete, metric 537600, localpref 100, weight 32768, valid, sourced, best
Extended Community: SoO:10:5 RT:666:1 Cost:pre-bestpath:128:537600
0×8800:32768:0 0×8801:10:281600 0×8802:65281:256000 0×8803:65281:1500
mpls labels in/out 21/nolabel
Local
2.2.2.2 (metric 31) from 2.2.2.2 (2.2.2.2)
Origin incomplete, metric 537600, localpref 100, valid, internal
Extended Community: SoO:10:4 RT:666:1 Cost:pre-bestpath:128:537600
0×8800:32768:0 0×8801:10:281600 0×8802:65281:256000 0×8803:65281:1500
mpls labels in/out 21/33
R3#sh ip bgp vpn all
BGP table version is 174, local router ID is 3.3.3.3
Origin codes: i – IGP, e – EGP, ? – incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 2.2.2.2:1 (default for vrf CUSTOMER1)
*>i150.1.4.4/32 2.2.2.2 409600 100 0 ?
*> 150.1.5.5/32 172.16.35.5 409600 32768 ?
*>i150.1.6.6/32 2.2.2.2 409600 100 0 ?
*> 150.1.7.7/32 172.16.37.7 409600 32768 ?
*> 172.16.24.0/24 172.16.35.5 563200 32768 ?
* i 2.2.2.2 0 100 0 ?
*>i172.16.26.0/24 2.2.2.2 0 100 0 ?
r>i172.16.35.0/24 2.2.2.2 563200 100 0 ?
r 0.0.0.0 0 32768 ?
*> 172.16.37.0/24 0.0.0.0 0 32768 ?
*> 172.16.45.0/24 172.16.35.5 537600 32768 ?
* i 2.2.2.2 537600 100 0 ?