diff --git a/src/iperf.h b/src/iperf.h
index efa7da5..6b757eb 100755
--- a/src/iperf.h
+++ b/src/iperf.h
@@ -83,6 +83,7 @@
     int rtt;
     int rttvar;
     int pmtu;
+    int retrans;		/* tcpi_retrans */
 };
 
 struct iperf_stream_result
diff --git a/src/iperf_api.c b/src/iperf_api.c
index d52a38f..6e3b27b 100755
--- a/src/iperf_api.c
+++ b/src/iperf_api.c
@@ -2409,6 +2409,7 @@
 		    temp.rttvar = get_rttvar(&temp);
 		    temp.pmtu = get_pmtu(&temp);
 		    temp.rcv_space = get_rcv_space(&temp);
+		    temp.retrans = get_retrans(&temp);
 		}
 	    }
 	} else {
@@ -3034,7 +3035,7 @@
 	if (test->sender && test->sender_has_retransmits) {
 	    /* Interval, TCP with retransmits. */
 	    if (test->json_output)
-		cJSON_AddItemToArray(json_interval_streams, iperf_json_printf("socket: %d  start: %f  end: %f  seconds: %f  bytes: %d  bits_per_second: %f  retransmits: %d  snd_cwnd:  %d  rcv_space: %d  rtt:  %d  rttvar: %d  pmtu: %d  omitted: %b", (int64_t) sp->socket, (double) st, (double) et, (double) irp->interval_duration, (int64_t) irp->bytes_transferred, bandwidth * 8, (int64_t) irp->interval_retrans, (int64_t) irp->snd_cwnd, (int64_t) irp->rcv_space, (int64_t) irp->rtt, (int64_t) irp->rttvar, (int64_t) irp->pmtu, irp->omitted));
+		cJSON_AddItemToArray(json_interval_streams, iperf_json_printf("socket: %d  start: %f  end: %f  seconds: %f  bytes: %d  bits_per_second: %f  retransmits: %d  snd_cwnd:  %d  rcv_space: %d  rtt:  %d  rttvar: %d  pmtu: %d  tcpi_retrans: %d  omitted: %b", (int64_t) sp->socket, (double) st, (double) et, (double) irp->interval_duration, (int64_t) irp->bytes_transferred, bandwidth * 8, (int64_t) irp->interval_retrans, (int64_t) irp->snd_cwnd, (int64_t) irp->rcv_space, (int64_t) irp->rtt, (int64_t) irp->rttvar, (int64_t) irp->pmtu, (int64_t) irp->retrans, irp->omitted));
 	    else {
 		unit_snprintf(cbuf, UNIT_LEN, irp->snd_cwnd, 'A');
 		iperf_printf(test, report_bw_retrans_cwnd_format, sp->socket, st, et, ubuf, nbuf, irp->interval_retrans, cbuf, irp->omitted?report_omitted:"");
diff --git a/src/iperf_api.h b/src/iperf_api.h
index 8f26fbc..5575f76 100755
--- a/src/iperf_api.h
+++ b/src/iperf_api.h
@@ -216,6 +216,7 @@
 long get_rtt(struct iperf_interval_results *irp);
 long get_rttvar(struct iperf_interval_results *irp);
 long get_pmtu(struct iperf_interval_results *irp);
+long get_retrans(struct iperf_interval_results *irp);
 void print_tcpinfo(struct iperf_test *test);
 void build_tcpinfo_message(struct iperf_interval_results *r, char *message);
 
diff --git a/src/tcp_info.c b/src/tcp_info.c
index 8211301..1c4f696 100644
--- a/src/tcp_info.c
+++ b/src/tcp_info.c
@@ -199,6 +199,20 @@
 
 /*************************************************************/
 /*
+ * Return tcpi_retrans
+ */
+long
+get_retrans(struct iperf_interval_results *irp)
+{
+#if defined(linux) && defined(TCP_MD5SIG)
+    return irp->tcpInfo.tcpi_retrans;
+#else
+    return -1;
+#endif
+}
+
+/*************************************************************/
+/*
  * Return PMTU in bytes.
  */
 long
