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.

1 Comment »


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.