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.

[...] Original post by dorreke [...]
Pingback by Routers Articles » Blog Archive » IOS Gotcha : no redistribute eigrp 12 subnets route-map EIGRP–>OSPF — 13 Mar 2008 @ 16:53