Lines Matching refs:tcp

382 	tcp_t		*tcp = connp->conn_tcp;  in tcp_opt_get()  local
396 *i1 = tcp->tcp_snd_zcopy_on ? in tcp_opt_get()
400 *i1 = (tcp->tcp_state == TCPS_LISTEN); in tcp_opt_get()
407 *i1 = (tcp->tcp_naglim == 1) ? TCP_NODELAY : 0; in tcp_opt_get()
410 *i1 = tcp->tcp_mss; in tcp_opt_get()
413 *i1 = (int)tcp->tcp_first_timer_threshold; in tcp_opt_get()
416 *i1 = tcp->tcp_second_timer_threshold; in tcp_opt_get()
419 *i1 = tcp->tcp_first_ctimer_threshold; in tcp_opt_get()
422 *i1 = tcp->tcp_second_ctimer_threshold; in tcp_opt_get()
425 *i1 = tcp->tcp_init_cwnd; in tcp_opt_get()
428 *i1 = tcp->tcp_ka_interval; in tcp_opt_get()
436 *i1 = tcp->tcp_ka_interval / 1000; in tcp_opt_get()
439 *i1 = tcp->tcp_ka_cnt; in tcp_opt_get()
447 *i1 = tcp->tcp_ka_rinterval / 1000; in tcp_opt_get()
450 *i1 = tcp->tcp_ka_abort_thres; in tcp_opt_get()
453 size_t len = strlcpy((char *)ptr, CC_ALGO(tcp)->name, in tcp_opt_get()
460 *i1 = tcp->tcp_cork; in tcp_opt_get()
463 *i1 = tcp->tcp_quickack; in tcp_opt_get()
466 *i1 = tcp->tcp_md5sig; in tcp_opt_get()
469 *i1 = tcp->tcp_rto_initial; in tcp_opt_get()
472 *i1 = tcp->tcp_rto_min; in tcp_opt_get()
475 *i1 = tcp->tcp_rto_max; in tcp_opt_get()
478 *i1 = tcp->tcp_fin_wait_2_flush_interval / SECONDS; in tcp_opt_get()
505 if (tcp->tcp_state < TCPS_ESTABLISHED) in tcp_opt_get()
527 tcp_t *tcp = connp->conn_tcp; in tcp_opt_set() local
532 tcp_stack_t *tcps = tcp->tcp_tcps; in tcp_opt_set()
614 if (tcp->tcp_ka_tid != 0) { in tcp_opt_set()
615 (void) TCP_TIMER_CANCEL(tcp, in tcp_opt_set()
616 tcp->tcp_ka_tid); in tcp_opt_set()
617 tcp->tcp_ka_tid = 0; in tcp_opt_set()
625 tcp->tcp_ka_last_intrvl = 0; in tcp_opt_set()
626 tcp->tcp_ka_tid = TCP_TIMER(tcp, in tcp_opt_set()
627 tcp_keepalive_timer, tcp->tcp_ka_interval); in tcp_opt_set()
644 (void) tcp_maxpsz_set(tcp, B_TRUE); in tcp_opt_set()
651 mutex_enter(&tcp->tcp_non_sq_lock); in tcp_opt_set()
652 if (tcp->tcp_flow_stopped && in tcp_opt_set()
653 TCP_UNSENT_BYTES(tcp) < connp->conn_sndbuf) { in tcp_opt_set()
654 tcp_clrqfull(tcp); in tcp_opt_set()
656 mutex_exit(&tcp->tcp_non_sq_lock); in tcp_opt_set()
667 *i1 = MSS_ROUNDUP(*i1, tcp->tcp_mss); in tcp_opt_set()
668 (void) tcp_rwnd_set(tcp, *i1); in tcp_opt_set()
678 if (tcp->tcp_loopback || in tcp_opt_set()
679 (onoff != 1) || !tcp_zcopy_check(tcp)) { in tcp_opt_set()
683 tcp->tcp_snd_zcopy_aware = 1; in tcp_opt_set()
693 tcp->tcp_naglim = *i1 ? 1 : tcp->tcp_mss; in tcp_opt_set()
697 tcp->tcp_first_timer_threshold = *i1; in tcp_opt_set()
701 tcp->tcp_second_timer_threshold = *i1; in tcp_opt_set()
705 tcp->tcp_first_ctimer_threshold = *i1; in tcp_opt_set()
709 tcp->tcp_second_ctimer_threshold = *i1; in tcp_opt_set()
712 if (tcp->tcp_state > TCPS_LISTEN) { in tcp_opt_set()
727 if (val > MIN(4, MAX(2, 4380 / tcp->tcp_mss))) { in tcp_opt_set()
739 tcp->tcp_init_cwnd = val; in tcp_opt_set()
745 if (tcp->tcp_state == TCPS_ESTABLISHED && in tcp_opt_set()
746 tcp->tcp_iss == tcp->tcp_snxt - 1) { in tcp_opt_set()
747 tcp->tcp_cwnd = in tcp_opt_set()
748 MIN(tcp->tcp_rwnd, val * tcp->tcp_mss); in tcp_opt_set()
772 if (*i1 != tcp->tcp_ka_interval) { in tcp_opt_set()
773 tcp->tcp_ka_interval = *i1; in tcp_opt_set()
778 if (tcp->tcp_ka_tid != 0) { in tcp_opt_set()
780 (void) TCP_TIMER_CANCEL(tcp, in tcp_opt_set()
781 tcp->tcp_ka_tid); in tcp_opt_set()
782 tcp->tcp_ka_last_intrvl = 0; in tcp_opt_set()
783 tcp->tcp_ka_tid = TCP_TIMER(tcp, in tcp_opt_set()
785 tcp->tcp_ka_interval); in tcp_opt_set()
802 } else if (tcp->tcp_ka_rinterval == 0) { in tcp_opt_set()
825 interval = tcp->tcp_ka_abort_thres / *i1; in tcp_opt_set()
827 if (interval < tcp->tcp_rto_min) in tcp_opt_set()
828 interval = tcp->tcp_rto_min; in tcp_opt_set()
830 if (interval > tcp->tcp_rto_max) in tcp_opt_set()
831 interval = tcp->tcp_rto_max; in tcp_opt_set()
833 tcp->tcp_ka_rinterval = interval; in tcp_opt_set()
835 if ((*i1 * tcp->tcp_ka_rinterval) < in tcp_opt_set()
837 (*i1 * tcp->tcp_ka_rinterval) > in tcp_opt_set()
840 tcp->tcp_ka_abort_thres = in tcp_opt_set()
841 (*i1 * tcp->tcp_ka_rinterval); in tcp_opt_set()
843 tcp->tcp_ka_cnt = *i1; in tcp_opt_set()
854 if ((*i1 * 1000) < tcp->tcp_rto_min || in tcp_opt_set()
855 (*i1 * 1000) > tcp->tcp_rto_max) in tcp_opt_set()
858 if (tcp->tcp_ka_cnt == 0) { in tcp_opt_set()
859 tcp->tcp_ka_cnt = in tcp_opt_set()
860 tcp->tcp_ka_abort_thres / (*i1 * 1000); in tcp_opt_set()
862 if ((*i1 * tcp->tcp_ka_cnt * 1000) < in tcp_opt_set()
864 (*i1 * tcp->tcp_ka_cnt * 1000) > in tcp_opt_set()
867 tcp->tcp_ka_abort_thres = in tcp_opt_set()
868 (*i1 * tcp->tcp_ka_cnt * 1000); in tcp_opt_set()
870 tcp->tcp_ka_rinterval = *i1 * 1000; in tcp_opt_set()
881 tcp->tcp_ka_abort_thres = *i1; in tcp_opt_set()
882 tcp->tcp_ka_cnt = 0; in tcp_opt_set()
883 tcp->tcp_ka_rinterval = 0; in tcp_opt_set()
908 if (CC_ALGO(tcp)->cb_destroy != NULL) { in tcp_opt_set()
909 CC_ALGO(tcp)->cb_destroy(&tcp->tcp_ccv); in tcp_opt_set()
912 CC_DATA(tcp) = NULL; in tcp_opt_set()
913 CC_ALGO(tcp) = algo; in tcp_opt_set()
915 if (CC_ALGO(tcp)->cb_init != NULL) { in tcp_opt_set()
916 VERIFY0(CC_ALGO(tcp)->cb_init(&tcp->tcp_ccv)); in tcp_opt_set()
930 if (tcp->tcp_cork && onoff == 0 && in tcp_opt_set()
931 tcp->tcp_unsent > 0) { in tcp_opt_set()
932 tcp->tcp_cork = B_FALSE; in tcp_opt_set()
933 tcp_wput_data(tcp, NULL, B_FALSE); in tcp_opt_set()
935 tcp->tcp_cork = onoff; in tcp_opt_set()
940 tcp->tcp_quickack = onoff; in tcp_opt_set()
945 tcp->tcp_md5sig = onoff; in tcp_opt_set()
961 if (val < tcp->tcp_rto_min || val > tcp->tcp_rto_max || in tcp_opt_set()
962 val > tcp->tcp_second_ctimer_threshold || in tcp_opt_set()
968 tcp->tcp_rto_initial = val; in tcp_opt_set()
975 if (tcp->tcp_state >= TCPS_SYN_SENT) in tcp_opt_set()
978 tcp->tcp_rtt_sa = MSEC2NSEC(tcp->tcp_rto_initial) << 2; in tcp_opt_set()
979 tcp->tcp_rtt_sd = MSEC2NSEC(tcp->tcp_rto_initial) >> 1; in tcp_opt_set()
980 tcp->tcp_rto = tcp_calculate_rto(tcp, tcps, in tcp_opt_set()
989 val > tcp->tcp_rto_max) { in tcp_opt_set()
993 tcp->tcp_rto_min = val; in tcp_opt_set()
994 if (tcp->tcp_rto < val) in tcp_opt_set()
995 tcp->tcp_rto = val; in tcp_opt_set()
1011 val < tcp->tcp_rto_min || in tcp_opt_set()
1012 val > tcp->tcp_second_timer_threshold) { in tcp_opt_set()
1016 tcp->tcp_rto_max = val; in tcp_opt_set()
1017 if (tcp->tcp_rto > val) in tcp_opt_set()
1018 tcp->tcp_rto = val; in tcp_opt_set()
1042 tcp->tcp_fin_wait_2_flush_interval = *i1 * SECONDS; in tcp_opt_set()
1059 if (tcp->tcp_state == TCPS_LISTEN) { in tcp_opt_set()
1070 tcp->tcp_recvtos = 0xffffffffU; in tcp_opt_set()
1089 tcp->tcp_recvifindex = 0; in tcp_opt_set()
1095 tcp->tcp_recvtclass = 0xffffffffU; in tcp_opt_set()
1101 tcp->tcp_recvhops = 0xffffffffU; in tcp_opt_set()
1125 if (tcp->tcp_state == TCPS_LISTEN) { in tcp_opt_set()
1152 reterr = tcp_build_hdrs(tcp); in tcp_opt_set()