[an error occurred while processing the directive]

EIGRP And Split Horizon


EIGRP is a major topic for your CCNA and CCNP studies, and one basic skill you'll need to pass your Cisco certification exams is to identify situations where you need to enable or disable split horizon. EIGRP commands tend to be a little different than those used with other protocols, so let's take a look at how EIGRP and split horizon interoperate.

R1 is our hub router, with R2 and R3 as the spokes. There are no subinterfaces, and each router is advertising a single loopback network using its router number for each octet. R1 will see both R2 and R3's loopback network, but the spokes will not have a route to the other spoke's loopback. "show ip route eigrp" verifies this.

R1#show ip route eigrp
     2.0.0.0/32 is subnetted, 1 subnets
D       2.2.2.2 [90/2297856] via 172.12.123.2, 00:03:29, Serial0
     3.0.0.0/32 is subnetted, 1 subnets
D       3.3.3.3 [90/2297856] via 172.12.123.3, 00:03:29, Serial0

R2#show ip route eigrp
     1.0.0.0/32 is subnetted, 1 subnets
D       1.1.1.1 [90/2297856] via 172.12.123.1, 00:05:20, Serial0

R3#show ip route eigrp
     1.0.0.0/32 is subnetted, 1 subnets
D       1.1.1.1 [90/2297856] via 172.12.123.1, 00:07:54, Serial0


EIGRP runs split horizon by default, making it impossible for R1 to forward an advertisement to R2 regarding R3's loopback. Likewise, R1 cannot advertise R2's loopback address to R3. We could configure two subinterfaces on R1 to resolve this issue, but here we're going to disable split horizon instead.

R1(config)#int serial0
R1(config-if)#no ip split-horizon ?
  eigrp  Enhanced Interior Gateway Routing Protocol (EIGRP)
  <cr>

R1(config-if)#no ip split-horizon eigrp ?
  <1-65535>  Autonomous system number

R1(config-if)#no ip split-horizon eigrp 100

04:10:02: %DUAL-5-NBRCHANGE: IP-EIGRP 100: Neighbor 172.12.123.2 (Serial0) is do
wn: split horizon changed
04:10:02: %DUAL-5-NBRCHANGE: IP-EIGRP 100: Neighbor 172.12.123.3 (Serial0) is do
wn: split horizon changed

04:10:25: %DUAL-5-NBRCHANGE: IP-EIGRP 100: Neighbor 172.12.123.2 (Serial0) is up
: new adjacency

04:10:37: %DUAL-5-NBRCHANGE: IP-EIGRP 100: Neighbor 172.12.123.3 (Serial0) is up
: new adjacency


Note that disabling split horizon resulted in the EIGRP adjacencies being torn down. They came back up 20 - 35 seconds after being torn down according to the timestamps, but that's a good detail to keep in mind!

The routing tables of each spoke should now show the loopback network configured on the remote spoke.

R2#show ip route eigrp
     1.0.0.0/32 is subnetted, 1 subnets
D       1.1.1.1 [90/2297856] via 172.12.123.1, 00:00:02, Serial0
     3.0.0.0/32 is subnetted, 1 subnets
D       3.3.3.3 [90/2809856] via 172.12.123.1, 00:00:02, Serial0

R3#clear ip route *
R3#show ip route eigrp
     1.0.0.0/32 is subnetted, 1 subnets
D       1.1.1.1 [90/2297856] via 172.12.123.1, 00:00:02, Serial0
     2.0.0.0/32 is subnetted, 1 subnets
D       2.2.2.2 [90/2809856] via 172.12.123.1, 00:00:02, Serial0


Be careful when disabling split horizon. In this scenario, R1 can and will advertise routes out Serial0 that were learned about on that interface in the first place, and that's not always desirable. Split horizon is enabled by default for a reason, so be careful when disabling it!

About the Author:
Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage , home of free CCNA and CCNP tutorials! Pass the CCNA exam with Chris Bryant!