Lines Matching refs:ro
121 struct ip6_moptions *mopts, struct route_in6 *ro, in in6_selectsrc() argument
291 if (ro) { in in6_selectsrc()
292 if (ro->ro_rt && in in6_selectsrc()
293 (!(ro->ro_rt->rt_flags & RTF_UP) || in in6_selectsrc()
294 satosin6(&ro->ro_dst)->sin6_family != AF_INET6 || in in6_selectsrc()
295 !IN6_ARE_ADDR_EQUAL(&satosin6(&ro->ro_dst)->sin6_addr, in in6_selectsrc()
297 RTFREE(ro->ro_rt); in in6_selectsrc()
298 ro->ro_rt = NULL; in in6_selectsrc()
300 if (ro->ro_rt == NULL || ro->ro_rt->rt_ifp == NULL) { in in6_selectsrc()
304 bzero(&ro->ro_dst, sizeof(struct sockaddr_in6)); in in6_selectsrc()
305 sa6 = &ro->ro_dst; in in6_selectsrc()
311 ro->ro_rt = in in6_selectsrc()
312 rtpurelookup((struct sockaddr *)&ro->ro_dst); in in6_selectsrc()
314 rtalloc((struct route *)ro); in in6_selectsrc()
325 if (ro->ro_rt) { in in6_selectsrc()
326 ia6 = in6_ifawithscope(ro->ro_rt->rt_ifa->ifa_ifp, dst, cred); in in6_selectsrc()
335 ia6 = ifatoia6(ro->ro_rt->rt_ifa); in in6_selectsrc()