Previous section   Next section

Recipe 7.3 Redistributing Routes into EIGRP

7.3.1 Problem

You want to redistribute routes that were learned by other means into the EIGRP routing process.

7.3.2 Solution

The simplest way to redistribute routes into EIGRP uses the redistribute command:

Router1#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#ip route 192.168.10.0 255.255.255.0 192.168.20.5
Router1(config)#router eigrp 55
Router1(config-router)#redistribute static
Router1(config-router)#end
Router1#

You can set the properties of the routes that are redistributed from another routing protocol with the default-metric command:

Router1#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#router eigrp 55
Router1(config-router)#redistribute rip
Router1(config-router)#default-metric 1000 100 250 100 1500
Router1(config-router)#end

7.3.3 Discussion

The show ip protocols command tells you about any route redistribution that the protocol is performing:

Router1#show ip protocols 
Routing Protocol is "eigrp 55"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
    Serial0.1 filtered by 34 (per-user), default is 34
  Default networks flagged in outgoing updates
  Default networks accepted from incoming updates
  EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
  EIGRP maximum hopcount 100
  EIGRP maximum metric variance 1
  Redistributing: static, eigrp 55
  Automatic network summarization is in effect
  Automatic address summarization:
    192.168.20.0/24 for Loopback0, Serial0.1
    172.25.0.0/16 for Ethernet0
      Summarizing with metric 128256
  Maximum path: 4
  Routing for Networks:
    172.25.0.0
    192.168.20.0
  Routing Information Sources:
    Gateway         Distance      Last Update
    (this router)         90      00:05:00
    172.25.2.1            90      00:01:57
  Distance: internal 90 external 170
Router1#

If you look at the routing table of a downstream router, you can see that EIGRP has forwarded information about this static route:

Router2#show ip route eigrp
D    192.168.30.0/24 [90/156160] via 172.22.1.4, 00:00:02, FastEthernet0/1
D EX 192.168.10.0/24 [170/2195456] via 172.25.2.2, 00:00:01, Serial0/0.2
Router2#

There are two extremely important things to note in this output. The first is that the redistributed route is tagged as external, which is signified by the "EX" near the start of the line. An external route is any route that didn't originate with this routing protocol. This makes the information inherently less reliable than any internal route, so EIGRP also sets a higher administrative distance to ensure that internal EIGRP routes are always preferred over redistributed routes. This becomes extremely important when you have two or more redistribution points in your network that might be injecting the same routing information.

In this case, the administrative distance for the redistributed static route is 170, instead of the default EIGRP distance of 90. Recall from Chapter 5 that the default administrative distance for static routes is 1.

The second example in this recipe shows how to redistribute routes from a foreign routing protocol, instead of just static routes. The key difference is the default-metric command:

Router1(config-router)#redistribute rip
Router1(config-router)#default-metric 1000 100 250 100 1500

With static routes you don't need to configure a default metric, you can just use the redistribute static command. However, whenever you redistribute another routing protocol into EIGRP, you must configure the default metric. There is no default metric (strangely enough), so if you don't put it in, the router will not redistribute anything.

The parameters in the default-metric command allow EIGRP to construct an appropriate metric. Since none of this information is available from the foreign protocol, you have to specify it manually. The parameters are, in order:

Bandwidth

This value specifies the minimum bandwidth along the path in kilobits per second. It can have any value between 1 and 4,294,967,295.

Delay

This value defines the mean latency for the path in 10 microsecond units. It can be anything between 0 and 4,294,967,295.

Reliability

The reliability parameter is a numerical estimate of how likely the route and the path are to be available at any given moment. You can specify any value between 0 and 255, where 255 represents perfect 100% reliability.

Effective bandwidth (Loading)

This value is intended to provide a way of shifting traffic off of heavily loaded network links. You can give it a value between 0 and 255, where 255 represents 100% utilization.

Maximum Transmission Unit (MTU)

You can use this value to specify a path MTU to reach the foreign routing protocol. The range of values for this metric is between 0 and 4,294,967,295.

As it turns out, however, EIGRP doesn't use most of this information by default. If you look at the output of any show ip protocols command in this chapter, you will see a line that specifies the EIGRP metric weights:

  EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0

EIGRP uses these K values as coefficients in an involved equation that specifies how to combine all of these different individual metrics into a single numerical value, the composite EIGRP metric. Note that only K1 and K3 are non-zero. The result is that, by default, EIGRP uses only bandwidth and delay when computing its metric. You can generally fill in just about anything for the other parameters in the default-metric command, and it won't make any difference.

While you can change these different K values using the metric weights command, we strongly advise against changing the defaults. These values were of some use in IGRP, and when Cisco introduced EIGRP (with its superior DUAL algorithm), they carried the parameters forward. However, it was discovered that in practice it was relatively easy to make routing extremely unstable by changing them. And it's almost impossible to make things any better by changing these weight values in EIGRP.

The default-metric command sets the metric values for all external routing protocols. If you need to specify different metrics for different protocols, you can put the same information on the redistribute command line as follows:

Router1(config-router)#redistribute rip metric 1000 100 250 100 1500
Router1(config-router)#redistribute ospf 99 metric 1500 10 255 10 1500

Table 7-1 shows all of the different protocols that you can redistribute into EIGRP using this method. You must specify each redistributed protocol separately.

Table 7-1. Valid redistribution protocols for EIGRP

keyword

Description

bgp

Border Gateway Protocol

connected

Connect interfaces

egp

Exterior Gateway Protocol

eigrp

Enhanced IGRP

igrp

Interior Gateway Routing Protocol

isis

ISO IS-IS Routing Protocol

mobile

Mobile routes

odr

On Demand stub routes

ospf

Open Shortest Path First

rip

Routing Information Protocol

static

Static routes

Actually, there is an important exception in this list. If a router has EIGRP and IGRP, both sharing the same process ID number, it will automatically redistribute between them. This is a convenient feature because it makes it relatively easy to migrate an IGRP network to EIGRP. However, if the EIGRP process number is not the same as the one used for IGRP, you need to configure the redistribution.

Sometimes you don't want to redistribute all of the routes from a particular external routing protocol, just some of them. In this case, you can apply a distribute list (as shown in Recipe 7.2) to ensure that only those routes that are redistributed from a particular protocol. For example, you might have several static routes on your router, but you only want to redistribute some of them. In that case, you can apply a distribute list to only the static routes:

Router1(config)#router eigrp 55
Router1(config-router)#redistribute static                
Router1(config-router)#distribute-list 7 out static

This will apply access list number 7 to all of the static routes before distributing them. You can also use this technique when redistributing routes learned from other routing protocols. For example, you might want to filter the routes learned from OSPF before redistributing them into EIGRP. You can do this as follows:

Router1(config)#router eigrp 55
Router1(config-router)#redistribute ospf 99
Router1(config-router)#distribute-list 7 out ospf 99

7.3.4 See Also

Recipe 7.2; Chapter 5


  Previous section   Next section
Top