- struct tsegqe_head t_segq;
- int t_dupacks; /* consecutive dup acks recd */
- int t_state; /* state of this connection */
- uint32_t t_timer[TCPT_NTIMERS]; /* tcp timers */
- struct tcptimerentry tentry; /* entry in timer list */
-
- struct inpcb *t_inpcb; /* back pointer to internet pcb */
- uint32_t t_flags;
-#define TF_ACKNOW 0x00001 /* ack peer immediately */
-#define TF_DELACK 0x00002 /* ack, but try to delay it */
-#define TF_NODELAY 0x00004 /* don't delay packets to coalesce */
-#define TF_NOOPT 0x00008 /* don't use tcp options */
-#define TF_SENTFIN 0x00010 /* have sent FIN */
-#define TF_REQ_SCALE 0x00020 /* have/will request window scaling */
-#define TF_RCVD_SCALE 0x00040 /* other side has requested scaling */
-#define TF_REQ_TSTMP 0x00080 /* have/will request timestamps */
-#define TF_RCVD_TSTMP 0x00100 /* a timestamp was received in SYN */
-#define TF_SACK_PERMIT 0x00200 /* other side said I could SACK */
-#define TF_NEEDSYN 0x00400 /* send SYN (implicit state) */
-#define TF_NEEDFIN 0x00800 /* send FIN (implicit state) */
-#define TF_NOPUSH 0x01000 /* don't push */
-#define TF_REQ_CC 0x02000 /* have/will request CC */
-#define TF_RCVD_CC 0x04000 /* a CC was received in SYN */
-#define TF_SENDCCNEW 0x08000 /* Unused */
-#define TF_MORETOCOME 0x10000 /* More data to be appended to sock */
-#define TF_LOCAL 0x20000 /* connection to a host on local link */
-#define TF_RXWIN0SENT 0x40000 /* sent a receiver win 0 in response */
-#define TF_SLOWLINK 0x80000 /* route is a on a modem speed link */
-#define TF_LASTIDLE 0x100000 /* connection was previously idle */
-#define TF_FASTRECOVERY 0x200000 /* in NewReno Fast Recovery */
-#define TF_WASFRECOVERY 0x400000 /* was in NewReno Fast Recovery */
-#define TF_SIGNATURE 0x800000 /* require MD5 digests (RFC2385) */
-#define TF_MAXSEGSNT 0x1000000 /* last segment sent was a full segment */
-#define TF_STREAMING_ON 0x2000000 /* Receiver detected streaming */
-#define TF_PMTUD 0x4000000 /* Perform Path MTU Discovery for this connection */
-#define TF_CLOSING 0x8000000 /* pending tcp close */
-#define TF_TSO 0x10000000 /* TCP Segment Offloading is enable on this connection */
-#define TF_BLACKHOLE 0x20000000 /* Path MTU Discovery Black Hole detection */
-#define TF_TIMER_ONLIST 0x40000000 /* pcb is on tcp_timer_list */
-#define TF_STRETCHACK 0x80000000 /* receiver is going to delay acks */
-
- tcp_seq snd_una; /* send unacknowledged */
- tcp_seq snd_max; /* highest sequence number sent;
- * used to recognize retransmits
- */
- tcp_seq snd_nxt; /* send next */
- tcp_seq snd_up; /* send urgent pointer */
-
- tcp_seq snd_wl1; /* window update seg seq number */
- tcp_seq snd_wl2; /* window update seg ack number */
- tcp_seq iss; /* initial send sequence number */
- tcp_seq irs; /* initial receive sequence number */
-
- tcp_seq rcv_nxt; /* receive next */
- tcp_seq rcv_adv; /* advertised window */
- u_int32_t rcv_wnd; /* receive window */
- tcp_seq rcv_up; /* receive urgent pointer */
-
- u_int32_t snd_wnd; /* send window */
- u_int32_t snd_cwnd; /* congestion-controlled window */
- u_int32_t snd_ssthresh; /* snd_cwnd size threshold for
- * for slow start exponential to
- * linear switch
- */
- tcp_seq snd_recover; /* for use in NewReno Fast Recovery */
-
- u_int32_t t_maxopd; /* mss plus options */
- u_int32_t t_rcvtime; /* time at which a packet was received */
- u_int32_t t_starttime; /* time connection was established */
- int t_rtttime; /* tcp clock when rtt calculation was started */
- tcp_seq t_rtseq; /* sequence number being timed */
-
- u_int32_t rfbuf_ts; /* recv buffer autoscaling timestamp */
- u_int32_t rfbuf_cnt; /* recv buffer autoscaling byte count */
-
- int t_rxtcur; /* current retransmit value (ticks) */
- u_int t_maxseg; /* maximum segment size */
- int t_srtt; /* smoothed round-trip time */
- int t_rttvar; /* variance in round-trip time */
-
- u_int64_t t_accsleep_ms; /* accumulated sleep time since last boot */
- u_int16_t t_reassqlen; /* length of reassembly queue */
- u_int16_t t_rxtshift; /* log(2) of rexmt exp. backoff */
- u_int32_t t_rttmin; /* minimum rtt allowed */
- u_int32_t t_rttbest; /* best rtt we've seen */
- u_int32_t t_rttcur; /* most recent value of rtt */
- u_int32_t t_rttupdated; /* number of times rtt sampled */
- u_int32_t t_rxt_conndroptime; /* retxmt conn gets dropped after this time, when set */
- u_int32_t t_rxtstart; /* time at which retransmission started */
- u_int32_t max_sndwnd; /* largest window peer has offered */
-
- int t_softerror; /* possible error not yet reported */
+ struct tsegqe_head t_segq;
+ int t_dupacks; /* consecutive dup acks recd */
+ int t_state; /* state of this connection */
+ uint32_t t_timer[TCPT_NTIMERS]; /* tcp timers */
+ struct tcptimerentry tentry; /* entry in timer list */
+
+ struct inpcb *t_inpcb; /* back pointer to internet pcb */
+ uint32_t t_flags;
+#define TF_ACKNOW 0x00001 /* ack peer immediately */
+#define TF_DELACK 0x00002 /* ack, but try to delay it */
+#define TF_NODELAY 0x00004 /* don't delay packets to coalesce */
+#define TF_NOOPT 0x00008 /* don't use tcp options */
+#define TF_SENTFIN 0x00010 /* have sent FIN */
+#define TF_REQ_SCALE 0x00020 /* have/will request window scaling */
+#define TF_RCVD_SCALE 0x00040 /* other side has requested scaling */
+#define TF_REQ_TSTMP 0x00080 /* have/will request timestamps */
+#define TF_RCVD_TSTMP 0x00100 /* a timestamp was received in SYN */
+#define TF_SACK_PERMIT 0x00200 /* other side said I could SACK */
+#define TF_NEEDSYN 0x00400 /* send SYN (implicit state) */
+#define TF_NEEDFIN 0x00800 /* send FIN (implicit state) */
+#define TF_NOPUSH 0x01000 /* don't push */
+#define TF_REQ_CC 0x02000 /* have/will request CC */
+#define TF_RCVD_CC 0x04000 /* a CC was received in SYN */
+#define TF_SENDCCNEW 0x08000 /* Unused */
+#define TF_MORETOCOME 0x10000 /* More data to be appended to sock */
+#define TF_LOCAL 0x20000 /* connection to a host on local link */
+#define TF_RXWIN0SENT 0x40000 /* sent a receiver win 0 in response */
+#define TF_SLOWLINK 0x80000 /* route is a on a modem speed link */
+#define TF_LASTIDLE 0x100000 /* connection was previously idle */
+#define TF_FASTRECOVERY 0x200000 /* in NewReno Fast Recovery */
+#define TF_WASFRECOVERY 0x400000 /* was in NewReno Fast Recovery */
+#define TF_SIGNATURE 0x800000 /* require MD5 digests (RFC2385) */
+#define TF_MAXSEGSNT 0x1000000 /* last segment sent was a full segment */
+#define TF_STREAMING_ON 0x2000000 /* Receiver detected streaming */
+#define TF_PMTUD 0x4000000 /* Perform Path MTU Discovery for this connection */
+#define TF_CLOSING 0x8000000 /* pending tcp close */
+#define TF_TSO 0x10000000 /* TCP Segment Offloading is enable on this connection */
+#define TF_BLACKHOLE 0x20000000 /* Path MTU Discovery Black Hole detection */
+#define TF_TIMER_ONLIST 0x40000000 /* pcb is on tcp_timer_list */
+#define TF_STRETCHACK 0x80000000 /* receiver is going to delay acks */
+
+ tcp_seq snd_una; /* send unacknowledged */
+ tcp_seq snd_max; /* highest sequence number sent;
+ * used to recognize retransmits
+ */
+ tcp_seq snd_nxt; /* send next */
+ tcp_seq snd_up; /* send urgent pointer */
+
+ tcp_seq snd_wl1; /* window update seg seq number */
+ tcp_seq snd_wl2; /* window update seg ack number */
+ tcp_seq iss; /* initial send sequence number */
+ tcp_seq irs; /* initial receive sequence number */
+
+ tcp_seq rcv_nxt; /* receive next */
+ tcp_seq rcv_adv; /* advertised window */
+ u_int32_t rcv_wnd; /* receive window */
+ tcp_seq rcv_up; /* receive urgent pointer */
+
+ u_int32_t snd_wnd; /* send window */
+ u_int32_t snd_cwnd; /* congestion-controlled window */
+ u_int32_t snd_ssthresh; /* snd_cwnd size threshold for
+ * for slow start exponential to
+ * linear switch
+ */
+ tcp_seq snd_recover; /* for use in NewReno Fast Recovery */
+
+ u_int32_t t_maxopd; /* mss plus options */
+ u_int32_t t_rcvtime; /* time at which a packet was received */
+ u_int32_t t_sndtime; /* time at which we last sent new data */
+ u_int32_t t_starttime; /* time connection was established */
+ int t_rtttime; /* tcp clock when rtt calculation was started */
+ tcp_seq t_rtseq; /* sequence number being timed */
+
+ u_int32_t rfbuf_ts; /* recv buffer autoscaling timestamp */
+ u_int32_t rfbuf_cnt; /* recv buffer autoscaling byte count */
+
+ int t_rxtcur; /* current retransmit value (ticks) */
+ u_int t_maxseg; /* maximum segment size */
+ int t_srtt; /* smoothed round-trip time */
+ int t_rttvar; /* variance in round-trip time */
+
+ u_int64_t t_accsleep_ms; /* accumulated sleep time since last boot */
+ u_int16_t t_reassqlen; /* length of reassembly queue */
+ u_int16_t t_rxtshift; /* log(2) of rexmt exp. backoff */
+ u_int32_t t_rttmin; /* minimum rtt allowed */
+ u_int32_t t_rttbest; /* best rtt we've seen */
+ u_int32_t t_rttcur; /* most recent value of rtt */
+ u_int32_t t_rttupdated; /* number of times rtt sampled */
+ u_int32_t t_rxt_conndroptime; /* retxmt conn gets dropped after this time, when set */
+ u_int32_t t_rxtstart; /* time at which retransmission started */
+ u_int32_t max_sndwnd; /* largest window peer has offered */
+
+ int t_softerror; /* possible error not yet reported */