Lines Matching defs:route

65  * Since we don't have BSD/OS version of net/route.c in our hand,
92 #include <net/route.h>
148 * gets inserted into the list when the route is created and gets
166 * as the route entry itself. When a route is deleted (RTM_DELETE),
168 * freed until the route itself is freed.
1104 * ND6 timer routine to expire default route list and prefix list
1327 * Upon success, the returned route will be locked and the caller is
1363 * This is the case for the default route.
1365 * address, we should free the route for the
1366 * destination and allocate an interface route.
1385 * If no route is available and create is set,
1386 * we allocate a host route for the destination
1387 * and treat it like an interface route.
1396 * Create a new route. RTF_LLINFO is necessary
1412 log(LOG_ERR, "%s: failed to add route "
1435 * route from a parent route that has the L flag (e.g. the default
1436 * route to a p2p interface) may have the flag, too, while the
1446 * have a route to the prefix.
1450 * of the route to point to the interface where the NA arrived on,
1625 * the route as defunct.
1691 * Detach the route from the routing tree and the list of neighbor
1692 * caches, and disable the route entry not to be used in already
1725 /* Callee returns a locked route upon success */
1738 /* This is not a host route. */
1795 * This is probably an interface direct route for a link
1797 * We do not need special treatment below for such a route.
1826 * FreeBSD and BSD/OS often make a cloned host route based
1827 * on a less-specific route (e.g. the default route).
1828 * If the less specific route does not have a "gateway"
1829 * (this is the case when the route just goes to a p2p or an
1831 * the host route, and will see strange neighbor solicitation
1833 * confusion, we check if the destination of the route is
1858 * Case 1: This route should come from a route to
1859 * interface (RTF_CLONING case) or the route should be
1919 break; /* This happens on a route change */
1921 * Case 2: This route may come from cloning, or a manual route
2018 * Adjust route ref count for the
2096 * Unchain it but defer the actual freeing until the route
2099 * route entry, except that RTF_LLINFO is now cleared.
2422 * xxx sumikawa: should not delete route if default
2423 * route equals to the top of default router list
2552 /* Callee returns a locked route upon success */
2589 /* Callee returns a locked route upon success */
2952 * Next hop determination. Because we may involve the gateway route
2953 * in addition to the original route, locking is rather complicated.
2954 * The general concept is that regardless of whether the route points
2955 * to the original route or to the gateway route, this routine takes
2956 * an extra reference on such a route. This extra reference will be
2959 * Care must be taken to ensure that the "hint0" route never gets freed
2961 * route with a reference held for that placeholder.
3010 * sometimes used to install a route to a p2p link.
3015 * We allow this kind of tricky route only
3035 /* If there's no gateway route, look it up */
3044 * Take gwrt's lock while holding route's lock;
3062 * Bail out if the route is down, no route
3063 * to gateway, circular route, or if the
3081 * Set gateway route; callee adds ref to gwrt;
3103 * route's gwroute, in case it now points to a dead
3104 * route entry. Parent route won't go away since the
3172 /* Callee returns a locked route upon success */
3493 * the "hint" route never gets freed via rtfree(), since the caller may
3494 * have stored it inside a struct route with a reference held for that
3502 route_t route = hint;
3515 * Callee holds a reference on the route and returns
3516 * with the route entry locked, upon success.
3519 hint, &route);
3522 if (route != NULL)
3523 RT_LOCK_ASSERT_HELD(route);
3527 if (route != NULL)
3528 RT_UNLOCK(route);
3532 if (route != NULL)
3533 RT_LOCK(route);
3537 if (route == NULL) {
3540 * if route_to_gwroute() didn't return a route.
3546 if (route->rt_gateway->sa_family != AF_LINK) {
3552 sdl = SDL(route->rt_gateway);
3564 if (route != NULL) {
3565 if (route == hint) {
3566 RT_REMREF_LOCKED(route);
3567 RT_UNLOCK(route);
3569 RT_UNLOCK(route);
3570 rtfree(route);