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/RP0/CPU0:router(config)# router static
RP/0/RP0/CPU0:router(config-static)# address-family ipv6 unicast
RP/0/RP0/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/RP0/CPU0:router(config)# router static
RP/0/RP0/CPU0:router(config-static)# address-family ipv6 unicast
RP/0/RP0/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.