2211 DONTCARE(tcp->tcp_second_timer_threshold); /* Init in tcp_init_values */
2212 DONTCARE(tcp->tcp_first_ctimer_threshold); /* Init in tcp_init_values */
2213 DONTCARE(tcp->tcp_second_ctimer_threshold); /* in tcp_init_values */
2214
2215 DONTCARE(tcp->tcp_urp_last); /* tcp_urp_last_valid is cleared */
2216 ASSERT(tcp->tcp_urp_mp == NULL);
2217 ASSERT(tcp->tcp_urp_mark_mp == NULL);
2218 ASSERT(tcp->tcp_fused_sigurg_mp == NULL);
2219
2220 ASSERT(tcp->tcp_eager_next_q == NULL);
2221 ASSERT(tcp->tcp_eager_last_q == NULL);
2222 ASSERT((tcp->tcp_eager_next_q0 == NULL &&
2223 tcp->tcp_eager_prev_q0 == NULL) ||
2224 tcp->tcp_eager_next_q0 == tcp->tcp_eager_prev_q0);
2225 ASSERT(tcp->tcp_conn.tcp_eager_conn_ind == NULL);
2226
2227 ASSERT((tcp->tcp_eager_next_drop_q0 == NULL &&
2228 tcp->tcp_eager_prev_drop_q0 == NULL) ||
2229 tcp->tcp_eager_next_drop_q0 == tcp->tcp_eager_prev_drop_q0);
2230
2231 tcp->tcp_client_errno = 0;
2232
2233 DONTCARE(connp->conn_sum); /* Init in tcp_init_values */
2234
2235 connp->conn_faddr_v6 = ipv6_all_zeros; /* Displayed in MIB */
2236
2237 PRESERVE(connp->conn_bound_addr_v6);
2238 tcp->tcp_last_sent_len = 0;
2239 tcp->tcp_dupack_cnt = 0;
2240
2241 connp->conn_fport = 0; /* Displayed in MIB */
2242 PRESERVE(connp->conn_lport);
2243
2244 PRESERVE(tcp->tcp_acceptor_lockp);
2245
2246 ASSERT(tcp->tcp_ordrel_mp == NULL);
2247 PRESERVE(tcp->tcp_acceptor_id);
2248 DONTCARE(tcp->tcp_ipsec_overhead);
2249
2250 PRESERVE(connp->conn_family);
2367 tcp->tcp_naglim = parent->tcp_naglim;
2368
2369 tcp->tcp_rto_initial = parent->tcp_rto_initial;
2370 tcp->tcp_rto_min = parent->tcp_rto_min;
2371 tcp->tcp_rto_max = parent->tcp_rto_max;
2372
2373 tcp->tcp_first_ctimer_threshold =
2374 parent->tcp_first_ctimer_threshold;
2375 tcp->tcp_second_ctimer_threshold =
2376 parent->tcp_second_ctimer_threshold;
2377 tcp->tcp_first_timer_threshold =
2378 parent->tcp_first_timer_threshold;
2379 tcp->tcp_second_timer_threshold =
2380 parent->tcp_second_timer_threshold;
2381
2382 tcp->tcp_fin_wait_2_flush_interval =
2383 parent->tcp_fin_wait_2_flush_interval;
2384
2385 tcp->tcp_ka_interval = parent->tcp_ka_interval;
2386 tcp->tcp_ka_abort_thres = parent->tcp_ka_abort_thres;
2387
2388 tcp->tcp_init_cwnd = parent->tcp_init_cwnd;
2389 }
2390
2391 /*
2392 * Initialize tcp_rtt_sa and tcp_rtt_sd so that the calculated RTO
2393 * will be close to tcp_rexmit_interval_initial. By doing this, we
2394 * allow the algorithm to adjust slowly to large fluctuations of RTT
2395 * during first few transmissions of a connection as seen in slow
2396 * links.
2397 */
2398 tcp->tcp_rtt_sa = tcp->tcp_rto_initial << 2;
2399 tcp->tcp_rtt_sd = tcp->tcp_rto_initial >> 1;
2400 rto = (tcp->tcp_rtt_sa >> 3) + tcp->tcp_rtt_sd +
2401 tcps->tcps_rexmit_interval_extra + (tcp->tcp_rtt_sa >> 5) +
2402 tcps->tcps_conn_grace_period;
2403 TCP_SET_RTO(tcp, rto);
2404
2405 tcp->tcp_timer_backoff = 0;
2406 tcp->tcp_ms_we_have_waited = 0;
|
2211 DONTCARE(tcp->tcp_second_timer_threshold); /* Init in tcp_init_values */
2212 DONTCARE(tcp->tcp_first_ctimer_threshold); /* Init in tcp_init_values */
2213 DONTCARE(tcp->tcp_second_ctimer_threshold); /* in tcp_init_values */
2214
2215 DONTCARE(tcp->tcp_urp_last); /* tcp_urp_last_valid is cleared */
2216 ASSERT(tcp->tcp_urp_mp == NULL);
2217 ASSERT(tcp->tcp_urp_mark_mp == NULL);
2218 ASSERT(tcp->tcp_fused_sigurg_mp == NULL);
2219
2220 ASSERT(tcp->tcp_eager_next_q == NULL);
2221 ASSERT(tcp->tcp_eager_last_q == NULL);
2222 ASSERT((tcp->tcp_eager_next_q0 == NULL &&
2223 tcp->tcp_eager_prev_q0 == NULL) ||
2224 tcp->tcp_eager_next_q0 == tcp->tcp_eager_prev_q0);
2225 ASSERT(tcp->tcp_conn.tcp_eager_conn_ind == NULL);
2226
2227 ASSERT((tcp->tcp_eager_next_drop_q0 == NULL &&
2228 tcp->tcp_eager_prev_drop_q0 == NULL) ||
2229 tcp->tcp_eager_next_drop_q0 == tcp->tcp_eager_prev_drop_q0);
2230
2231 DONTCARE(tcp->tcp_ka_rinterval); /* Init in tcp_init_values */
2232 DONTCARE(tcp->tcp_ka_ka_abort_thres); /* Init in tcp_init_values */
2233 DONTCARE(tcp->tcp_ka_ka_cnt); /* Init in tcp_init_values */
2234
2235 tcp->tcp_client_errno = 0;
2236
2237 DONTCARE(connp->conn_sum); /* Init in tcp_init_values */
2238
2239 connp->conn_faddr_v6 = ipv6_all_zeros; /* Displayed in MIB */
2240
2241 PRESERVE(connp->conn_bound_addr_v6);
2242 tcp->tcp_last_sent_len = 0;
2243 tcp->tcp_dupack_cnt = 0;
2244
2245 connp->conn_fport = 0; /* Displayed in MIB */
2246 PRESERVE(connp->conn_lport);
2247
2248 PRESERVE(tcp->tcp_acceptor_lockp);
2249
2250 ASSERT(tcp->tcp_ordrel_mp == NULL);
2251 PRESERVE(tcp->tcp_acceptor_id);
2252 DONTCARE(tcp->tcp_ipsec_overhead);
2253
2254 PRESERVE(connp->conn_family);
2371 tcp->tcp_naglim = parent->tcp_naglim;
2372
2373 tcp->tcp_rto_initial = parent->tcp_rto_initial;
2374 tcp->tcp_rto_min = parent->tcp_rto_min;
2375 tcp->tcp_rto_max = parent->tcp_rto_max;
2376
2377 tcp->tcp_first_ctimer_threshold =
2378 parent->tcp_first_ctimer_threshold;
2379 tcp->tcp_second_ctimer_threshold =
2380 parent->tcp_second_ctimer_threshold;
2381 tcp->tcp_first_timer_threshold =
2382 parent->tcp_first_timer_threshold;
2383 tcp->tcp_second_timer_threshold =
2384 parent->tcp_second_timer_threshold;
2385
2386 tcp->tcp_fin_wait_2_flush_interval =
2387 parent->tcp_fin_wait_2_flush_interval;
2388
2389 tcp->tcp_ka_interval = parent->tcp_ka_interval;
2390 tcp->tcp_ka_abort_thres = parent->tcp_ka_abort_thres;
2391 tcp->tcp_ka_cnt = parent->tcp_ka_cnt;
2392 tcp->tcp_ka_rinterval = parent->tcp_ka_rinterval;
2393
2394 tcp->tcp_init_cwnd = parent->tcp_init_cwnd;
2395 }
2396
2397 /*
2398 * Initialize tcp_rtt_sa and tcp_rtt_sd so that the calculated RTO
2399 * will be close to tcp_rexmit_interval_initial. By doing this, we
2400 * allow the algorithm to adjust slowly to large fluctuations of RTT
2401 * during first few transmissions of a connection as seen in slow
2402 * links.
2403 */
2404 tcp->tcp_rtt_sa = tcp->tcp_rto_initial << 2;
2405 tcp->tcp_rtt_sd = tcp->tcp_rto_initial >> 1;
2406 rto = (tcp->tcp_rtt_sa >> 3) + tcp->tcp_rtt_sd +
2407 tcps->tcps_rexmit_interval_extra + (tcp->tcp_rtt_sa >> 5) +
2408 tcps->tcps_conn_grace_period;
2409 TCP_SET_RTO(tcp, rto);
2410
2411 tcp->tcp_timer_backoff = 0;
2412 tcp->tcp_ms_we_have_waited = 0;
|