X-Git-Url: http://sjero.net/git/?p=iperf;a=blobdiff_plain;f=src%2FPerfSocket.cpp;h=1c3a779731f692aad66f50072cdf991579557939;hp=63e97ff9480b4405fe98f770498a3a2c0e67dcce;hb=HEAD;hpb=4a61594d8e95e2d9662816ae595f8257b69012eb diff --git a/src/PerfSocket.cpp b/src/PerfSocket.cpp index 63e97ff..1c3a779 100644 --- a/src/PerfSocket.cpp +++ b/src/PerfSocket.cpp @@ -157,6 +157,18 @@ void SetSocketOptions( thread_Settings *inSettings ) &val, len ); WARN_errno( rc == SOCKET_ERROR, "setsockopt DCCP_SOCKOPT_SERVICE" ); } + // UDP-Lite specific options + if ( inSettings->mProtocol == kProto_UDPLITE ) { + /* we set the checksum coverage for both directions */ + rc = setsockopt(inSettings->mSock, IPPROTO_UDPLITE, UDPLITE_SEND_CSCOV, + &inSettings->cscov, len); + WARN_errno(rc == SOCKET_ERROR, "setsockopt UDPLITE_SEND_CSCOV"); + + rc = setsockopt(inSettings->mSock, IPPROTO_UDPLITE, UDPLITE_RECV_CSCOV, + &inSettings->cscov, len); + + WARN_errno(rc == SOCKET_ERROR, "setsockopt UDPLITE_RECV_CSCOV"); + } // reuse the address, so we can run if a former server was killed off if (inSettings->mThreadMode == kMode_Listener) {