]> sjero.net Git - iperf/blobdiff - src/ReportDefault.c
TCP Congestion Control Module via options
[iperf] / src / ReportDefault.c
index dcb38527476d9ed3c71d14580409568ff39cf8eb..150df1069d333e5c12557cae9636edf870262580 100644 (file)
@@ -204,6 +204,24 @@ void reporter_reportsettings( ReporterData *data ) {
         printf( warn_window_requested, buffer );
     }
     printf( "\n" );
+
+    if (data->mProtocol == kProto_TCP) {
+        char *cong_requested = data->info.congAlgo,
+              cong[64];
+        Socklen_t len = sizeof(cong);
+
+        if (getsockopt(data->info.transferID, IPPROTO_TCP, TCP_CONGESTION, cong, &len) < 0) {
+            fprintf(stderr, "WARNING: cannot determine TCP congestion control algorithm  (err: %d %s)\n",
+                           errno, strerror(errno));
+        } else {
+            printf("TCP congestion control algorithm: %s", cong[0] == '\0' ? "default" : cong);
+
+          if (data->info.congAlgo && strcmp(cong, data->info.congAlgo))
+            printf(" (NOT \"%s\"!)", data->info.congAlgo);
+          printf("\n");
+        }
+    }
+
     printf( seperator_line );
 }