]> sjero.net Git - iperf/blobdiff - include/Settings.hpp
Support for UDP-Lite in iperf
[iperf] / include / Settings.hpp
index 0fe99212ca23eed93d34de405d9b2d3ed5802f00..d4c4244be91a669b9ceb6a5352d25e490481372e 100644 (file)
@@ -74,6 +74,7 @@ typedef enum Protocol {
         kProto_TCP     = IPPROTO_TCP,
         kProto_DCCP    = IPPROTO_DCCP,
         kProto_UDP     = IPPROTO_UDP,
+        kProto_UDPLITE = IPPROTO_UDPLITE,
 } Protocol;
 
 static inline const char *protoName(const unsigned proto)
@@ -82,6 +83,7 @@ static inline const char *protoName(const unsigned proto)
        case kProto_TCP:     return "TCP";
        case kProto_DCCP:    return "DCCP";
        case kProto_UDP:     return "UDP";
+       case kProto_UDPLITE: return "UDP-Lite";
        default:             return "(unknown)";
        }
 }
@@ -90,6 +92,7 @@ static inline unsigned sockType(const Protocol p)
 {
        switch (p) {
        case kProto_TCP:        return SOCK_STREAM;
+       case kProto_UDPLITE:    /* fall through */
        case kProto_UDP:        return SOCK_DGRAM;
        case kProto_DCCP:       return SOCK_DCCP;
        }
@@ -97,7 +100,7 @@ static inline unsigned sockType(const Protocol p)
 
 static inline bool is_connectionless(const Protocol p)
 {
-       return p == kProto_UDP;
+       return p == kProto_UDP || p == kProto_UDPLITE;
 }
 
 // server/client mode
@@ -198,6 +201,7 @@ typedef struct thread_Settings {
     // chars
     char   mFormat;                 // -f
     int    mTTL;                    // -T
+    int    cscov;                   // -u (partial csums)
     char  *congAlgo;                // -A
     char pad1[2];
     // structs or miscellaneous