In a recursive static
route, only the next hop is specified. The output interface is derived from the
next hop. The following example shows how to specify that all destinations with
address prefix 2001:0DB8::/32 are reachable through the host with address
2001:0DB8:3000::1:
RP/0/RSP0/CPU0:router(config)# router static
RP/0/RSP0/CPU0:router(config-static)# address-family ipv6 unicast
RP/0/RSP0/CPU0:router(config-static-afi)# 2001:0DB8::/32 2001:0DB8:3000::1
A recursive static
route is valid (that is, it is a candidate for insertion in the routing table)
only when the specified next hop resolves, either directly or indirectly, to a
valid output interface, provided the route does not self-recurse, and the
recursion depth does not exceed the maximum IPv6 forwarding recursion depth.
A route self-recurses
if it is itself used to resolve its own next hop. If a static route becomes
self-recursive, RIB sends a notification to static routes to withdraw the
recursive route.
Assuming a BGP route
2001:0DB8:3000::0/16 with next hop of 2001:0DB8::0104, the following static
route would not be inserted into the IPv6 RIB because the BGP route next hop
resolves through the static route and the static route resolves through the BGP
route making it self-recursive:
RP/0/RSP0/CPU0:router(config)# router static
RP/0/RSP0/CPU0:router(config-static)# address-family ipv6 unicast
RP/0/RSP0/CPU0:router(config-static-afi)# 001:0DB8::/32 2001:0DB8:3000::1
This static route is
not inserted into the IPv6 routing table because it is self-recursive. The next
hop of the static route, 2001:0DB8:3000:1, resolves through the BGP route
2001:0DB8:3000:0/16, which is itself a recursive route (that is, it only
specifies a next hop). The next hop of the BGP route, 2001:0DB8::0104, resolves
through the static route. Therefore, the static route would be used to resolve
its own next hop.
It is not normally
useful to manually configure a self-recursive static route, although it is not
prohibited. However, a recursive static route that has been inserted in the
routing table may become self-recursive as a result of some transient change in
the network learned through a dynamic routing protocol. If this occurs, the
fact that the static route has become self-recursive will be detected and it
will be removed from the routing table, although not from the configuration. A
subsequent network change may cause the static route to no longer be
self-recursive, in which case it is re-inserted in the routing table.