Tuesday, March 20, 2012

EIGRP Leak Maps

Let's talk about another IOS EIGRP feature today which is still less known...Ummm...Okay atleast for CCNP/CCIPs. It's called Leak Maps. I am going to use simple 2 routers topology given below to demonstrate it's different flavors.



So next question that comes in mind is - What it does or capable of ?

The EIGRP leak map is similar to BGP suppress and unsupress maps if you have heard of. We all are quite familiar with EIGRP manual summarization feature which is interface specific and allows administrator to summarize multiple specific routes to a single less specific summarize route. From EIGRP administration point of view it helps atleast with two concers :

1. If a more specific routes inside summary fails, the EIGRRP QUERY is not generated. So basically helps with query scoping.

2. Small routing table means less Memory and CPU overhead on the router - From resource point of view.

But say you want to leak a particular route for instance from that summary route for some traffic engineering or any other purpose. Hmmm... How would you do that ?

And the ANSWER will be  - Leak Maps, using which we can leak/allow any particular more specific routes to be advertised along with summary route.

To configure EIGRP leak map all you need is :

1. Create an ACL/Prefix List to match routes which you want to leak

2. Create a Route Map and call the ACL into it

3. Map the Route Map with "ip summary-address eigrp" command with "Leak" keyword in the end and call the route map

Lets hop on to CLI to see things in action. Few tips to keep into mind are :

1. Calling the Leak Map, but no route-map is yet created will end up doing nothing but only summary route will be advertised.

2. Calling the leak map , along with route-map being created but no acl yet created to match routes to be leaked - Result will be advertising summary route along with more specific route.

3. Calling a leak map along with Route map referring ACL to match routes to be leaked -  Summary route along with leaked routes will be advertised.

Lets see all this on CLI.

R1#sh prot | e una|do
Global values:
Internet Protocol routing is enabled
FastEthernet0/0 is up, line protocol is up
Internet address is 12.12.12.1/24
Loopback0 is up, line protocol is up
Internet address is 1.1.1.1/32
Loopback1 is up, line protocol is up
Internet address is 172.16.1.1/24
Loopback2 is up, line protocol is up
Internet address is 172.16.2.1/24
Loopback3 is up, line protocol is up
Internet address is 172.16.3.1/24


R1#sh run | s r e
router eigrp 100
network 0.0.0.0
no auto-summary


R2#sh prot | e una| do
Global values:
Internet Protocol routing is enabled
FastEthernet0/0 is up, line protocol is up
Internet address is 12.12.12.2/24
Loopback0 is up, line protocol is up
Internet address is 2.2.2.2/32


R2#sh run | s r e
router eigrp 100
network 0.0.0.0
no auto-summary


R2#sh ip ro ei
1.0.0.0/32 is subnetted, 1 subnets
D 1.1.1.1 [90/409600] via 12.12.12.1, 00:00:46, FastEthernet0/0
172.16.0.0/24 is subnetted, 3 subnets
D 172.16.1.0 [90/409600] via 12.12.12.1, 00:00:46, FastEthernet0/0
D 172.16.2.0 [90/409600] via 12.12.12.1, 00:00:46, FastEthernet0/0
D 172.16.3.0 [90/409600] via 12.12.12.1, 00:00:46, FastEthernet0/0


R1(config)#int f0/0
R1(config-if)#ip summary-address eigrp 100 172.16.1.0 255.255.252.0


R2#sh ip ro ei
1.0.0.0/32 is subnetted, 1 subnets
D 1.1.1.1 [90/409600] via 12.12.12.1, 00:04:20, FastEthernet0/0
172.16.0.0/22 is subnetted, 1 subnets
D 172.16.0.0 [90/409600] via 12.12.12.1, 00:00:07, FastEthernet0/0

Case 1 :
======

R1(config-if)#ip summary-address eigrp 100 172.16.1.0 255.255.252.0 leak-map LEAK


R2#sh ip ro ei
1.0.0.0/32 is subnetted, 1 subnets
D 1.1.1.1 [90/409600] via 12.12.12.1, 00:11:59, FastEthernet0/0
172.16.0.0/22 is subnetted, 1 subnets
D 172.16.0.0 [90/409600] via 12.12.12.1, 00:06:34, FastEthernet0/0


Case 2:
======


R1(config)#route-map LEAK per 10
R1(config-route-map)#exit


R2#sh ip ro ei
1.0.0.0/32 is subnetted, 1 subnets
D 1.1.1.1 [90/409600] via 12.12.12.1, 00:13:10, FastEthernet0/0
172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks
D 172.16.0.0/22 [90/409600] via 12.12.12.1, 00:07:45, FastEthernet0/0
D 172.16.1.0/24 [90/409600] via 12.12.12.1, 00:00:23, FastEthernet0/0
D 172.16.2.0/24 [90/409600] via 12.12.12.1, 00:00:23, FastEthernet0/0
D 172.16.3.0/24 [90/409600] via 12.12.12.1, 00:00:23, FastEthernet0/0


Case 3 :
======

R1(config)#access-l 1 per 172.16.2.0 0.0.0.0


R1(config)#route-map LEAK per 10
R1(config-route-map)#match ip address 1
R1(config-route-map)#end


R2#sh ip ro ei
1.0.0.0/32 is subnetted, 1 subnets
D 1.1.1.1 [90/409600] via 12.12.12.1, 00:15:03, FastEthernet0/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
D 172.16.0.0/22 [90/409600] via 12.12.12.1, 00:09:39, FastEthernet0/0
D 172.16.2.0/24 [90/409600] via 12.12.12.1, 00:02:17, FastEthernet0/0

As a Side Note - Current IOS EIGRPv6 implementation doesn't allow Leak Map configuration.

HTH...

Deepak Arora
Evil CCIE

Monday, March 5, 2012

Some Useful Tips From Scott Morris





If you are big fan of Scott Morris just like me, keep watching Cisco learning Network Thread everyday... Another Good Learning Tool

HTH...
Deepak Arora
Evil CCIE