Lines Matching defs:route

114 #include <net/route.h>
555 * Given a source IPv6 address (and route, if available), determine the best
557 * ROF_SRCIF_SELECTED flag in the pcb-supplied route placeholder is done
578 struct route_in6 *route = NULL;
652 * We do not have to check or get the route for
654 * the route and we have no interface to use,
673 goto done; /* we do not need a route for multicast. */
689 * by the route. For performance reasons, do this only if
690 * there is no route, or if the routing table has changed,
692 * route (for this PCB instance) before.
719 * If no scope is specified and the route is stale (pointing
723 * information from the route; the ULP may have looked up a
724 * correct route and we just need to verify it here and mark
770 * 1) There currently isn't any route, or,
771 * 2) The interface used by the route does not own that source
772 * IPv6 address; in this case, the route will get blown away
828 rtalloc_scoped((struct route *)ron, ifscope);
844 route = ron;
848 * When cloning is required, try to allocate a route to the
854 /* Keep the route locked */
864 * Use a cached route if it exists and is valid, else try to allocate
887 /* No route yet, so try to acquire one */
895 &((struct route *)ro)->ro_dst, 0, 0, ifscope);
897 rtalloc_scoped((struct route *)ro, ifscope);
919 route = ro;
923 boolean_t has_route = (route != NULL && route->ro_rt != NULL);
927 RT_LOCK_ASSERT_HELD(route->ro_rt);
929 * If there is a non-loopback route with the wrong interface,
936 !(route->ro_rt->rt_flags & RTF_UP))) {
944 (route->ro_rt->rt_flags & (RTF_UP|RTF_PROXY)) ==
952 "(cached route cleared)\n",
963 RT_UNLOCK(route->ro_rt);
964 rtfree(route->ro_rt);
965 route->ro_rt = NULL;
966 route->ro_flags &= ~ROF_SRCIF_SELECTED;
969 route = NULL;
979 route->ro_flags |= ROF_SRCIF_SELECTED;
980 route->ro_rt->generation_id = route_generation;
981 RT_UNLOCK(route->ro_rt);
1008 (route != NULL && route->ro_rt != NULL &&
1009 route->ro_rt->rt_ifp->if_type == IFT_CELLULAR))) {
1010 if (route != NULL && route->ro_rt != NULL) {
1011 rtfree(route->ro_rt);
1012 route->ro_rt = NULL;
1013 route->ro_flags &= ~ROF_SRCIF_SELECTED;
1014 route = NULL;
1021 if (ifp == NULL && (route == NULL || route->ro_rt == NULL)) {
1023 * This can happen if the caller did not pass a cached route
1044 if (retrt != NULL && route != NULL)
1045 *retrt = route->ro_rt; /* ro_rt may be NULL */
1083 * do not use a rejected or black hole route.
1087 * - install a rejected route for a scoped address prefix
1091 * - pick the outgoing interface from the route, and disambiguate the
1093 * - ip6_output() would try to get another route with the "new"