Kevin Dorrell, CCIE #20765

13 Mar 2008

IOS Gotcha : no redistribute eigrp 12 subnets route-map EIGRP–>OSPF

Filed under: Redistribution — dorreke @ 05:07

This has to be  my favorite IOS gotcha.  I already struggle enough with redistribution without throwing this into the mix.  Here goes …

The story so far is that this lab has multiple loops and no less than four active redistribution points.  I have already redistributed OSPF onto EIGRP, and I have prepared a filter route-map for distributing EIGRP into OSPF.  This is what I have so far:

R2#show run | sec ospf 
 ip ospf network point-to-point 
 ip ospf 11 area 2 
 ip ospf network point-to-multipoint 
 ipv6 ospf 100 area 25 
 redistribute ospf 11 route-map OSPF-->EIGRP 
router ospf 11 
 router-id 141.11.102.1 
 log-adjacency-changes 
 network 141.11.10.0 0.0.0.255 area 0 
 distance ospf external 180 
 redistribute ospf 100 include-connected 
ipv6 router ospf 100 
 router-id 141.11.102.1 
 log-adjacency-changes 
 redistribute connected 
 redistribute bgp 100 metric 20

(BTW, I have done another posting about the dangers of the “section” filter.)

So let’s do the redistribution:

R2#conf t 
Enter configuration commands, one per line.  End with CNTL/Z. 
R2(config)#router ospf 11 
R2(config-router)# redistribute eigrp 12 subnets route-map EIGRP-->OSPF 
R2(config-router)#^Z 
R2#

So far so good.  So I go off and have a look at the routes on the other routers, and I see I have got it almost right, but not quite.  Let’s remove the redistribution while I think about it.  As you know, to negate a command, you just put “no” in front of it.  So up-arrow through the config commands, and do this:

R2#conf t 
Enter configuration commands, one per line.  End with CNTL/Z. 
R2(config)#router ospf 11 
R2(config-router)#no redistribute eigrp 12 subnets route-map EIGRP-->OSPF 
R2(config-router)#^Z 
R2#

Suddenly all hell breaks loose on the other routers.  All the routes go unstable, and I have lots and lots of output fom my debug ip routing.  What has happened?  Here’s what:

R2#show run | sec ospf 
 ip ospf network point-to-point 
 ip ospf 11 area 2 
 ip ospf network point-to-multipoint 
 ipv6 ospf 100 area 25 
 redistribute ospf 11 route-map OSPF-->EIGRP 
router ospf 11 
 router-id 141.11.102.1 
 log-adjacency-changes 
 redistribute eigrp 12 
 network 141.11.10.0 0.0.0.255 area 0 
 distance ospf external 180 
 redistribute ospf 100 include-connected 
ipv6 router ospf 100 
 router-id 141.11.102.1 
 log-adjacency-changes 
 redistribute connected 
 redistribute bgp 100 metric 20 
R2#

We are still redistributing EIGRP 12 into OSPF, but we have removed the route-map filter.

The correct way to remove the redistribution would have been no redistribute eigrp 12.

P.S. Re-reading this, I can see that I have chosen a less-than-ideal example.  But it still illustrates the point that the no redistribute protocol route-map route-map command does not remove the redistribution but simply opens it up.  The example is less than ideal because in this case it has also removed the “subnets” keyword, and so is unwittingly quite benign.  If I had chosen an EIGRP or RIP example, it would have been much more of a problem.

Advertisements

1 Comment »


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: