Lines Matching refs:rt

948 tcp_getrt_rtt(struct tcpcb *tp, struct rtentry *rt) 
950 u_int32_t rtt = rt->rt_rmx.rmx_rtt;
958 if (rt->rt_rmx.rmx_locks & RTV_RTT)
964 if (rt->rt_rmx.rmx_rttvar) {
965 tp->t_rttvar = rt->rt_rmx.rmx_rttvar /
996 struct rtentry *rt;
1036 rt = ro->ro_rt;
1037 if (rt != NULL)
1038 RT_LOCK_SPIN(rt);
1058 if (rt == NULL)
1060 sin6 = (struct sockaddr_in6 *)(void *)rt_key(rt);
1067 SIN(rt_key(rt))->sin_addr.s_addr == INADDR_ANY) {
1078 RT_LOCK_ASSERT_HELD(rt);
1079 if ((rt->rt_rmx.rmx_locks & RTV_RTT) == 0) {
1082 if (rt->rt_rmx.rmx_rtt && i)
1089 rt->rt_rmx.rmx_rtt =
1090 (rt->rt_rmx.rmx_rtt + i) / 2;
1092 rt->rt_rmx.rmx_rtt = i;
1095 if ((rt->rt_rmx.rmx_locks & RTV_RTTVAR) == 0) {
1098 if (rt->rt_rmx.rmx_rttvar && i)
1099 rt->rt_rmx.rmx_rttvar =
1100 (rt->rt_rmx.rmx_rttvar + i) / 2;
1102 rt->rt_rmx.rmx_rttvar = i;
1120 if (rt->rt_rmx.rmx_sendpipe != 0)
1121 dosavessthresh = (i < rt->rt_rmx.rmx_sendpipe / 2);
1124 if (((rt->rt_rmx.rmx_locks & RTV_SSTHRESH) == 0 &&
1125 i != 0 && rt->rt_rmx.rmx_ssthresh != 0)
1144 if (rt->rt_rmx.rmx_ssthresh)
1145 rt->rt_rmx.rmx_ssthresh =
1146 (rt->rt_rmx.rmx_ssthresh + i) / 2;
1148 rt->rt_rmx.rmx_ssthresh = i;
1156 if (rt != NULL && (so->so_flags & SOF_OVERFLOW) && tcp_lq_overflow) {
1157 if (!(rt->rt_rmx.rmx_locks & RTV_RTT) &&
1158 rt->rt_rmx.rmx_rtt == 0) {
1159 rt->rt_flags |= RTF_DELCLONE;
1164 if (rt != NULL)
1165 RT_UNLOCK(rt);
1803 struct rtentry *rt;
1809 rt = rtalloc1((struct sockaddr *)&icmpsrc, 0,
1811 if (rt != NULL) {
1812 RT_LOCK(rt);
1813 if ((rt->rt_flags & RTF_HOST) &&
1814 !(rt->rt_rmx.rmx_locks & RTV_MTU)) {
1817 mtu = ip_next_mtu(rt->rt_rmx.
1827 /* rt->rt_rmx.rmx_mtu =
1828 rt->rt_ifp->if_mtu; */
1829 rt->rt_rmx.rmx_locks |= RTV_MTU;
1830 } else if (rt->rt_rmx.rmx_mtu > mtu) {
1831 rt->rt_rmx.rmx_mtu = mtu;
1834 RT_UNLOCK(rt);
1835 rtfree(rt);
2051 struct rtentry *rt;
2063 rt = tcp_rtlookup6(inp, IFSCOPE_NONE);
2066 rt = tcp_rtlookup(inp, IFSCOPE_NONE);
2067 if (!rt || !rt->rt_rmx.rmx_mtu) {
2075 if (rt != NULL)
2076 RT_UNLOCK(rt);
2079 taop = rmx_taop(rt->rt_rmx);
2081 mss = rt->rt_rmx.rmx_mtu -
2093 RT_UNLOCK(rt);
2155 struct rtentry *rt;
2161 if ((rt = ro->ro_rt) != NULL)
2162 RT_LOCK(rt);
2165 if (rt != NULL) {
2166 RT_UNLOCK(rt);
2167 rt = NULL;
2190 if ((rt = ro->ro_rt) != NULL)
2191 RT_LOCK(rt);
2194 if (rt != NULL)
2195 RT_LOCK_ASSERT_HELD(rt);
2207 if (!path_mtu_discovery || ((rt != NULL) &&
2208 (!(rt->rt_flags & RTF_UP) || (rt->rt_rmx.rmx_locks & RTV_MTU))))
2215 tp->t_state == TCPS_SYN_SENT && rt != NULL && rt->rt_ifp != NULL &&
2216 (rt->rt_ifp->if_eflags & IFEF_NOWINDOWSCALE)) {
2222 if (rt != NULL && rt->rt_ifp != NULL) {
2224 (rt->rt_ifp->if_hwassist & IFNET_MULTIPAGES));
2225 tcp_set_tso(tp, rt->rt_ifp);
2229 if (rt != NULL &&
2230 (rt->rt_gateway->sa_family == AF_LINK ||
2231 rt->rt_ifp->if_flags & IFF_LOOPBACK ||
2237 * Caller needs to call RT_UNLOCK(rt).
2239 return rt;
2249 struct rtentry *rt;
2255 if ((rt = ro6->ro_rt) != NULL)
2256 RT_LOCK(rt);
2259 if (rt != NULL) {
2260 RT_UNLOCK(rt);
2261 rt = NULL;
2285 if ((rt = ro6->ro_rt) != NULL)
2286 RT_LOCK(rt);
2289 if (rt != NULL)
2290 RT_LOCK_ASSERT_HELD(rt);
2311 if (!path_mtu_discovery || ((rt != NULL) &&
2312 (!(rt->rt_flags & RTF_UP) || (rt->rt_rmx.rmx_locks & RTV_MTU))))
2319 tp->t_state == TCPS_SYN_SENT && rt != NULL && rt->rt_ifp != NULL &&
2320 (rt->rt_ifp->if_eflags & IFEF_NOWINDOWSCALE)) {
2326 if (rt != NULL && rt->rt_ifp != NULL) {
2328 (rt->rt_ifp->if_hwassist & IFNET_MULTIPAGES));
2329 tcp_set_tso(tp, rt->rt_ifp);
2333 if (rt != NULL &&
2336 rt->rt_gateway->sa_family == AF_LINK ||
2342 * Caller needs to call RT_UNLOCK(rt).
2344 return rt;
2400 struct rtentry *rt;
2405 rt = tcp_rtlookup6(inp, IFSCOPE_NONE);
2408 rt = tcp_rtlookup(inp, IFSCOPE_NONE);
2411 if (rt == NULL ||
2412 (rt->rt_flags & (RTF_UP|RTF_HOST)) != (RTF_UP|RTF_HOST)) {
2414 if (rt != NULL)
2415 RT_UNLOCK(rt);
2419 taop = rmx_taop(rt->rt_rmx);
2421 RT_UNLOCK(rt);