Lines Matching +full:chg +full:- +full:fast

1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
73 * take and shift over by 1 minus the value (1-8).
135 #define SEGQ_EMPTY(tp) TAILQ_EMPTY(&(tp)->t_segq)
151 uint64_t end; /* End if not open-range req */
176 * - sendmap
177 * - timers
178 * - rack_times
202 * is unfilled. This may mean that a time is off by a micro-second
231 #define SNDMAP_TLP 0x000080/* segment sent as tail-loss-probe */
311 #define t_zero_size (sizeof(struct tcpcb) - \
330 #define HPTS_CPU_NONE ((uint16_t)-1)
354 uint32_t snd_cwnd; /* congestion-controlled window */
365 int t_srtt; /* smoothed round-trip time */
366 int t_rttvar; /* variance in round-trip time */
390 tcp_seq snd_recover; /* for use in NewReno Fast Recovery */
406 u_int t_pmtud_saved_maxseg; /* pre-blackhole MSS */
416 int t_sndzerowin; /* zero-window updates sent */
428 int t_rcvoopack; /* out-of-order packets received */
443 int64_t t_pacing_rate; /* bytes / sec, -1 => unlimited */
448 struct statsblob *t_stats; /* Per-connection stats */
465 /* TCP Fast Open */
477 } t_tfo_cookie; /* TCP Fast Open cookie to send */
554 * you return non-zero (an error number) to say no you can't.
585 * of the condtion (ptr == &tp->t_fb_ptr) will be
593 * TCP_QUERY_SENDMAP - Query of outstanding data.
594 * TCP_QUERY_TIMERS_UP - Query about running timers.
595 * TCP_SUPPORTED_LRO - Declaration in req_param of
598 * TCP_QUERY_RACK_TIMES - Enquire about various timestamps
609 * stack does not communicate via chg messages that it too does,
659 #define tptoinpcb(tp) (&(tp)->t_inpcb)
660 #define tptosocket(tp) (tp)->t_inpcb.inp_socket
676 rv = tp->t_fb->tfb_tcp_output(tp); in tcp_output()
678 KASSERT(tp->t_fb->tfb_flags & TCP_FUNC_OUTPUT_CANDROP, in tcp_output()
680 tp->t_fb->tfb_tcp_block_name, tp)); in tcp_output()
681 tp = tcp_drop(tp, -rv); in tcp_output()
702 rv = tp->t_fb->tfb_tcp_output(tp); in tcp_output_unlock()
704 KASSERT(tp->t_fb->tfb_flags & TCP_FUNC_OUTPUT_CANDROP, in tcp_output_unlock()
706 tp->t_fb->tfb_tcp_block_name, tp)); in tcp_output_unlock()
707 rv = -rv; in tcp_output_unlock()
734 rv = tp->t_fb->tfb_tcp_output(tp); in tcp_output_nodrop()
735 KASSERT(rv >= 0 || tp->t_fb->tfb_flags & TCP_FUNC_OUTPUT_CANDROP, in tcp_output_nodrop()
737 tp->t_fb->tfb_tcp_block_name, tp)); in tcp_output_nodrop()
754 tcp_output_retval = -tcp_output_retval; in tcp_unlock_or_drop()
767 return ((ack - tp->snd_una) / tp->t_maxseg + in tcp_packets_this_ack()
768 ((((ack - tp->snd_una) % tp->t_maxseg) != 0) ? 1 : 0)); in tcp_packets_this_ack()
799 #define TF_FASTRECOVERY 0x00100000 /* in NewReno Fast Recovery */
800 #define TF_WASFRECOVERY 0x00200000 /* was in NewReno Fast Recovery */
810 #define TF_FASTOPEN 0x80000000 /* TCP Fast Open indication */
824 #define BYTES_THIS_ACK(tp, th) (th->th_ack - tp->snd_una)
838 #define TF2_LOG_AUTO 0x00000008 /* Session is auto-logging. */
840 #define TF2_ECN_PERMIT 0x00000020 /* connection ECN-ready */
873 #define TOF_SIGNATURE 0x0040 /* TCP-MD5 signature option (RFC2385) */
875 #define TOF_FASTOPEN 0x0100 /* TCP Fast Open (TFO) cookie */
880 u_char *to_signature; /* pointer to the TCP-MD5 signature */
892 #define TO_SYN 0x01 /* parse SYN-only options */
900 uint32_t hc_sendpipe; /* outbound delay-bandwidth product */
901 uint32_t hc_recvpipe; /* inbound delay-bandwidth product */
909 * The smoothed round-trip time and estimated variance
912 * (smoothed = (1/scale)sample + ((scale-1)/scale)smoothed).
928 * 1 extra tick because of +-1/2 tick uncertainty in the
937 * fast networks.
940 max((tp)->t_rttmin, (((tp)->t_srtt >> (TCP_RTT_SHIFT - TCP_DELTA_SHIFT)) \
941 + (tp)->t_rttvar) >> TCP_DELTA_SHIFT)
973 uint64_t tcps_sndacks; /* ack-only packets sent */
976 uint64_t tcps_sndwinup; /* window update-only packets sent */
986 uint64_t tcps_rcvduppack; /* duplicate-only packets received */
987 uint64_t tcps_rcvdupbyte; /* duplicate-only bytes received */
989 uint64_t tcps_rcvpartdupbyte; /* dup. bytes in part-dup. packets */
990 uint64_t tcps_rcvoopack; /* out-of-order packets received */
991 uint64_t tcps_rcvoobyte; /* out-of-order bytes received */
1022 uint64_t tcps_sc_bucketoverflow;/* syncache per-bucket limit hit */
1076 uint64_t tcps_tw_recycles; /* Times time-wait was recycled. */
1077 uint64_t tcps_tw_resets; /* Times time-wait sent a reset. */
1078 uint64_t tcps_tw_responds; /* Times time-wait sent a valid ack. */
1081 uint64_t tcps_ace_nect; /* ACE SYN packet with Non-ECT */
1115 * In-kernel consumers can use these accessor macros directly to update
1144 #define TCPSTATES_DEC(state) counter_u64_add(V_tcps_states[state], -1)
1169 * TCB structure exported to user-land via sysctl(3).
1175 * (s) - used by userland utilities in src
1176 * (p) - used by utilities in ports
1177 * (3) - is known to be used by third party software not in ports
1178 * (n) - no known usage
1223 * TCP function information (name-to-id mapping, aliases, and refcnt)
1224 * exported to user-land via sysctl(3).
1236 #define TCPCTL_DO_RFC1323 1 /* use RFC-1323 extensions */
1569 tp->t_flags2 &= ~(TF2_SUPPORTS_MBUFQ| in tcp_lro_features_off()
1580 th->th_seq = ntohl(th->th_seq); in tcp_fields_to_host()
1581 th->th_ack = ntohl(th->th_ack); in tcp_fields_to_host()
1582 th->th_win = ntohs(th->th_win); in tcp_fields_to_host()
1583 th->th_urp = ntohs(th->th_urp); in tcp_fields_to_host()
1590 th->th_seq = htonl(th->th_seq); in tcp_fields_to_net()
1591 th->th_ack = htonl(th->th_ack); in tcp_fields_to_net()
1592 th->th_win = htons(th->th_win); in tcp_fields_to_net()
1593 th->th_urp = htons(th->th_urp); in tcp_fields_to_net()