You Must Use a Route-Map
NX-OS won't redistribute routes uncontrolled in the same way that IOS will. In fact, I don't think you can even complete the 'redistribute
Redistribution Doesn't Include Interfaces
In IOS, when we redistribute from one protocol to another, we get two types of information in the destination protocol:
- Routes learned by that protocol, and used by the routing table. Basically, it's the same set of data returned by show ip route <protocol>
- Prefixes associated with any "connected" interfaces running the routing protocol.
Sample Network 1 |
- Subnet A would be learned according to rule "1" above.
- Subnet B and Subnet S would be learned according to rule "2" above.
If R2 were an NX-OS router, the only external prefix that would be introduced to the OSPF domain is Subnet A. In order to get all of the EIGRP subnets into OSPF, you'd need to use redistribute direct in addition to redistribute eigrp. Note that in addition to a route-map being required, a route-map is desired to emulate the IOS behavior. Wide-open redistribution on R2 will include Subnet L, which an IOS router would not have introduced to OSPF because neither EIGRP nor OSPF is running in the Loopback interface.
NX-OS's rejection of the 'interfaces running the source protocol' logic can have some surprising consequences. Lets say we redistribute OSPF into EIGRP in the following network:
Sample Network 2 |
EIGRP will learn precisely 3 new routes:
- 5.0.0.0/8
- 6.0.0.0/8
- 7.0.0.0/8
The 10.0.0.0/30 and 10.0.1.0/24 networks used for OSPF adjacency won't be introduced into EIGRP by NX-OS routers R1 and R2 because these prefixes are considered "direct" routes.
Sample Network 2 With Interface Failure |
Suddenly, the 10.0.1.0/24 prefix is introduced to the EIGRP process. This happens because 10.0.1.0/24 is no longer a 'direct' route from R1's perspective. R1 has learned the path to this network from R2 over their 10.0.0.0/30 connection. Because 10.0.1.0/24 is now an 'OSPF route' rather than a 'direct route via an interface running OSPF', it's elegible for redistribution into EIGRP.
If the route wasn't there before, you probably don't want it appearing when things start to break. It's a good thing that (required) route-map is in place! :-)
also note that the metric-type and the subnets keywords are no longer available alongside the redistribute command. The metric-type can be added with a set command for each sequence of the route-map. The subnet command (critical in IOS redistribution) is no longer required to redistribute classless networks.
ReplyDeleteThanks, Tim!
ReplyDeleteNice to hear from you, BTW :)