Lines Matching defs:rt
692 struct rtentry *rt = NULL;
725 rt = rtalloc(sintosa(&sin), 0, rtableid);
726 if (rtisvalid(rt) &&
727 ISSET(rt->rt_flags, RTF_LOCAL|RTF_BROADCAST))
728 ia = ifatoia(rt->rt_ifa);
737 rtfree(rt);
745 rt = rtalloc(sintosa(&sin), RT_RESOLVE, rtableid);
746 if (rt == NULL) {
752 ia = ifatoia(rt->rt_ifa);
758 /* It is safe to dereference ``ia'' iff ``rt'' is valid. */
760 rtfree(rt);
780 printf("icmp_reflect optlen %d rt %d => ",
942 struct rtentry *rt;
950 rt = rtalloc(sintosa(&sin), RT_RESOLVE, rtableid);
953 if (!rtisvalid(rt))
956 if (!ipsec && (rt->rt_flags & (RTF_REJECT|RTF_BLACKHOLE)))
963 if (ISSET(rt->rt_flags, RTF_LOCAL) ||
964 (ISSET(rt->rt_flags, RTF_LLINFO) && rt->rt_expire == 0))
968 if ((rt->rt_flags & RTF_HOST) == 0) {
974 info.rti_ifa = rt->rt_ifa;
977 info.rti_info[RTAX_GATEWAY] = rt->rt_gateway;
979 rtlabel_id2sa(rt->rt_labelid, &sa_rl);
981 error = rtrequest(RTM_ADD, &info, rt->rt_priority, &nrt,
985 nrt->rt_rmx = rt->rt_rmx;
986 rtfree(rt);
987 rt = nrt;
988 rtm_send(rt, RTM_ADD, 0, rtableid);
990 error = rt_timer_add(rt, &ip_mtudisc_timeout_q, rtableid);
994 return (rt);
996 rtfree(rt);
1009 struct rtentry *rt;
1014 rt = icmp_mtudisc_clone(icp->icmp_ip.ip_dst, rtableid, 0);
1015 if (rt == NULL)
1018 ifp = if_get(rt->rt_ifidx);
1020 rtfree(rt);
1024 rtmtu = atomic_load_int(&rt->rt_mtu);
1057 if ((rt->rt_locks & RTV_MTU) == 0) {
1059 rt->rt_locks |= RTV_MTU;
1061 atomic_cas_uint(&rt->rt_mtu, rtmtu, mtu);
1065 rtfree(rt);
1069 icmp_mtudisc_timeout(struct rtentry *rt, u_int rtableid)
1075 ifp = if_get(rt->rt_ifidx);
1079 if ((rt->rt_flags & (RTF_DYNAMIC|RTF_HOST)) == (RTF_DYNAMIC|RTF_HOST)) {
1083 sin = *satosin(rt_key(rt));
1085 rtdeletemsg(rt, ifp, rtableid);
1093 if ((rt->rt_locks & RTV_MTU) == 0)
1094 atomic_store_int(&rt->rt_mtu, 0);