]> sjero.net Git - iperf/blobdiff - src/main.cpp
DCCP support for iperf
[iperf] / src / main.cpp
index 167aed5b977a06b771d723660770cc2fcdb62d96..a69fd0ef91e1c3bdbffea4154f0f0940b687ddb0 100644 (file)
@@ -147,6 +147,20 @@ int main( int argc, char **argv ) {
     // read settings from command-line parameters
     Settings_ParseCommandLine( argc, argv, ext_gSettings );
 
+    if (isPacketOriented(ext_gSettings) &&
+        !(ext_gSettings->mProtocol == kProto_UDP ||
+          ext_gSettings->mProtocol == kProto_DCCP      ))
+            die("Can't use packet-oriented mode with these settings.");
+
+    if (isSingleUDP(ext_gSettings) && ext_gSettings->mProtocol != kProto_UDP) {
+        fprintf(stderr, "WARNING: option -U applies to UDP only, ignored!\n");
+        unsetSingleUDP(ext_gSettings);
+    }
+
+    if (!isModeTime(ext_gSettings) &&
+        (isConnectionLess(ext_gSettings) || isPacketOriented(ext_gSettings)))
+            die("Amount-oriented (-n) works only in non-packet-oriented mode.");
+
     // Check for either having specified client or server
     if ( ext_gSettings->mThreadMode == kMode_Client 
          || ext_gSettings->mThreadMode == kMode_Listener ) {