Showing posts with label EIGRP. Show all posts
Showing posts with label EIGRP. Show all posts

Saturday, January 14, 2017

CCIE SPv4- MPLS L3 VPN - EIGRP PE-CE Routing - Site of Origin

Software versions:
IOS XE 15.5
IOS XR 5.3

The topology for this demo:
In this post we will be taking a look at EIGRP and Site of Origin, like BGP, this is used to manipulate how we will route via backdoor links vs how we route over MPLS. Our demo will focus on R3 and XR1 as the PEs and R7 and R12 as the CE. 

Site of Origins job is to help control how we learn routing updates, and prevent feedback on the wrong links during recovergence. We will configure a new backdoor link between R7 and R12 and run EIGRP over that link, we'll also use EIGRP to peer with the PEs. The idea is to use the backdoor link and to not use the MPLS circuit. I don't normally recommend using backdoor links in this manner, getting high speed P2P connectivity between sites today is relatively easy. 

So the idea here is to prefer the Backdoor path and not the MPLS link. 


R7
R7#sh ip route vrf EIGRP eigrp | b Gateway
Gateway of last resort is not set

      59.0.0.0/24 is subnetted, 1 subnets
D        59.0.0.0 [90/15360] via 37.0.0.3, 00:07:12, GigabitEthernet1.37
      83.0.0.0/24 is subnetted, 1 subnets
D        83.0.0.0 [90/15360] via 37.0.0.3, 00:07:12, GigabitEthernet1.37
      90.0.0.0/24 is subnetted, 1 subnets
D        90.90.90.0 [90/16000] via 37.0.0.3, 00:07:12, GigabitEthernet1.37
      106.0.0.0/24 is subnetted, 1 subnets
D        106.0.0.0 [90/15360] via 37.0.0.3, 00:07:12, GigabitEthernet1.37
      113.0.0.0/24 is subnetted, 1 subnets
D        113.0.0.0 [90/15360] via 37.0.0.3, 00:07:12, GigabitEthernet1.37
      131.0.0.0/24 is subnetted, 1 subnets
D        131.0.0.0 [90/15360] via 37.0.0.3, 00:07:12, GigabitEthernet1.37
      172.16.0.0/32 is subnetted, 2 subnets
D        172.16.12.12 [90/10880] via 12.7.0.12, 00:07:12, GigabitEthernet1.127
D EX  192.168.100.0/24 [170/16000] via 37.0.0.3, 00:07:12, GigabitEthernet1.37
D     192.168.112.0/24 [90/15360] via 37.0.0.3, 00:07:12, GigabitEthernet1.37
                       [90/15360] via 12.7.0.12, 00:07:12, GigabitEthernet1.127

R7#traceroute vrf EIGRP 172.16.12.12 num
Type escape sequence to abort.
Tracing the route to 172.16.12.12
VRF info: (vrf in name/id, vrf out name/id)
  1 12.7.0.12 4 msec *  2 msec

The irony of this configuration is that the current RIB won't change much, what will happen is the way the updates are learned. From R7s perspective, it knows to reach R12's loopback via the backdoor link, if the backdoor link, with not EIGRP SoO configured, would be learned over the MPLS network. 99% of cases this would be acceptable for failover/HA requirements. If this is not desirable, then SoO would be a solution. So the above output to prove that R7 will use the backdoor link is valid, but from a failover perspective, if the BD went away, so would that route. This is because XR1 will propagate the route to R3 but since SoO is configured, that route won't get propagated to R7. 

R3
route-map EIGRP_SOO permit 10
 set extcommunity soo 90:90
!
interface GigabitEthernet1.37
 encapsulation dot1Q 37
 ip vrf sitemap EIGRP_SOO

XR1
router eigrp CCIE
 vrf EIGRP
  address-family ipv4
   interface GigabitEthernet0/0/0/0.121
    site-of-origin 90:90

RP/0/0/CPU0:XR1#sh eigrp vrf EIGRP topology 172.16.7.7/32 | b Extended
Sat Jan 14 16:56:48.171 UTC
      Extended Community:
            SoO:90:90

R3#$dress-family ipv4 vrf EIGRP topology 172.16.12.12/32 | b Extended
      Extended Community: SoO:90:90

As you can see, the updates on R3 learn about R12s loopback and XR1 sees R7s loopback, mind you these are the non-directly connected CE sites. This shows that the SoO was propagated and honored.

This is pretty much the configuration. Any additional route updates that are received from the CE will be dropped on the outgoing PE to the remote CE.

Thanks for stopping by!
Rob Riker, CCIE #50693

CCIE SPv4 - MPLS L3 VPN - EIGRP PE-CE Routing - Manual Redistribution

Software versions:
IOS XE 15.5
IOS XR 5.3

The topology for this demo:
In this post we will take a look at manually manipulating the EIGRP to BGP redistribution that is automatically handled by default on IOS with the "populate bgp-ext-comm" command and manually configuring the EIGRP default mertic in XR. Although an additional configuration option, no real world use case comes to mind that would need manual configuration. Regardless, I will cover it as it is an option that maybe tested on. The idea is very simple, EIGRP metrics are automatically copied to BGP extended community values and propagated via VPNv4/VPNv6. There maybe a situation where this needs to be modified. Let's take a look at how the BGP VPNv4 tabel for VRF EIGRP looks now and we can begin the demo.

R1#sh bgp vpnv4 unicast vrf EIGRP 192.168.100.0
BGP routing table entry for 90:50693:192.168.100.0/24, version 363
Paths: (2 available, best #2, table EIGRP)
  Not advertised to any peer
  Refresh Epoch 1
  Local
    192.168.1.13 (metric 3) (via default) from 192.168.1.14 (192.168.1.14)
      Origin incomplete, metric 10880, localpref 100, valid, internal
      Extended Community: RT:90:50693 Cost:pre-bestpath:129:10880 0x8800:0:0
        0x8801:90:288 0x8802:65281:2560 0x8803:1:1500 0x8804:0:1895825422
        0x8805:11:0
      Originator: 192.168.1.13, Cluster list: 192.168.1.14
      mpls labels in/out nolabel/24020
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 2
  Local
    192.168.1.13 (metric 3) (via default) from 192.168.1.2 (192.168.1.2)
      Origin incomplete, metric 10880, localpref 100, valid, internal, best
      Extended Community: RT:90:50693 Cost:pre-bestpath:129:10880 0x8800:0:0
        0x8801:90:288 0x8802:65281:2560 0x8803:1:1500 0x8804:0:1895825422
        0x8805:11:0
      Originator: 192.168.1.13, Cluster list: 192.168.1.2
      mpls labels in/out nolabel/24020
      rx pathid: 0, tx pathid: 0x0

As you can see, R1 receives the info from R2 and XR4 with the BGP extended communities added in. 

To be clear, disabling the auto propagation will cause the routes to be lost. I'll disable the population and level set.

R1
router eigrp CCIE
 !
 address-family ipv4 unicast vrf EIGRP autonomous-system 90
  no populate bgp-ext-comm

R13#sh ip route vrf EIGRP | b Gateway
Gateway of last resort is not set

      90.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        90.90.90.0/24 is directly connected, Loopback90
L        90.90.90.13/32 is directly connected, Loopback90
      131.0.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        131.0.0.0/24 is directly connected, GigabitEthernet1.1090
L        131.0.0.13/32 is directly connected, GigabitEthernet1.1090

As you can see, R13 has lost all of it's routes. We have 2 choices to fix this, either the "default-metric" or we can manually define the metrics. 

R1
router eigrp CCIE
 !
 address-family ipv4 unicast vrf EIGRP autonomous-system 90
  !
  topology base
   redistribute bgp 50693 metric 1000000 1 255 1 1500

R13
R13#sh ip route vrf EIGRP eigrp | b Gateway
Gateway of last resort is not set

      59.0.0.0/24 is subnetted, 1 subnets
D EX     59.0.0.0 [170/15360] via 131.0.0.1, 00:02:18, GigabitEthernet1.1090
      83.0.0.0/24 is subnetted, 1 subnets
D EX     83.0.0.0 [170/15360] via 131.0.0.1, 00:02:18, GigabitEthernet1.1090
      106.0.0.0/24 is subnetted, 1 subnets
D EX     106.0.0.0 [170/15360] via 131.0.0.1, 00:02:18, GigabitEthernet1.1090
      113.0.0.0/24 is subnetted, 1 subnets
D EX     113.0.0.0 [170/15360] via 131.0.0.1, 00:02:18, GigabitEthernet1.1090
D EX  192.168.100.0/24
           [170/15360] via 131.0.0.1, 00:02:18, GigabitEthernet1.1090

You'll notice that all of the EIGRP routes now show up as D EX, that is because the auto propagation that we've always used has been disabled and now the PE router acts as an injection point. We lose the visibility that we had prior to redistribution. Now I'll demo the default metric option.

R1
router eigrp CCIE
 !
 address-family ipv4 unicast vrf EIGRP autonomous-system 90
  !
  topology base
   default-metric 100000 10 255 1 1400
   redistribute bgp 50693

R13
R13#sh ip route vrf EIGRP eigrp | b Gateway
Gateway of last resort is not set

      59.0.0.0/24 is subnetted, 1 subnets
D EX     59.0.0.0 [170/107520] via 131.0.0.1, 00:00:05, GigabitEthernet1.1090
      83.0.0.0/24 is subnetted, 1 subnets
D EX     83.0.0.0 [170/107520] via 131.0.0.1, 00:00:05, GigabitEthernet1.1090
      106.0.0.0/24 is subnetted, 1 subnets
D EX     106.0.0.0 [170/107520] via 131.0.0.1, 00:00:05, GigabitEthernet1.1090
      113.0.0.0/24 is subnetted, 1 subnets
D EX     113.0.0.0 [170/107520] via 131.0.0.1, 00:00:05, GigabitEthernet1.1090
D EX  192.168.100.0/24
           [170/107520] via 131.0.0.1, 00:00:05, GigabitEthernet1.1090

Both options work, default metric in my opinion is a bit more scalable since you dictate the values once and you can have several redistribution points into EIGRP and not have to manipulate each redistribution point. There is one other option available to us, that is redistribution with a route-map. This is just as scalable as the default metric feature but is globally configured and applied under the process.

R1
router eigrp CCIE
 !
 address-family ipv4 unicast vrf EIGRP autonomous-system 90
  !
  topology base
   redistribute bgp 50693 route-map BGP_TO_EIGRP
route-map BGP_TO_EIGRP permit 10
 set metric 1000000 1 255 1 1455

R13
R13#sh ip route vrf EIGRP eigrp | b Gateway
Gateway of last resort is not set

      59.0.0.0/24 is subnetted, 1 subnets
D EX     59.0.0.0 [170/15360] via 131.0.0.1, 00:00:06, GigabitEthernet1.1090
      83.0.0.0/24 is subnetted, 1 subnets
D EX     83.0.0.0 [170/15360] via 131.0.0.1, 00:00:06, GigabitEthernet1.1090
      106.0.0.0/24 is subnetted, 1 subnets
D EX     106.0.0.0 [170/15360] via 131.0.0.1, 00:00:06, GigabitEthernet1.1090
      113.0.0.0/24 is subnetted, 1 subnets
D EX     113.0.0.0 [170/15360] via 131.0.0.1, 00:00:06, GigabitEthernet1.1090
D EX  192.168.100.0/24
           [170/15360] via 131.0.0.1, 00:00:06, GigabitEthernet1.1090

So either way you want to rollout it out, there are options. Let's take a look at the XR variants. The output below is a dump from BGP VPNv4 VRF EIGRP. As you can see, the information that XR3 learns has all the info from EIGRP as BGP extended communities. 

RP/0/0/CPU0:XR3(config-eigrp-vrf-af)#do sh bgp vpnv4 unicast vrf EIGRP 131.0.0$
Sat Jan 14 14:15:16.206 UTC
      Extended community: COST:128:128:10240 EIGRP route-info:0x8000:0 EIGRP AD:90:256 EIGRP RHB:255:0:2560 EIGRP LM:0xff:1:1500 EIGRP VRR:0x0:1.0.0.131 RT:90:50693

RP/0/0/CPU0:XR3(config)#do sh eigrp vrf EIGRP ipv4 topology 131.0.0.0/24
Sat Jan 14 14:20:14.025 UTC

IPv4-EIGRP VR(CCIE) AS(90) VRF EIGRP: Topology entry for 131.0.0.0/24
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 1310720, RIB is 10240
  Routing Descriptor Blocks:
  192.168.1.1, from VPNv4 Sourced, Send flag is 0x0
      Composite metric is (1310720/0), Route is Internal (VPNv4 Sourced)
      Vector metric:
        Minimum bandwidth is 1000000 Kbit
        Total delay is 10000000 picoseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 0
        Originating router is 131.0.0.1

Since we haven't really manipulated anything yet, there isn't much going on, but I wanted to show you the difference between a CE RIB (R14) with the autopropagation working and it not.

R14#sh ip route vrf EIGRP eigrp | b Gateway
Gateway of last resort is not set

      59.0.0.0/24 is subnetted, 1 subnets
D        59.0.0.0 [90/15360] via 113.0.0.13, 08:14:44, GigabitEthernet1.1090
      83.0.0.0/24 is subnetted, 1 subnets
D        83.0.0.0 [90/15360] via 113.0.0.13, 08:15:21, GigabitEthernet1.1090
      90.0.0.0/24 is subnetted, 1 subnets
D        90.90.90.0 [90/16000] via 113.0.0.13, 08:15:21, GigabitEthernet1.1090
      106.0.0.0/24 is subnetted, 1 subnets
D        106.0.0.0 [90/15360] via 113.0.0.13, 08:15:04, GigabitEthernet1.1090
      131.0.0.0/24 is subnetted, 1 subnets
D        131.0.0.0 [90/15360] via 113.0.0.13, 08:15:06, GigabitEthernet1.1090

I will test out the route-policy variation as the default metric works identically in XR as it did in IOS.


R14#sh ip route vrf EIGRP eigrp | b Gateway
Gateway of last resort is not set

      59.0.0.0/24 is subnetted, 1 subnets
D        59.0.0.0 [90/5637120] via 113.0.0.13, 00:00:06, GigabitEthernet1.1090
      83.0.0.0/24 is subnetted, 1 subnets
D        83.0.0.0 [90/5637120] via 113.0.0.13, 00:00:06, GigabitEthernet1.1090
      90.0.0.0/24 is subnetted, 1 subnets
D        90.90.90.0
           [90/5637120] via 113.0.0.13, 00:00:06, GigabitEthernet1.1090
      106.0.0.0/24 is subnetted, 1 subnets
D        106.0.0.0
           [90/5637120] via 113.0.0.13, 00:00:06, GigabitEthernet1.1090
      131.0.0.0/24 is subnetted, 1 subnets
D        131.0.0.0
           [90/5637120] via 113.0.0.13, 00:00:06, GigabitEthernet1.1090

XR3
route-policy BGP_TO_EIGRP
  set eigrp-metric 1000 100 255 1 1500
end-policy
!
router eigrp CCIE
 vrf EIGRP
  address-family ipv4
   autonomous-system 90
   redistribute bgp 50693 route-policy BGP_TO_EIGRP

It looks identical from the two RIB outputs on R14, however if you look at the total cost to reach the destinations, the new RPL configuration has caused the RIB outputs to show really high FD. Which tells me that the RPL is taking effect.

Keep in mind that this is only effecting routing update metrics from BGP to EIGRP, this doesn't effect what XR3 will see from the other PEs or effect the VRF EIGRP RIB on XR3.

RP/0/0/CPU0:XR3#sh bgp vpnv4 unicast vrf EIGRP 131.0.0.0/24 | b Extended commu$
Sat Jan 14 14:31:23.600 UTC
      Extended community: COST:128:128:10240 EIGRP route-info:0x8000:0 EIGRP AD:90:256 EIGRP RHB:255:0:2560 EIGRP LM:0xff:1:1500 EIGRP VRR:0x0:1.0.0.131 RT:90:50693

RP/0/0/CPU0:XR3#sh route vrf EIGRP ipv4 | b Gateway
Sat Jan 14 14:33:25.891 UTC
Gateway of last resort is not set

B    59.0.0.0/24 [200/0] via 192.168.1.5 (nexthop in vrf default), 08:23:18
B    83.0.0.0/24 [200/0] via 192.168.1.3 (nexthop in vrf default), 08:23:46
B    90.90.90.0/24 [200/10880] via 192.168.1.3 (nexthop in vrf default), 01:05:21
B    106.0.0.0/24 [200/0] via 192.168.1.6 (nexthop in vrf default), 08:23:06
C    113.0.0.0/24 is directly connected, 6d23h, GigabitEthernet0/0/0/0.1090
L    113.0.0.13/32 is directly connected, 6d23h, GigabitEthernet0/0/0/0.1090
B    131.0.0.0/24 [200/0] via 192.168.1.1 (nexthop in vrf default), 08:23:46
D EX 192.168.100.0/24 [170/10880] via 113.0.0.14, 08:24:21, GigabitEthernet0/0/0/0.1090

The learned BGP metric of 10880 is learned in from R3. Which proves that the metric manipulation only happens when BGP is redistributed into EIGRP.

Thanks for stopping by!
Rob Riker, CCIE #50693

CCIE SPv4 - MPLS L3 VPN - EIGRP PE-CE Routing

Software versions:
IOS XE 15.5
IOS XR 5.3

The topology for this demo:
In this post we will be taking a look at EIGRP as  PE-CE Routing protocol. Like BGP and OSPF, both IPv4 and IPv6 are supported. This allows us to leverage EIGRP to do the same, there are a few unique details we will have to cover as we have with BGP and OSPF. EIGRP being a distance vector protocol, like RIPv2, normally would have to identify a method when redistributing routes into EIGRP, to calculate DUAL. In our case here, that isn't necessary, this is due to the "cost community" that is leveraged to copy the EIGRP metrics into BGP extended communities, carried in VPNv4/VPNv6 updates to the remote PE and then copied back into EIGRP. Very similar to how the IGP metric is copied to the BGP MED. 

We will be leveraging "named mode" EIGRP in our scenario, I rarely ever use the "classic mode" EIGRP anymore. If you ask why, centralized configuration, I can do everything I need to under the Named mode process. At the same time, this is the only place where EIGRPv6 in a VRF is supported. I plan on showing you IOS and IOS XR syntax for the scenario, so we'll start with R14 and XR3, then take a look at R3 and R8. 

R14
router eigrp CCIE
 !
 address-family ipv4 unicast vrf EIGRP autonomous-system 90
  !
  topology base
  exit-af-topology
  network 113.0.0.0 0.0.0.255
 exit-address-family
 !
 address-family ipv6 unicast vrf EIGRP autonomous-system 90
  !
  topology base
  exit-af-topology
 exit-address-family


XR3
router eigrp CCIE
 vrf EIGRP
  address-family ipv4
   autonomous-system 90
   redistribute bgp 50693
   interface GigabitEthernet0/0/0/0.1090
   !
  !
  address-family ipv6
   autonomous-system 90
   redistribute bgp 50693
   interface GigabitEthernet0/0/0/0.1090
!
!
router bgp 50693
vrf EIGRP
  rd 90:50693
  address-family ipv4 unicast
   redistribute eigrp 90
  !
  address-family ipv6 unicast
   redistribute eigrp 90



R3
router eigrp CCIE
 !
 address-family ipv4 unicast vrf EIGRP autonomous-system 90
  !
  topology base
   redistribute bgp 50693
  exit-af-topology
  network 83.0.0.0 0.0.0.255
  network 131.0.0.0 0.0.0.255
 exit-address-family
 !
 address-family ipv6 unicast vrf EIGRP autonomous-system 90
  !
  topology base
   redistribute bgp 50693
  exit-af-topology
 exit-address-family
!
!
router bgp 50693
address-family ipv4 vrf EIGRP
  redistribute eigrp 90
 exit-address-family
 !
 address-family ipv6 vrf EIGRP
  redistribute eigrp 90
 exit-address-family


R8
router eigrp CCIE
 !
 address-family ipv4 unicast vrf EIGRP autonomous-system 90
  !
  topology base
  exit-af-topology
  network 83.0.0.0 0.0.0.255
  network 90.90.90.0 0.0.0.255
 exit-address-family
 !
 address-family ipv6 unicast vrf EIGRP autonomous-system 90
  !
  topology base
   redistribute connected route-map CONNECTED
  exit-af-topology
 exit-address-family


As you can see the configuration is relatively straightforward and easy to implement. 

The part we need to focus on now is the PE EIGRP breakdown for the BGP VPNv4/VPNv6 info to see how that is all put together.

R3#sh bgp vpnv4 unicast vrf EIGRP 113.0.0.0/24
BGP routing table entry for 90:50693:113.0.0.0/24, version 381
Paths: (2 available, best #1, table EIGRP)
  Not advertised to any peer
  Refresh Epoch 2
  Local
    192.168.1.13 (metric 3) (via default) from 192.168.1.2 (192.168.1.2)
      Origin incomplete, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:90:50693 Cost:pre-bestpath:128:10240
        0x8800:32768:0 0x8801:90:256 0x8802:65280:2560 0x8803:1:1500
        0x8806:0:3232235789
      Originator: 192.168.1.13, Cluster list: 192.168.1.2
      mpls labels in/out nolabel/24017
      rx pathid: 0, tx pathid: 0x0
  Refresh Epoch 1
  Local
    192.168.1.13 (metric 3) (via default) from 192.168.1.14 (192.168.1.14)
      Origin incomplete, metric 0, localpref 100, valid, internal
      Extended Community: RT:90:50693 Cost:pre-bestpath:128:10240
        0x8800:32768:0 0x8801:90:256 0x8802:65280:2560 0x8803:1:1500
        0x8806:0:3232235789
      Originator: 192.168.1.13, Cluster list: 192.168.1.14
      mpls labels in/out nolabel/24017
      rx pathid: 0, tx pathid: 0

The majority of the above output has been covered in previous post, R2 is the best path since it has a lower Router ID. I want to focus on the Extended community information and break that down.

0x8800 is route information used for the Route Flag and tag
0x8801 is route metric and AS used for the ASN and dely
0x8802 is route metric and is used for Reliability, next-hop and bandwidth
0x8803 is route metric and is used for Reserve, load and MTU
0x8804 is external route metric and is used for Remote AS and Remote ID
0x8805 is external route metric and is used for Remote protocol and Remote metric
0x8806 is Originating Router ID

I'll add a loopback on R14 and give an IPv4 and IPv6 address, matching in it a route-map and redistributing it into IPv4/IPv6 EIGRP.

router eigrp CCIE
 !
 address-family ipv4 unicast vrf EIGRP autonomous-system 90
  topology base
   redistribute connected route-map LO1000
  exit-af-topology
 exit-address-family
 !
 address-family ipv6 unicast vrf EIGRP autonomous-system 90
  !
  topology base
   redistribute connected route-map LO1000
  exit-af-topology
 exit-address-family
!
route-map LO1000 permit 10
 match interface Loopback1000


R3#sh bgp vpnv4 unicast vrf EIGRP 192.168.100.0
BGP routing table entry for 90:50693:192.168.100.0/24, version 388
Paths: (2 available, best #1, table EIGRP)
  Not advertised to any peer
  Refresh Epoch 2
  Local
    192.168.1.13 (metric 3) (via default) from 192.168.1.2 (192.168.1.2)
      Origin incomplete, metric 10880, localpref 100, valid, internal, best
      Extended Community: RT:90:50693 Cost:pre-bestpath:129:10880 0x8800:0:0
        0x8801:90:288 0x8802:65281:2560 0x8803:1:1500 0x8804:0:1895825422
        0x8805:11:0
      Originator: 192.168.1.13, Cluster list: 192.168.1.2
      mpls labels in/out nolabel/24020
      rx pathid: 0, tx pathid: 0x0
  Refresh Epoch 1
  Local
    192.168.1.13 (metric 3) (via default) from 192.168.1.14 (192.168.1.14)
      Origin incomplete, metric 10880, localpref 100, valid, internal
      Extended Community: RT:90:50693 Cost:pre-bestpath:129:10880 0x8800:0:0
        0x8801:90:288 0x8802:65281:2560 0x8803:1:1500 0x8804:0:1895825422
        0x8805:11:0
      Originator: 192.168.1.13, Cluster list: 192.168.1.14
      mpls labels in/out nolabel/24020
      rx pathid: 0, tx pathid: 0

As you can see, the outputs changed a bit. We no longer see the 8806 as it is replaced with an 8805 and 8804. These metrics are received as BGP extended communities, when BGP is redistributed into EIGRP, those extended communities are copied as well, EIGRP understands what is being handed off and is able to use those values to populate metrics and run DUAL.


R8#sh ip route vrf EIGRP eigrp | b Gateway
Gateway of last resort is not set

      59.0.0.0/24 is subnetted, 1 subnets
D        59.0.0.0 [90/15360] via 83.0.0.3, 00:29:57, GigabitEthernet1.1090
      106.0.0.0/24 is subnetted, 1 subnets
D        106.0.0.0 [90/15360] via 83.0.0.3, 00:28:04, GigabitEthernet1.1090
      113.0.0.0/24 is subnetted, 1 subnets
D        113.0.0.0 [90/15360] via 83.0.0.3, 00:37:09, GigabitEthernet1.1090
      131.0.0.0/24 is subnetted, 1 subnets
D        131.0.0.0 [90/15360] via 83.0.0.3, 5d05h, GigabitEthernet1.1090
D EX  192.168.100.0/24
           [170/16000] via 83.0.0.3, 00:08:37, GigabitEthernet1.1090
 
R8#sh ipv6 route vrf EIGRP eigrp | b App
       ld - LISP dyn-eid, a - Application
D   2113:CC1E::/64 [90/15360]
     via FE80::20C:29FF:FE06:2644, GigabitEthernet1.1090
D   2913:CC1E::/64 [90/16000]
     via FE80::20C:29FF:FE06:2644, GigabitEthernet1.1090
D   FC00::9/128 [90/16000]
     via FE80::20C:29FF:FE06:2644, GigabitEthernet1.1090
D   FC00::90/128 [90/16000]
     via FE80::20C:29FF:FE06:2644, GigabitEthernet1.1090
D   FC00:100::/64 [90/16000]
     via FE80::20C:29FF:FE06:2644, GigabitEthernet1.1090

As you can see, all is well. 

Thanks for stopping by!
Rob Riker, CCIE #50693

Tuesday, January 3, 2017

CCIE SPv4 - MPLS L3 VPN - VRF Lite - EIGRP and EIGRPv6

Software versions:
IOS XE 15.5
IOS XR 5.3

The topology for this demo:
This post will cover EIGRP in a VRF Lite environment. Like OSPF, EIGRP has full support for VRF Lite for both AFIs. I use named mode which is the only way IPv6 EIGRP is supported in our version of IOS. 

R1
router eigrp SP_CCIE

 !
 address-family ipv4 unicast vrf CCIE autonomous-system 1
  !
  topology base
  exit-af-topology
  network 0.0.0.0
 exit-address-family
router eigrp CCIE
 !
 address-family ipv6 unicast vrf CCIE autonomous-system 1
  !
  topology base
  exit-af-topology
 exit-address-family


XR5
router eigrp CCIE
 vrf CCIE
  address-family ipv4
   autonomous-system 1
   interface Loopback100
   !
   interface GigabitEthernet0/0/0/0.100
   !
   interface GigabitEthernet0/0/0/0.101
   !
  !
  address-family ipv6
   autonomous-system 1
   interface Loopback100
   !
   interface GigabitEthernet0/0/0/0.100
   !
   interface GigabitEthernet0/0/0/0.101


R4
router eigrp SP_CCIE
 !
 address-family ipv4 unicast vrf CCIE autonomous-system 1
  !
  topology base
  exit-af-topology
  network 0.0.0.0
 exit-address-family
router eigrp CCIE
 !
 address-family ipv6 unicast vrf CCIE autonomous-system 1
  !
  topology base
  exit-af-topology
 exit-address-family


R3
router eigrp SP_CCIE
 !
 address-family ipv4 unicast vrf CCIE autonomous-system 1
  !
  topology base
  exit-af-topology
  network 0.0.0.0
 exit-address-family
router eigrp CCIE
 !
 address-family ipv6 unicast vrf CCIE autonomous-system 1
  !
  topology base
  exit-af-topology
 exit-address-family


Since we are running AFI aware EIGRP with named mode in IOS and specific to VRF Lite, we have the ability to get specific with our verification.

R1#sh eigrp address-family ipv4 vrf CCIE interfaces
EIGRP-IPv4 VR(SP_CCIE) Address-Family Interfaces for AS(1)
           VRF(CCIE)
                              Xmit Queue   PeerQ        Mean   Pacing Time   Multicast    Pending
Interface              Peers  Un/Reliable  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Gi1.100                  1        0/0       0/0          16       0/0           68           0
Lo100                    0        0/0       0/0           0       0/0            0           0

R1#sh eigrp address-family ipv6 vrf CCIE interfaces
EIGRP-IPv6 VR(CCIE) Address-Family Interfaces for AS(1)
           VRF(CCIE)
                              Xmit Queue   PeerQ        Mean   Pacing Time   Multicast    Pending
Interface              Peers  Un/Reliable  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Gi1.100                  1        0/0       0/0          21       0/0           88           0
Lo100                    0        0/0       0/0           0       0/0            0           0

We can see that R1 is peered to XR5.


RP/0/0/CPU0:XR5#sh eigrp vrf CCIE interfaces
Wed Jan  4 00:10:43.620 UTC

IPv4-EIGRP VR(CCIE) interfaces for AS(1) VRF CCIE

                        Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Gi0/0/0/0.100      1        0/0        12       0/10          60           0
Gi0/0/0/0.101      1        0/0         1       0/10          50           0
Lo100              0        0/0         0     640/640          0           0


RP/0/0/CPU0:XR5#sh eigrp vrf CCIE ipv4 neighbors
Wed Jan  4 00:10:59.129 UTC

IPv4-EIGRP VR(CCIE) Neighbors for AS(1) VRF CCIE

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   192.168.15.1            Gi0/0/0/0.100     12 00:38:48   12   200  0  4
0   192.168.45.4            Gi0/0/0/0.101     11 00:38:51    1   200  0  9

RP/0/0/CPU0:XR5#sh eigrp vrf CCIE ipv6 neighbors
Wed Jan  4 00:11:02.439 UTC

IPv6-EIGRP VR(CCIE) Neighbors for AS(1) VRF CCIE

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   Link Local Address:     Gi0/0/0/0.100     11 00:38:51    1   200  0  4
    fe80::20c:29ff:fe99:7e94
0   Link Local Address:     Gi0/0/0/0.101     11 00:38:51    1   200  0  8
    fe80::20c:29ff:fe88:6f18


R1#sh ip route vrf CCIE eigrp | b Gateway
Gateway of last resort is not set

      100.0.0.0/32 is subnetted, 4 subnets
D        100.100.100.3
           [90/21120] via 192.168.15.15, 00:40:12, GigabitEthernet1.100
D        100.100.100.4
           [90/16000] via 192.168.15.15, 00:40:12, GigabitEthernet1.100
D        100.100.100.15
           [90/10752] via 192.168.15.15, 00:40:29, GigabitEthernet1.100
D     192.168.34.0/24
           [90/20480] via 192.168.15.15, 00:40:12, GigabitEthernet1.100
D     192.168.45.0/24
           [90/15360] via 192.168.15.15, 00:40:29, GigabitEthernet1.100

R1#sh ipv6 route vrf CCIE eigrp
IPv6 Routing Table - CCIE - 9 entries
D   2100:34::/64 [90/20480]
     via FE80::20C:29FF:FEB7:44DF, GigabitEthernet1.100
D   2100:45::/64 [90/15360]
     via FE80::20C:29FF:FEB7:44DF, GigabitEthernet1.100
D   FC00::3/128 [90/21120]
     via FE80::20C:29FF:FEB7:44DF, GigabitEthernet1.100
D   FC00::4/128 [90/16000]
     via FE80::20C:29FF:FEB7:44DF, GigabitEthernet1.100
D   FC00::15/128 [90/10752]
     via FE80::20C:29FF:FEB7:44DF, GigabitEthernet1.100

We have a functional network now. 

Thanks for stopping by!
Rob Riker, CCIE #50693