Print this page
11547 Want connstat(1M) command to display per-connection TCP statistics
Portions contributed by: Cody Peter Mello <cody.mello@joyent.com>
Portions contributed by: Ahmed G <ahmedg@delphix.com>
Reviewed by: Jason King <jason.king@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Dan McDonald <danmcd@joyent.com>

@@ -592,11 +592,11 @@
                 tcp->tcp_rack_cur_max = 2;
         }
         mp = tcp_ack_mp(tcp);
 
         if (mp != NULL) {
-                BUMP_LOCAL(tcp->tcp_obsegs);
+                TCPS_BUMP_MIB(tcps, tcpHCOutSegs);
                 TCPS_BUMP_MIB(tcps, tcpOutAck);
                 TCPS_BUMP_MIB(tcps, tcpOutAckDelayed);
                 tcp_send_data(tcp, mp);
         }
 }

@@ -851,10 +851,11 @@
                         if (tcp->tcp_swnd == 0) {
                                 /* Extend window for zero window probe */
                                 tcp->tcp_swnd++;
                                 tcp->tcp_zero_win_probe = B_TRUE;
                                 TCPS_BUMP_MIB(tcps, tcpOutWinProbe);
+                                tcp->tcp_cs.tcp_out_zwnd_probes++;
                         } else {
                                 /*
                                  * Handle timeout from sender SWS avoidance.
                                  * Reset our knowledge of the max send window
                                  * since the receiver might have reduced its

@@ -1079,10 +1080,12 @@
         }
 
         tcp->tcp_csuna = tcp->tcp_snxt;
         TCPS_BUMP_MIB(tcps, tcpRetransSegs);
         TCPS_UPDATE_MIB(tcps, tcpRetransBytes, mss);
+        tcp->tcp_cs.tcp_out_retrans_segs++;
+        tcp->tcp_cs.tcp_out_retrans_bytes += mss;
         tcp_send_data(tcp, mp);
 
 }
 
 /*