Lines Matching refs:rt
1192 struct rtentry *rt = NULL;
1223 rt = rtalloc1_scoped((struct sockaddr *)&sin6, 0,
1225 if (rt != NULL) {
1226 RT_LOCK(rt);
1227 if ((rt->rt_flags & RTF_HOST) &&
1228 !(rt->rt_rmx.rmx_locks & RTV_MTU) &&
1229 mtu < IN6_LINKMTU(rt->rt_ifp) &&
1230 rt->rt_rmx.rmx_mtu > mtu) {
1232 rt->rt_rmx.rmx_mtu = mtu;
1234 RT_UNLOCK(rt);
1235 rtfree(rt);
2411 struct rtentry *rt = NULL;
2472 rt = rtalloc1_scoped((struct sockaddr *)&sin6, 0, 0, ifp->if_index);
2473 if (rt) {
2474 RT_LOCK(rt);
2475 if (rt->rt_gateway == NULL ||
2476 rt->rt_gateway->sa_family != AF_INET6) {
2481 RT_UNLOCK(rt);
2482 rtfree(rt);
2487 rt->rt_gateway)->sin6_addr);
2495 RT_UNLOCK(rt);
2496 rtfree(rt);
2506 RT_UNLOCK(rt);
2507 rtfree(rt);
2508 rt = NULL;
2617 icmp6_redirect_output(m0, rt)
2619 struct rtentry *rt;
2637 if (rt != NULL)
2638 RT_LOCK(rt);
2641 if (!m0 || !rt || !(rt->rt_flags & RTF_UP) || !(ifp = rt->rt_ifp))
2664 RT_UNLOCK(rt);
2667 rt = NULL;
2670 RT_LOCK(rt);
2715 if (rt->rt_gateway && (rt->rt_flags & RTF_GATEWAY)) {
2717 sin6 = (struct sockaddr_in6 *)(void *)rt->rt_gateway;
2741 if (rt->rt_flags & RTF_GATEWAY) {
2759 RT_UNLOCK(rt);
2760 rt = NULL;
2921 if (rt != NULL)
2922 RT_UNLOCK(rt);