]> sjero.net Git - iperf/blobdiff - src/PerfSocket.cpp
TCP Congestion Control Module via options
[iperf] / src / PerfSocket.cpp
index 2c169014b080d8bff8fb0bf9416427a6d2d646c1..04a68b9583ced9bb44de5a7f070fdebbcd76c660 100644 (file)
@@ -126,6 +126,13 @@ void SetSocketOptions( thread_Settings *inSettings )
             WARN_errno( rc == SOCKET_ERROR, "setsockopt TCP_NODELAY" );
         }
 #endif
+        if ( inSettings->congAlgo ) {
+            len = strlen( inSettings->congAlgo );
+            rc = setsockopt( inSettings->mSock, IPPROTO_TCP, TCP_CONGESTION,
+                             inSettings->congAlgo , len );
+            WARN_errno( rc == SOCKET_ERROR, "setsockopt TCP_CONGESTION" );
+        }
+
     } else {
         rc = set_buffer_sock_size(inSettings->mSock, inSettings->mWinSize,
                                   inSettings->mThreadMode == kMode_Client);