diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h --- a/sys/netinet/tcp.h +++ b/sys/netinet/tcp.h @@ -348,6 +348,8 @@ u_int8_t tcpi_options; /* Options enabled on conn. */ u_int8_t tcpi_snd_wscale:4, /* RFC1323 send shift value. */ tcpi_rcv_wscale:4; /* RFC1323 recv shift value. */ + u_int8_t __tcpi_delivery_rate_app_limited:1, + __tcpi_fastopen_client_fail:2; u_int32_t tcpi_rto; /* Retransmission timeout (usec). */ u_int32_t __tcpi_ato; @@ -379,8 +381,49 @@ u_int32_t __tcpi_rcv_rtt; u_int32_t tcpi_rcv_space; /* Advertised recv window. */ + u_int32_t __tcpi_total_retrans; + + u_int64_t __tcpi_pacing_rate; + u_int64_t __tcpi_max_pacing_rate; + u_int64_t __tcpi_bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAcked */ + u_int64_t __tcpi_bytes_received; /* RFC4898 tcpEStatsAppHCThruOctetsReceived */ + u_int32_t __tcpi_segs_out; /* RFC4898 tcpEStatsPerfSegsOut */ + u_int32_t __tcpi_segs_in; /* RFC4898 tcpEStatsPerfSegsIn */ + + u_int32_t __tcpi_notsent_bytes; + u_int32_t __tcpi_min_rtt; + u_int32_t __tcpi_data_segs_in; /* RFC4898 tcpEStatsDataSegsIn */ + u_int32_t __tcpi_data_segs_out; /* RFC4898 tcpEStatsDataSegsOut */ + + u_int64_t __tcpi_delivery_rate; + + u_int64_t __tcpi_busy_time; /* Time (usec) busy sending data */ + u_int64_t __tcpi_rwnd_limited; /* Time (usec) limited by receive window */ + u_int64_t __tcpi_sndbuf_limited; /* Time (usec) limited by send buffer */ + + u_int32_t __tcpi_delivered; + u_int32_t __tcpi_delivered_ce; + + u_int64_t __tcpi_bytes_sent; /* RFC4898 tcpEStatsPerfHCDataOctetsOut */ + u_int64_t __tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */ + u_int32_t __tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */ + u_int32_t __tcpi_reord_seen; /* reordering events seen */ + + u_int32_t __tcpi_rcv_ooopack; /* Out-of-order packets received */ + + u_int32_t tcpi_snd_wnd; /* peer's advertised receive window after + * scaling (bytes) + */ + u_int32_t __tcpi_received_ce; /* # of CE marks received */ + u_int32_t __tcpi_delivered_e1_bytes; /* Accurate ECN byte counters */ + u_int32_t __tcpi_delivered_e0_bytes; + u_int32_t __tcpi_delivered_ce_bytes; + u_int32_t __tcpi_received_e1_bytes; + u_int32_t __tcpi_received_e0_bytes; + u_int32_t __tcpi_received_ce_bytes; + + /* FreeBSD extensions to tcp_info. */ - u_int32_t tcpi_snd_wnd; /* Advertised send window. */ u_int32_t tcpi_snd_bwnd; /* No longer used. */ u_int32_t tcpi_snd_nxt; /* Next egress seqno */ u_int32_t tcpi_rcv_nxt; /* Next ingress seqno */ @@ -390,7 +433,7 @@ u_int32_t tcpi_snd_zerowin; /* Zero-sized windows sent */ /* Padding to grow without breaking ABI. */ - u_int32_t __tcpi_pad[26]; /* Padding. */ + u_int32_t __tcpi_pad[8]; /* Padding. */ }; /*