04-17-2016 05:10 AM - edited 03-05-2019 03:49 AM
Recently I've tried to remove an appended route-map that was applied to a "redistribute static" behaviour within EIGRP. I thought the following sequence of IOS commands would remove this route-map, as follows:
Pre-Change
ip access-list standard BLAH_ACL
deny 10.99.99.0 0.0.0.255
permit any
route-map BLAH
deny ip address BLAH_ACL
router eigrp
redistribute static route-map BLAH
Command Sequence
conf t
router eigrp
redistribute static
no route-map BLAH
no ip access-list standard BLAH_ACL
end
Expected Resulting config
router eigrp
redistribute static
Actual Resulting config
router eigrp
redistribute static route-map BLAH
This then caused all Static Routes that were being advertised to disappear, as no route-map "BLAH" existed any more; hence the default action is to deny all Prefixes that are defined statically.
My question is, how do you revert in a hitless fashion (i.e. where there is no period of time that the Static Routes are not redistributed into EIGRP) from "redistribute static route-map BLAH" to an open/"allow any" "redistribute static" command?
The only way I can think to do this is as follows, but surely this must incur a very small sub-second period of time where Static Routes are not redistributed into EIGRP, hence are removed - i.e. this would not be hitless:
conf t
router eigrp
no redistribute static route-map BLAH
redistribute static
end
Any advice or help appreciated please - is a hitless reversion of the "route-map" on a "redistribute static" actually possible in Cisco IOS?
05-09-2016 10:17 AM
In case anyone is interested, this (hitless removal of a "route-map" statement) is possible - but the command to do it is not intuitive.
Command
no redistribute static route-map BLAH
If you've got extra keywords/commands in - such as "subnets" for BGP->OSPF redistribution, this looks even more confusing - but achieves the same as hitlessly applying a "...no route-map BLAH" to the end of the command:
Pre-Change (BGP->OSPF Example)
ip access-list standard BLAH_ACL
deny 10.99.99.0 0.0.0.255
permit any
route-map BLAH
deny ip address BLAH_ACL
router ospf 1
redistribute bgp 1234 subnets route-map BLAH
Command Sequence
conf t
router ospf 1
no redistribute bgp 1234 route-map BLAH
end
Resulting config
router ospf 1
redistribute bgp 1234 subnets
The "no" is in the wrong place in the command to me - but it works as expected, and means you never have a period where redistribution is not occurring - which you would do if you went down the route of doing:
Outage-causing (OSPF Re-convergence) Example
conf t
router ospf 1
no redistribute bgp 1234 subnets route-map BLAH
redistribute bgp 1234 subnets
end
Hope that helps someone in future - it's certainly helped me.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide