[netperf-dev] netperf2 commit notice r309 - in trunk: . src

raj at netperf.org raj at netperf.org
Thu Sep 3 13:20:29 PDT 2009


Author: raj
Date: 2009-09-03 13:20:18 -0700 (Thu, 03 Sep 2009)
New Revision: 309

Modified:
   trunk/AUTHORS
   trunk/src/netsh.h
   trunk/src/nettest_bsd.c
   trunk/src/nettest_bsd.h
   trunk/src/nettest_omni.c
Log:
SCTP and DCCP fixes from Jose

Modified: trunk/AUTHORS
===================================================================
--- trunk/AUTHORS	2009-07-23 17:43:11 UTC (rev 308)
+++ trunk/AUTHORS	2009-09-03 20:20:18 UTC (rev 309)
@@ -235,3 +235,6 @@
 
 Bruno Cornec
 Fixes to supply some missing fprintf format statements.
+
+Jose  Pedro Oliveira
+Linux compilation fixes when SCTP and DCCP are enabled.
\ No newline at end of file

Modified: trunk/src/netsh.h
===================================================================
--- trunk/src/netsh.h	2009-07-23 17:43:11 UTC (rev 308)
+++ trunk/src/netsh.h	2009-09-03 20:20:18 UTC (rev 309)
@@ -35,6 +35,9 @@
 
 #ifdef WANT_DCCP
 
+/* include netinet/in.h to see if SOCK_DCCP and IPPROTO_DCCP are there */
+#include <netinet/in.h>
+
 #ifndef SOCK_DCCP
 #define DCCP_WARNING
 #define SOCK_DCCP 6

Modified: trunk/src/nettest_bsd.c
===================================================================
--- trunk/src/nettest_bsd.c	2009-07-23 17:43:11 UTC (rev 308)
+++ trunk/src/nettest_bsd.c	2009-09-03 20:20:18 UTC (rev 309)
@@ -96,9 +96,6 @@
 #include <malloc.h>
 #endif /* NOSTDLIBH */
 
-#ifdef WANT_SCTP
-#include <netinet/sctp.h>
-#endif
 
 #ifndef WIN32
 #if !defined(__VMS) && !defined(MSDOS)
@@ -107,6 +104,11 @@
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <netinet/tcp.h>
+
+#ifdef WANT_SCTP
+#include <netinet/sctp.h>
+#endif
+
 #include <arpa/inet.h>
 #include <netdb.h>
 #else /* WIN32 */

Modified: trunk/src/nettest_bsd.h
===================================================================
--- trunk/src/nettest_bsd.h	2009-07-23 17:43:11 UTC (rev 308)
+++ trunk/src/nettest_bsd.h	2009-09-03 20:20:18 UTC (rev 309)
@@ -26,6 +26,12 @@
 
 
 #ifdef WANT_OMNI
+#define OMNI_NO_DELAY 0x1
+#define OMNI_USE_SENDFILE 0x2
+#define OMNI_CONNECT_TEST 0x4
+#define OMNI_MEASURE_CPU 0x8
+#define OMNI_CHECKSUM_OFF 0x10
+
 struct  omni_request_struct {
   int32_t    send_buf_size;         /* SO_SNDBUF */
   uint32_t   send_size;             /* bytes per send() call */
@@ -41,11 +47,10 @@
   uint32_t   recv_width;            /* number of recv buffers to use */
   int32_t    response_size;         /* size of a response */
 
-  uint32_t   no_delay;              /* do we set mumble_NODELAY? */
-  uint32_t   use_sendfile;          /* use sendfile rather than send? */
-  uint32_t   connect_test;          /* does the test include connect? */
+  uint32_t   flags;                 /* to convey things that didn't
+				       really need to burn an entire
+				       int */
 
-  uint32_t   measure_cpu;    /* do we measure CPU? */
   float      cpu_rate;       /* do we know how fast the cpu is already? */
 
   int32_t    test_length;    /* how long is the test? */
@@ -56,7 +61,6 @@
   uint32_t   recv_dirty_count; /* bytes to dirty before calling recv */
   uint32_t   recv_clean_count; /* bytes to access before calling recv */
 
-  uint32_t   checksum_off;  /* should checksums be disabled? */
   uint32_t   data_port;     /* what port number should netserver use? */
   uint32_t   ipfamily;      /* address family of the data connection */
   uint32_t   socket_type;   /* dgram? stream? other? */
@@ -65,7 +69,8 @@
   uint32_t   netperf_port;  /* when netserver needs netperf's data port */
   uint32_t   interval_burst;/* how many things to do each interval */
   uint32_t   interval_usecs;/* how long each interval should be */
-  uint32_t   ipaddr[4];     /* when netserver needs netperf's data IP */
+  uint32_t   netperf_ip[4]; /* when netserver needs netperf's data IP */
+  uint32_t   netserver_ip[4]; /* when netperf tells netserver his IP */
 };
 
 struct  omni_response_struct {
@@ -77,10 +82,8 @@
   uint32_t   send_size;
   int32_t    send_width;
 
-  uint32_t   no_delay;
-  uint32_t   use_sendfile;
+  uint32_t   flags;
 
-  uint32_t   measure_cpu;
   float      cpu_rate;
 
   uint32_t   test_length;
@@ -92,14 +95,14 @@
 
   uint32_t   interval_burst;/* how many things to do each interval */
   uint32_t   interval_usecs;/* how long each interval should be */
-  /* there are 16 ints above here, and we have 248 - (16*4) or 184 bytes
-     remaining */
   /* these are here because they can be checked before actual data
      connections are made, and the omni_results_struct is already
      full */
   uint32_t   cpu_frequency;  /* this should be megahertz */
   uint32_t   security_info;
-#define OMNI_RESPONSE_CONV_CUTOFF 18
+  /* there are 16 ints above here, and we have 248 - (16*4) or 184 bytes
+     remaining */
+#define OMNI_RESPONSE_CONV_CUTOFF 16
   char       system_model[33];
   char       cpu_model[80];  /* seems like an awful lot doesn't
 				it. some clever person at Intel

Modified: trunk/src/nettest_omni.c
===================================================================
--- trunk/src/nettest_omni.c	2009-07-23 17:43:11 UTC (rev 308)
+++ trunk/src/nettest_omni.c	2009-09-03 20:20:18 UTC (rev 309)
@@ -686,6 +686,34 @@
   }
 }
 
+/* does this need to become conditional on the presence of the macros
+   or might we ass-u-me that we will not be compiled on something so
+   old as to not have what we use? raj 20090803 */
+static int
+is_multicast_addr(struct addrinfo *res) {
+  switch(res->ai_family) {
+  case AF_INET: {
+    /* IPv4 multicast runs from 224.0.0.0 to 239.255.255.255 or
+       0xE0000000 to 0xEFFFFFFF. Thankfully though there are macros
+       available to make the checks for one */
+    struct in_addr bar = ((struct sockaddr_in *)res->ai_addr)->sin_addr;
+    return IN_MULTICAST(bar.s_addr);
+  }
+#if defined(AF_INET6)
+  case AF_INET6: {
+    struct in6_addr *bar = &(((struct sockaddr_in6 *)res->ai_addr)->sin6_addr);
+    return IN6_IS_ADDR_MULTICAST(bar);
+  }
+#endif
+  default:
+    fprintf(where,
+	    "Unexpected Address Family for Multicast Check %u\n",
+	    res->ai_family);
+    fflush(where);
+    return 0;  /* or should we exit? */
+  }
+}
+
 static void
 extract_inet_address_and_port(struct addrinfo *res, void *addr, int len, int *port)
 {
@@ -762,6 +790,7 @@
   set_port_number(local_res, (unsigned short)myport);
 }
 
+/* at some point this should become a table lookup... raj 20090813 */
 char *
 netperf_output_enum_to_str(enum netperf_output_name output_name)
 {
@@ -1548,45 +1577,53 @@
   netperf_output_source[THROUGHPUT].tot_line_len = 
     NETPERF_LINE_TOT(THROUGHPUT);
 
-  netperf_output_source[LOCAL_SEND_THROUGHPUT].output_name = LOCAL_SEND_THROUGHPUT;
+  netperf_output_source[LOCAL_SEND_THROUGHPUT].output_name =
+    LOCAL_SEND_THROUGHPUT;
   netperf_output_source[LOCAL_SEND_THROUGHPUT].line[0] = "Local";
   netperf_output_source[LOCAL_SEND_THROUGHPUT].line[1] = "Send";
   netperf_output_source[LOCAL_SEND_THROUGHPUT].line[2] = "Throughput";
   netperf_output_source[LOCAL_SEND_THROUGHPUT].format = "%.2f";
-  netperf_output_source[LOCAL_SEND_THROUGHPUT].display_value = &local_send_thruput;
+  netperf_output_source[LOCAL_SEND_THROUGHPUT].display_value = 
+    &local_send_thruput;
   netperf_output_source[LOCAL_SEND_THROUGHPUT].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_SEND_THROUGHPUT);
   netperf_output_source[LOCAL_SEND_THROUGHPUT].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_SEND_THROUGHPUT);
 
-  netperf_output_source[LOCAL_RECV_THROUGHPUT].output_name = LOCAL_RECV_THROUGHPUT;
+  netperf_output_source[LOCAL_RECV_THROUGHPUT].output_name =
+    LOCAL_RECV_THROUGHPUT;
   netperf_output_source[LOCAL_RECV_THROUGHPUT].line[0] = "Local";
   netperf_output_source[LOCAL_RECV_THROUGHPUT].line[1] = "Recv";
   netperf_output_source[LOCAL_RECV_THROUGHPUT].line[2] = "Throughput";
   netperf_output_source[LOCAL_RECV_THROUGHPUT].format = "%.2f";
-  netperf_output_source[LOCAL_RECV_THROUGHPUT].display_value = &local_recv_thruput;
+  netperf_output_source[LOCAL_RECV_THROUGHPUT].display_value = 
+    &local_recv_thruput;
   netperf_output_source[LOCAL_RECV_THROUGHPUT].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_RECV_THROUGHPUT);
   netperf_output_source[LOCAL_RECV_THROUGHPUT].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_RECV_THROUGHPUT);
 
-  netperf_output_source[REMOTE_SEND_THROUGHPUT].output_name = REMOTE_SEND_THROUGHPUT;
+  netperf_output_source[REMOTE_SEND_THROUGHPUT].output_name = 
+    REMOTE_SEND_THROUGHPUT;
   netperf_output_source[REMOTE_SEND_THROUGHPUT].line[0] = "Remote";
   netperf_output_source[REMOTE_SEND_THROUGHPUT].line[1] = "Send";
   netperf_output_source[REMOTE_SEND_THROUGHPUT].line[2] = "Throughput";
   netperf_output_source[REMOTE_SEND_THROUGHPUT].format = "%.2f";
-  netperf_output_source[REMOTE_SEND_THROUGHPUT].display_value = &remote_send_thruput;
+  netperf_output_source[REMOTE_SEND_THROUGHPUT].display_value = 
+    &remote_send_thruput;
   netperf_output_source[REMOTE_SEND_THROUGHPUT].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_SEND_THROUGHPUT);
   netperf_output_source[REMOTE_SEND_THROUGHPUT].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_SEND_THROUGHPUT);
 
-  netperf_output_source[REMOTE_RECV_THROUGHPUT].output_name = REMOTE_RECV_THROUGHPUT;
+  netperf_output_source[REMOTE_RECV_THROUGHPUT].output_name = 
+    REMOTE_RECV_THROUGHPUT;
   netperf_output_source[REMOTE_RECV_THROUGHPUT].line[0] = "Remote";
   netperf_output_source[REMOTE_RECV_THROUGHPUT].line[1] = "Recv";
   netperf_output_source[REMOTE_RECV_THROUGHPUT].line[2] = "Throughput";
   netperf_output_source[REMOTE_RECV_THROUGHPUT].format = "%.2f";
-  netperf_output_source[REMOTE_RECV_THROUGHPUT].display_value = &remote_recv_thruput;
+  netperf_output_source[REMOTE_RECV_THROUGHPUT].display_value = 
+    &remote_recv_thruput;
   netperf_output_source[REMOTE_RECV_THROUGHPUT].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_RECV_THROUGHPUT);
   netperf_output_source[REMOTE_RECV_THROUGHPUT].tot_line_len = 
@@ -1624,12 +1661,14 @@
   netperf_output_source[CONFIDENCE_INTERVAL].tot_line_len = 
     NETPERF_LINE_TOT(CONFIDENCE_INTERVAL);
 
-  netperf_output_source[CONFIDENCE_ITERATION].output_name = CONFIDENCE_ITERATION;
+  netperf_output_source[CONFIDENCE_ITERATION].output_name =
+    CONFIDENCE_ITERATION;
   netperf_output_source[CONFIDENCE_ITERATION].line[0] = "Confidence";
   netperf_output_source[CONFIDENCE_ITERATION].line[1] = "Iterations";
   netperf_output_source[CONFIDENCE_ITERATION].line[2] = "Run";
   netperf_output_source[CONFIDENCE_ITERATION].format = "%d";
-  netperf_output_source[CONFIDENCE_ITERATION].display_value = &confidence_iteration;
+  netperf_output_source[CONFIDENCE_ITERATION].display_value =
+    &confidence_iteration;
   netperf_output_source[CONFIDENCE_ITERATION].max_line_len = 
     NETPERF_LINE_MAX(CONFIDENCE_ITERATION);
   netperf_output_source[CONFIDENCE_ITERATION].tot_line_len = 
@@ -1857,7 +1896,8 @@
   netperf_output_source[LOCAL_RECV_CALLS].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_RECV_CALLS);
 
-  netperf_output_source[LOCAL_BYTES_PER_RECV].output_name = LOCAL_BYTES_PER_RECV;
+  netperf_output_source[LOCAL_BYTES_PER_RECV].output_name =
+    LOCAL_BYTES_PER_RECV;
   netperf_output_source[LOCAL_BYTES_PER_RECV].line[0] = "Local";
   netperf_output_source[LOCAL_BYTES_PER_RECV].line[1] = "Bytes";
   netperf_output_source[LOCAL_BYTES_PER_RECV].line[2] = "Per";
@@ -1869,7 +1909,8 @@
   netperf_output_source[LOCAL_BYTES_PER_RECV].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_BYTES_PER_RECV);
 
-  netperf_output_source[LOCAL_BYTES_PER_SEND].output_name = LOCAL_BYTES_PER_SEND;
+  netperf_output_source[LOCAL_BYTES_PER_SEND].output_name =
+    LOCAL_BYTES_PER_SEND;
   netperf_output_source[LOCAL_BYTES_PER_SEND].line[0] = "Local";
   netperf_output_source[LOCAL_BYTES_PER_SEND].line[1] = "Bytes";
   netperf_output_source[LOCAL_BYTES_PER_SEND].line[2] = "Per";
@@ -1983,37 +2024,43 @@
   netperf_output_source[LOCAL_SEND_ALIGN].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_SEND_ALIGN);
 
-  netperf_output_source[LOCAL_SEND_DIRTY_COUNT].output_name = LOCAL_SEND_DIRTY_COUNT;
+  netperf_output_source[LOCAL_SEND_DIRTY_COUNT].output_name = 
+    LOCAL_SEND_DIRTY_COUNT;
   netperf_output_source[LOCAL_SEND_DIRTY_COUNT].line[0] = "Local";
   netperf_output_source[LOCAL_SEND_DIRTY_COUNT].line[1] = "Send";
   netperf_output_source[LOCAL_SEND_DIRTY_COUNT].line[2] = "Dirty";
   netperf_output_source[LOCAL_SEND_DIRTY_COUNT].line[3] = "Count";
   netperf_output_source[LOCAL_SEND_DIRTY_COUNT].format = "%d";
-  netperf_output_source[LOCAL_SEND_DIRTY_COUNT].display_value = &loc_dirty_count;
+  netperf_output_source[LOCAL_SEND_DIRTY_COUNT].display_value =
+    &loc_dirty_count;
   netperf_output_source[LOCAL_SEND_DIRTY_COUNT].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_SEND_DIRTY_COUNT);
   netperf_output_source[LOCAL_SEND_DIRTY_COUNT].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_SEND_DIRTY_COUNT);
 
-  netperf_output_source[LOCAL_RECV_DIRTY_COUNT].output_name = LOCAL_RECV_DIRTY_COUNT;
+  netperf_output_source[LOCAL_RECV_DIRTY_COUNT].output_name =
+    LOCAL_RECV_DIRTY_COUNT;
   netperf_output_source[LOCAL_RECV_DIRTY_COUNT].line[0] = "Local";
   netperf_output_source[LOCAL_RECV_DIRTY_COUNT].line[1] = "Recv";
   netperf_output_source[LOCAL_RECV_DIRTY_COUNT].line[2] = "Dirty";
   netperf_output_source[LOCAL_RECV_DIRTY_COUNT].line[3] = "Count";
   netperf_output_source[LOCAL_RECV_DIRTY_COUNT].format = "%d";
-  netperf_output_source[LOCAL_RECV_DIRTY_COUNT].display_value = &loc_dirty_count;
+  netperf_output_source[LOCAL_RECV_DIRTY_COUNT].display_value =
+    &loc_dirty_count;
   netperf_output_source[LOCAL_RECV_DIRTY_COUNT].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_RECV_DIRTY_COUNT);
   netperf_output_source[LOCAL_RECV_DIRTY_COUNT].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_RECV_DIRTY_COUNT);
 
-  netperf_output_source[LOCAL_RECV_CLEAN_COUNT].output_name = LOCAL_RECV_CLEAN_COUNT;
+  netperf_output_source[LOCAL_RECV_CLEAN_COUNT].output_name =
+    LOCAL_RECV_CLEAN_COUNT;
   netperf_output_source[LOCAL_RECV_CLEAN_COUNT].line[0] = "Local";
   netperf_output_source[LOCAL_RECV_CLEAN_COUNT].line[1] = "Recv";
   netperf_output_source[LOCAL_RECV_CLEAN_COUNT].line[2] = "Clean";
   netperf_output_source[LOCAL_RECV_CLEAN_COUNT].line[3] = "Count";
   netperf_output_source[LOCAL_RECV_CLEAN_COUNT].format = "%d";
-  netperf_output_source[LOCAL_RECV_CLEAN_COUNT].display_value = &loc_clean_count;
+  netperf_output_source[LOCAL_RECV_CLEAN_COUNT].display_value =
+    &loc_clean_count;
   netperf_output_source[LOCAL_RECV_CLEAN_COUNT].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_RECV_CLEAN_COUNT);
   netperf_output_source[LOCAL_RECV_CLEAN_COUNT].tot_line_len = 
@@ -2025,7 +2072,8 @@
   netperf_output_source[LOCAL_CPU_UTIL].line[2] = "Util";
   netperf_output_source[LOCAL_CPU_UTIL].line[3] = "%";
   netperf_output_source[LOCAL_CPU_UTIL].format = "%.2f";
-  netperf_output_source[LOCAL_CPU_UTIL].display_value = &local_cpu_utilization_double;
+  netperf_output_source[LOCAL_CPU_UTIL].display_value =
+    &local_cpu_utilization_double;
   netperf_output_source[LOCAL_CPU_UTIL].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_CPU_UTIL);
   netperf_output_source[LOCAL_CPU_UTIL].tot_line_len = 
@@ -2037,7 +2085,8 @@
   netperf_output_source[LOCAL_CPU_PEAK_UTIL].line[2] = "Per CPU";
   netperf_output_source[LOCAL_CPU_PEAK_UTIL].line[3] = "Util %";
   netperf_output_source[LOCAL_CPU_PEAK_UTIL].format = "%.2f";
-  netperf_output_source[LOCAL_CPU_PEAK_UTIL].display_value = &lib_local_peak_cpu_util;
+  netperf_output_source[LOCAL_CPU_PEAK_UTIL].display_value =
+    &lib_local_peak_cpu_util;
   netperf_output_source[LOCAL_CPU_PEAK_UTIL].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_CPU_PEAK_UTIL);
   netperf_output_source[LOCAL_CPU_PEAK_UTIL].tot_line_len = 
@@ -2049,7 +2098,8 @@
   netperf_output_source[LOCAL_CPU_PEAK_ID].line[2] = "Per CPU";
   netperf_output_source[LOCAL_CPU_PEAK_ID].line[3] = "ID";
   netperf_output_source[LOCAL_CPU_PEAK_ID].format = "%d";
-  netperf_output_source[LOCAL_CPU_PEAK_ID].display_value = &lib_local_peak_cpu_id;
+  netperf_output_source[LOCAL_CPU_PEAK_ID].display_value =
+    &lib_local_peak_cpu_id;
   netperf_output_source[LOCAL_CPU_PEAK_ID].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_CPU_PEAK_ID);
   netperf_output_source[LOCAL_CPU_PEAK_ID].tot_line_len = 
@@ -2251,31 +2301,36 @@
   netperf_output_source[REMOTE_RECV_CALLS].line[2] = "Calls";
   netperf_output_source[REMOTE_RECV_CALLS].line[3] = "";
   netperf_output_source[REMOTE_RECV_CALLS].format = "%lld";
-  netperf_output_source[REMOTE_RECV_CALLS].display_value = &remote_receive_calls;
+  netperf_output_source[REMOTE_RECV_CALLS].display_value =
+    &remote_receive_calls;
   netperf_output_source[REMOTE_RECV_CALLS].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_RECV_CALLS);
   netperf_output_source[REMOTE_RECV_CALLS].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_RECV_CALLS);
 
-  netperf_output_source[REMOTE_BYTES_PER_RECV].output_name = REMOTE_BYTES_PER_RECV;
+  netperf_output_source[REMOTE_BYTES_PER_RECV].output_name =
+    REMOTE_BYTES_PER_RECV;
   netperf_output_source[REMOTE_BYTES_PER_RECV].line[0] = "Remote";
   netperf_output_source[REMOTE_BYTES_PER_RECV].line[1] = "Bytes";
   netperf_output_source[REMOTE_BYTES_PER_RECV].line[2] = "Per";
   netperf_output_source[REMOTE_BYTES_PER_RECV].line[3] = "Recv";
   netperf_output_source[REMOTE_BYTES_PER_RECV].format = "%.2f";
-  netperf_output_source[REMOTE_BYTES_PER_RECV].display_value = &remote_bytes_per_recv;
+  netperf_output_source[REMOTE_BYTES_PER_RECV].display_value =
+    &remote_bytes_per_recv;
   netperf_output_source[REMOTE_BYTES_PER_RECV].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_BYTES_PER_RECV);
   netperf_output_source[REMOTE_BYTES_PER_RECV].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_BYTES_PER_RECV);
 
-  netperf_output_source[REMOTE_BYTES_PER_SEND].output_name = REMOTE_BYTES_PER_SEND;
+  netperf_output_source[REMOTE_BYTES_PER_SEND].output_name =
+    REMOTE_BYTES_PER_SEND;
   netperf_output_source[REMOTE_BYTES_PER_SEND].line[0] = "Remote";
   netperf_output_source[REMOTE_BYTES_PER_SEND].line[1] = "Bytes";
   netperf_output_source[REMOTE_BYTES_PER_SEND].line[2] = "Per";
   netperf_output_source[REMOTE_BYTES_PER_SEND].line[3] = "Send";
   netperf_output_source[REMOTE_BYTES_PER_SEND].format = "%.2f";
-  netperf_output_source[REMOTE_BYTES_PER_SEND].display_value = &remote_bytes_per_send;
+  netperf_output_source[REMOTE_BYTES_PER_SEND].display_value =
+    &remote_bytes_per_send;
   netperf_output_source[REMOTE_BYTES_PER_SEND].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_BYTES_PER_SEND);
   netperf_output_source[REMOTE_BYTES_PER_SEND].tot_line_len = 
@@ -2287,7 +2342,8 @@
   netperf_output_source[REMOTE_BYTES_RECVD].line[2] = "Received";
   netperf_output_source[REMOTE_BYTES_RECVD].line[3] = "";
   netperf_output_source[REMOTE_BYTES_RECVD].format = "%lld";
-  netperf_output_source[REMOTE_BYTES_RECVD].display_value = &remote_bytes_received;
+  netperf_output_source[REMOTE_BYTES_RECVD].display_value =
+    &remote_bytes_received;
   netperf_output_source[REMOTE_BYTES_RECVD].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_BYTES_RECVD);
   netperf_output_source[REMOTE_BYTES_RECVD].tot_line_len = 
@@ -2383,37 +2439,43 @@
   netperf_output_source[REMOTE_SEND_ALIGN].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_SEND_ALIGN);
 
-  netperf_output_source[REMOTE_SEND_DIRTY_COUNT].output_name = REMOTE_SEND_DIRTY_COUNT;
+  netperf_output_source[REMOTE_SEND_DIRTY_COUNT].output_name =
+    REMOTE_SEND_DIRTY_COUNT;
   netperf_output_source[REMOTE_SEND_DIRTY_COUNT].line[0] = "Remote";
   netperf_output_source[REMOTE_SEND_DIRTY_COUNT].line[1] = "Send";
   netperf_output_source[REMOTE_SEND_DIRTY_COUNT].line[2] = "Dirty";
   netperf_output_source[REMOTE_SEND_DIRTY_COUNT].line[3] = "Count";
   netperf_output_source[REMOTE_SEND_DIRTY_COUNT].format = "%d";
-  netperf_output_source[REMOTE_SEND_DIRTY_COUNT].display_value = &rem_dirty_count;
+  netperf_output_source[REMOTE_SEND_DIRTY_COUNT].display_value =
+    &rem_dirty_count;
   netperf_output_source[REMOTE_SEND_DIRTY_COUNT].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_SEND_DIRTY_COUNT);
   netperf_output_source[REMOTE_SEND_DIRTY_COUNT].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_SEND_DIRTY_COUNT);
 
-  netperf_output_source[REMOTE_RECV_DIRTY_COUNT].output_name = REMOTE_RECV_DIRTY_COUNT;
+  netperf_output_source[REMOTE_RECV_DIRTY_COUNT].output_name =
+    REMOTE_RECV_DIRTY_COUNT;
   netperf_output_source[REMOTE_RECV_DIRTY_COUNT].line[0] = "Remote";
   netperf_output_source[REMOTE_RECV_DIRTY_COUNT].line[1] = "Recv";
   netperf_output_source[REMOTE_RECV_DIRTY_COUNT].line[2] = "Dirty";
   netperf_output_source[REMOTE_RECV_DIRTY_COUNT].line[3] = "Count";
   netperf_output_source[REMOTE_RECV_DIRTY_COUNT].format = "%d";
-  netperf_output_source[REMOTE_RECV_DIRTY_COUNT].display_value = &rem_dirty_count;
+  netperf_output_source[REMOTE_RECV_DIRTY_COUNT].display_value =
+    &rem_dirty_count;
   netperf_output_source[REMOTE_RECV_DIRTY_COUNT].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_RECV_DIRTY_COUNT);
   netperf_output_source[REMOTE_RECV_DIRTY_COUNT].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_RECV_DIRTY_COUNT);
 
-  netperf_output_source[REMOTE_RECV_CLEAN_COUNT].output_name = REMOTE_RECV_CLEAN_COUNT;
+  netperf_output_source[REMOTE_RECV_CLEAN_COUNT].output_name =
+    REMOTE_RECV_CLEAN_COUNT;
   netperf_output_source[REMOTE_RECV_CLEAN_COUNT].line[0] = "Remote";
   netperf_output_source[REMOTE_RECV_CLEAN_COUNT].line[1] = "Recv";
   netperf_output_source[REMOTE_RECV_CLEAN_COUNT].line[2] = "Clean";
   netperf_output_source[REMOTE_RECV_CLEAN_COUNT].line[3] = "Count";
   netperf_output_source[REMOTE_RECV_CLEAN_COUNT].format = "%d";
-  netperf_output_source[REMOTE_RECV_CLEAN_COUNT].display_value = &rem_clean_count;
+  netperf_output_source[REMOTE_RECV_CLEAN_COUNT].display_value =
+    &rem_clean_count;
   netperf_output_source[REMOTE_RECV_CLEAN_COUNT].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_RECV_CLEAN_COUNT);
   netperf_output_source[REMOTE_RECV_CLEAN_COUNT].tot_line_len = 
@@ -2425,19 +2487,22 @@
   netperf_output_source[REMOTE_CPU_UTIL].line[2] = "Util";
   netperf_output_source[REMOTE_CPU_UTIL].line[3] = "%";
   netperf_output_source[REMOTE_CPU_UTIL].format = "%.2f";
-  netperf_output_source[REMOTE_CPU_UTIL].display_value = &remote_cpu_utilization_double;
+  netperf_output_source[REMOTE_CPU_UTIL].display_value =
+    &remote_cpu_utilization_double;
   netperf_output_source[REMOTE_CPU_UTIL].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_CPU_UTIL);
   netperf_output_source[REMOTE_CPU_UTIL].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_CPU_UTIL);
 
-  netperf_output_source[REMOTE_CPU_PEAK_UTIL].output_name = REMOTE_CPU_PEAK_UTIL;
+  netperf_output_source[REMOTE_CPU_PEAK_UTIL].output_name =
+    REMOTE_CPU_PEAK_UTIL;
   netperf_output_source[REMOTE_CPU_PEAK_UTIL].line[0] = "Remote";
   netperf_output_source[REMOTE_CPU_PEAK_UTIL].line[1] = "Peak";
   netperf_output_source[REMOTE_CPU_PEAK_UTIL].line[2] = "Per CPU";
   netperf_output_source[REMOTE_CPU_PEAK_UTIL].line[3] = "Util %";
   netperf_output_source[REMOTE_CPU_PEAK_UTIL].format = "%.2f";
-  netperf_output_source[REMOTE_CPU_PEAK_UTIL].display_value = &lib_remote_peak_cpu_util;
+  netperf_output_source[REMOTE_CPU_PEAK_UTIL].display_value =
+    &lib_remote_peak_cpu_util;
   netperf_output_source[REMOTE_CPU_PEAK_UTIL].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_CPU_PEAK_UTIL);
   netperf_output_source[REMOTE_CPU_PEAK_UTIL].tot_line_len = 
@@ -2449,7 +2514,8 @@
   netperf_output_source[REMOTE_CPU_PEAK_ID].line[2] = "Per CPU";
   netperf_output_source[REMOTE_CPU_PEAK_ID].line[3] = "ID";
   netperf_output_source[REMOTE_CPU_PEAK_ID].format = "%d";
-  netperf_output_source[REMOTE_CPU_PEAK_ID].display_value = &lib_remote_peak_cpu_id;
+  netperf_output_source[REMOTE_CPU_PEAK_ID].display_value =
+    &lib_remote_peak_cpu_id;
   netperf_output_source[REMOTE_CPU_PEAK_ID].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_CPU_PEAK_ID);
   netperf_output_source[REMOTE_CPU_PEAK_ID].tot_line_len = 
@@ -2473,7 +2539,8 @@
   netperf_output_source[REMOTE_SD].line[2] = "Demand";
   netperf_output_source[REMOTE_SD].line[3] = "";
   netperf_output_source[REMOTE_SD].format = "%.3f";
-  netperf_output_source[REMOTE_SD].display_value = &remote_service_demand_double;
+  netperf_output_source[REMOTE_SD].display_value =
+    &remote_service_demand_double;
   netperf_output_source[REMOTE_SD].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_SD);
   netperf_output_source[REMOTE_SD].tot_line_len = 
@@ -2538,25 +2605,29 @@
   netperf_output_source[LOCAL_DRIVER_NAME].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_DRIVER_NAME);
 
-  netperf_output_source[LOCAL_DRIVER_VERSION].output_name = LOCAL_DRIVER_VERSION;
+  netperf_output_source[LOCAL_DRIVER_VERSION].output_name =
+    LOCAL_DRIVER_VERSION;
   netperf_output_source[LOCAL_DRIVER_VERSION].line[0] = "Local";
   netperf_output_source[LOCAL_DRIVER_VERSION].line[1] = "Driver";
   netperf_output_source[LOCAL_DRIVER_VERSION].line[2] = "Version";
   netperf_output_source[LOCAL_DRIVER_VERSION].line[3] = "";
   netperf_output_source[LOCAL_DRIVER_VERSION].format = "%s";
-  netperf_output_source[LOCAL_DRIVER_VERSION].display_value = local_driver_version;
+  netperf_output_source[LOCAL_DRIVER_VERSION].display_value =
+    local_driver_version;
   netperf_output_source[LOCAL_DRIVER_VERSION].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_DRIVER_VERSION);
   netperf_output_source[LOCAL_DRIVER_VERSION].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_DRIVER_VERSION);
 
-  netperf_output_source[LOCAL_DRIVER_FIRMWARE].output_name = LOCAL_DRIVER_FIRMWARE;
+  netperf_output_source[LOCAL_DRIVER_FIRMWARE].output_name =
+    LOCAL_DRIVER_FIRMWARE;
   netperf_output_source[LOCAL_DRIVER_FIRMWARE].line[0] = "Local";
   netperf_output_source[LOCAL_DRIVER_FIRMWARE].line[1] = "Driver";
   netperf_output_source[LOCAL_DRIVER_FIRMWARE].line[2] = "Firmware";
   netperf_output_source[LOCAL_DRIVER_FIRMWARE].line[3] = "";
   netperf_output_source[LOCAL_DRIVER_FIRMWARE].format = "%s";
-  netperf_output_source[LOCAL_DRIVER_FIRMWARE].display_value = local_driver_firmware;
+  netperf_output_source[LOCAL_DRIVER_FIRMWARE].display_value =
+    local_driver_firmware;
   netperf_output_source[LOCAL_DRIVER_FIRMWARE].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_DRIVER_FIRMWARE);
   netperf_output_source[LOCAL_DRIVER_FIRMWARE].tot_line_len = 
@@ -2586,25 +2657,29 @@
   netperf_output_source[REMOTE_DRIVER_NAME].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_DRIVER_NAME);
 
-  netperf_output_source[REMOTE_DRIVER_VERSION].output_name = REMOTE_DRIVER_VERSION;
+  netperf_output_source[REMOTE_DRIVER_VERSION].output_name =
+    REMOTE_DRIVER_VERSION;
   netperf_output_source[REMOTE_DRIVER_VERSION].line[0] = "Remote";
   netperf_output_source[REMOTE_DRIVER_VERSION].line[1] = "Driver";
   netperf_output_source[REMOTE_DRIVER_VERSION].line[2] = "Version";
   netperf_output_source[REMOTE_DRIVER_VERSION].line[3] = "";
   netperf_output_source[REMOTE_DRIVER_VERSION].format = "%s";
-  netperf_output_source[REMOTE_DRIVER_VERSION].display_value = remote_driver_version;
+  netperf_output_source[REMOTE_DRIVER_VERSION].display_value =
+    remote_driver_version;
   netperf_output_source[REMOTE_DRIVER_VERSION].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_DRIVER_VERSION);
   netperf_output_source[REMOTE_DRIVER_VERSION].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_DRIVER_VERSION);
 
-  netperf_output_source[REMOTE_DRIVER_FIRMWARE].output_name = REMOTE_DRIVER_FIRMWARE;
+  netperf_output_source[REMOTE_DRIVER_FIRMWARE].output_name =
+    REMOTE_DRIVER_FIRMWARE;
   netperf_output_source[REMOTE_DRIVER_FIRMWARE].line[0] = "Remote";
   netperf_output_source[REMOTE_DRIVER_FIRMWARE].line[1] = "Driver";
   netperf_output_source[REMOTE_DRIVER_FIRMWARE].line[2] = "Firmware";
   netperf_output_source[REMOTE_DRIVER_FIRMWARE].line[3] = "";
   netperf_output_source[REMOTE_DRIVER_FIRMWARE].format = "%s";
-  netperf_output_source[REMOTE_DRIVER_FIRMWARE].display_value = remote_driver_firmware;
+  netperf_output_source[REMOTE_DRIVER_FIRMWARE].display_value =
+    remote_driver_firmware;
   netperf_output_source[REMOTE_DRIVER_FIRMWARE].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_DRIVER_FIRMWARE);
   netperf_output_source[REMOTE_DRIVER_FIRMWARE].tot_line_len = 
@@ -2622,145 +2697,169 @@
   netperf_output_source[REMOTE_DRIVER_BUS].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_DRIVER_BUS);
 
-  netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].output_name = LOCAL_INTERFACE_SUBDEVICE;
+  netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].output_name =
+    LOCAL_INTERFACE_SUBDEVICE;
   netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].line[0] = "Local";
   netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].line[1] = "Interface";
   netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].line[2] = "Subdevice";
   netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].line[3] = "";
   netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].format = "0x%.4x";
-  netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].display_value = &local_interface_subdevice;
+  netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].display_value =
+    &local_interface_subdevice;
   netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_INTERFACE_SUBDEVICE);
   netperf_output_source[LOCAL_INTERFACE_SUBDEVICE].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_INTERFACE_SUBDEVICE);
 
-  netperf_output_source[LOCAL_INTERFACE_DEVICE].output_name = LOCAL_INTERFACE_DEVICE;
+  netperf_output_source[LOCAL_INTERFACE_DEVICE].output_name =
+    LOCAL_INTERFACE_DEVICE;
   netperf_output_source[LOCAL_INTERFACE_DEVICE].line[0] = "Local";
   netperf_output_source[LOCAL_INTERFACE_DEVICE].line[1] = "Interface";
   netperf_output_source[LOCAL_INTERFACE_DEVICE].line[2] = "Device";
   netperf_output_source[LOCAL_INTERFACE_DEVICE].line[3] = "";
   netperf_output_source[LOCAL_INTERFACE_DEVICE].format = "0x%.4x";
-  netperf_output_source[LOCAL_INTERFACE_DEVICE].display_value = &local_interface_device;
+  netperf_output_source[LOCAL_INTERFACE_DEVICE].display_value =
+    &local_interface_device;
   netperf_output_source[LOCAL_INTERFACE_DEVICE].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_INTERFACE_DEVICE);
   netperf_output_source[LOCAL_INTERFACE_DEVICE].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_INTERFACE_DEVICE);
 
-  netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].output_name = LOCAL_INTERFACE_SUBVENDOR;
+  netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].output_name =
+    LOCAL_INTERFACE_SUBVENDOR;
   netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].line[0] = "Local";
   netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].line[1] = "Interface";
   netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].line[2] = "Subvendor";
   netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].line[3] = "";
   netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].format = "0x%.4x";
-  netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].display_value = &local_interface_subvendor;
+  netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].display_value =
+    &local_interface_subvendor;
   netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_INTERFACE_SUBVENDOR);
   netperf_output_source[LOCAL_INTERFACE_SUBVENDOR].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_INTERFACE_SUBVENDOR);
 
-  netperf_output_source[LOCAL_INTERFACE_VENDOR].output_name = LOCAL_INTERFACE_VENDOR;
+  netperf_output_source[LOCAL_INTERFACE_VENDOR].output_name =
+    LOCAL_INTERFACE_VENDOR;
   netperf_output_source[LOCAL_INTERFACE_VENDOR].line[0] = "Local";
   netperf_output_source[LOCAL_INTERFACE_VENDOR].line[1] = "Interface";
   netperf_output_source[LOCAL_INTERFACE_VENDOR].line[2] = "Vendor";
   netperf_output_source[LOCAL_INTERFACE_VENDOR].line[3] = "";
   netperf_output_source[LOCAL_INTERFACE_VENDOR].format = "0x%.4x";
-  netperf_output_source[LOCAL_INTERFACE_VENDOR].display_value = &local_interface_vendor;
+  netperf_output_source[LOCAL_INTERFACE_VENDOR].display_value =
+    &local_interface_vendor;
   netperf_output_source[LOCAL_INTERFACE_VENDOR].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_INTERFACE_VENDOR);
   netperf_output_source[LOCAL_INTERFACE_VENDOR].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_INTERFACE_VENDOR);
 
-  netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].output_name = REMOTE_INTERFACE_SUBDEVICE;
+  netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].output_name =
+    REMOTE_INTERFACE_SUBDEVICE;
   netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].line[0] = "Remote";
   netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].line[1] = "Interface";
   netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].line[2] = "Subdevice";
   netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].line[3] = "";
   netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].format = "0x%.4x";
-  netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].display_value = &remote_interface_subdevice;
+  netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].display_value =
+    &remote_interface_subdevice;
   netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_INTERFACE_SUBDEVICE);
   netperf_output_source[REMOTE_INTERFACE_SUBDEVICE].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_INTERFACE_SUBDEVICE);
 
-  netperf_output_source[REMOTE_INTERFACE_DEVICE].output_name = REMOTE_INTERFACE_DEVICE;
+  netperf_output_source[REMOTE_INTERFACE_DEVICE].output_name =
+    REMOTE_INTERFACE_DEVICE;
   netperf_output_source[REMOTE_INTERFACE_DEVICE].line[0] = "Remote";
   netperf_output_source[REMOTE_INTERFACE_DEVICE].line[1] = "Interface";
   netperf_output_source[REMOTE_INTERFACE_DEVICE].line[2] = "Device";
   netperf_output_source[REMOTE_INTERFACE_DEVICE].line[3] = "";
   netperf_output_source[REMOTE_INTERFACE_DEVICE].format = "0x%.4x";
-  netperf_output_source[REMOTE_INTERFACE_DEVICE].display_value = &remote_interface_device;
+  netperf_output_source[REMOTE_INTERFACE_DEVICE].display_value =
+    &remote_interface_device;
   netperf_output_source[REMOTE_INTERFACE_DEVICE].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_INTERFACE_DEVICE);
   netperf_output_source[REMOTE_INTERFACE_DEVICE].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_INTERFACE_DEVICE);
 
-  netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].output_name = REMOTE_INTERFACE_SUBVENDOR;
+  netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].output_name =
+    REMOTE_INTERFACE_SUBVENDOR;
   netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].line[0] = "Remote";
   netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].line[1] = "Interface";
   netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].line[2] = "Subvendor";
   netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].line[3] = "";
   netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].format = "0x%.4x";
-  netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].display_value = &remote_interface_subvendor;
+  netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].display_value =
+    &remote_interface_subvendor;
   netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_INTERFACE_SUBVENDOR);
   netperf_output_source[REMOTE_INTERFACE_SUBVENDOR].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_INTERFACE_SUBVENDOR);
 
-  netperf_output_source[REMOTE_INTERFACE_VENDOR].output_name = REMOTE_INTERFACE_VENDOR;
+  netperf_output_source[REMOTE_INTERFACE_VENDOR].output_name =
+    REMOTE_INTERFACE_VENDOR;
   netperf_output_source[REMOTE_INTERFACE_VENDOR].line[0] = "Remote";
   netperf_output_source[REMOTE_INTERFACE_VENDOR].line[1] = "Interface";
   netperf_output_source[REMOTE_INTERFACE_VENDOR].line[2] = "Vendor";
   netperf_output_source[REMOTE_INTERFACE_VENDOR].line[3] = "";
   netperf_output_source[REMOTE_INTERFACE_VENDOR].format = "0x%.4x";
-  netperf_output_source[REMOTE_INTERFACE_VENDOR].display_value = &remote_interface_vendor;
+  netperf_output_source[REMOTE_INTERFACE_VENDOR].display_value =
+    &remote_interface_vendor;
   netperf_output_source[REMOTE_INTERFACE_VENDOR].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_INTERFACE_VENDOR);
   netperf_output_source[REMOTE_INTERFACE_VENDOR].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_INTERFACE_VENDOR);
 
-  netperf_output_source[LOCAL_INTERFACE_NAME].output_name = LOCAL_INTERFACE_NAME;
+  netperf_output_source[LOCAL_INTERFACE_NAME].output_name =
+    LOCAL_INTERFACE_NAME;
   netperf_output_source[LOCAL_INTERFACE_NAME].line[0] = "Local";
   netperf_output_source[LOCAL_INTERFACE_NAME].line[1] = "Interface";
   netperf_output_source[LOCAL_INTERFACE_NAME].line[2] = "Name";
   netperf_output_source[LOCAL_INTERFACE_NAME].line[3] = "";
   netperf_output_source[LOCAL_INTERFACE_NAME].format = "%s";
-  netperf_output_source[LOCAL_INTERFACE_NAME].display_value = local_interface_name;
+  netperf_output_source[LOCAL_INTERFACE_NAME].display_value =
+    local_interface_name;
   netperf_output_source[LOCAL_INTERFACE_NAME].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_INTERFACE_NAME);
   netperf_output_source[LOCAL_INTERFACE_NAME].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_INTERFACE_NAME);
 
-  netperf_output_source[REMOTE_INTERFACE_NAME].output_name = REMOTE_INTERFACE_NAME;
+  netperf_output_source[REMOTE_INTERFACE_NAME].output_name =
+    REMOTE_INTERFACE_NAME;
   netperf_output_source[REMOTE_INTERFACE_NAME].line[0] = "Remote";
   netperf_output_source[REMOTE_INTERFACE_NAME].line[1] = "Interface";
   netperf_output_source[REMOTE_INTERFACE_NAME].line[2] = "Name";
   netperf_output_source[REMOTE_INTERFACE_NAME].line[3] = "";
   netperf_output_source[REMOTE_INTERFACE_NAME].format = "%s";
-  netperf_output_source[REMOTE_INTERFACE_NAME].display_value = remote_interface_name;
+  netperf_output_source[REMOTE_INTERFACE_NAME].display_value =
+    remote_interface_name;
   netperf_output_source[REMOTE_INTERFACE_NAME].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_INTERFACE_NAME);
   netperf_output_source[REMOTE_INTERFACE_NAME].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_INTERFACE_NAME);
 
-  netperf_output_source[LOCAL_INTERFACE_SLOT].output_name = LOCAL_INTERFACE_SLOT;
+  netperf_output_source[LOCAL_INTERFACE_SLOT].output_name =
+    LOCAL_INTERFACE_SLOT;
   netperf_output_source[LOCAL_INTERFACE_SLOT].line[0] = "Local";
   netperf_output_source[LOCAL_INTERFACE_SLOT].line[1] = "Interface";
   netperf_output_source[LOCAL_INTERFACE_SLOT].line[2] = "Slot";
   netperf_output_source[LOCAL_INTERFACE_SLOT].line[3] = "";
   netperf_output_source[LOCAL_INTERFACE_SLOT].format = "%s";
-  netperf_output_source[LOCAL_INTERFACE_SLOT].display_value = local_interface_slot;
+  netperf_output_source[LOCAL_INTERFACE_SLOT].display_value =
+    local_interface_slot;
   netperf_output_source[LOCAL_INTERFACE_SLOT].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_INTERFACE_SLOT);
   netperf_output_source[LOCAL_INTERFACE_SLOT].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_INTERFACE_SLOT);
 
-  netperf_output_source[REMOTE_INTERFACE_SLOT].output_name = REMOTE_INTERFACE_SLOT;
+  netperf_output_source[REMOTE_INTERFACE_SLOT].output_name =
+    REMOTE_INTERFACE_SLOT;
   netperf_output_source[REMOTE_INTERFACE_SLOT].line[0] = "Remote";
   netperf_output_source[REMOTE_INTERFACE_SLOT].line[1] = "Interface";
   netperf_output_source[REMOTE_INTERFACE_SLOT].line[2] = "Slot";
   netperf_output_source[REMOTE_INTERFACE_SLOT].line[3] = "";
   netperf_output_source[REMOTE_INTERFACE_SLOT].format = "%s";
-  netperf_output_source[REMOTE_INTERFACE_SLOT].display_value = remote_interface_slot;
+  netperf_output_source[REMOTE_INTERFACE_SLOT].display_value =
+    remote_interface_slot;
   netperf_output_source[REMOTE_INTERFACE_SLOT].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_INTERFACE_SLOT);
   netperf_output_source[REMOTE_INTERFACE_SLOT].tot_line_len = 
@@ -2862,37 +2961,43 @@
   netperf_output_source[LOCAL_SYSNAME].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_SYSNAME);
 
-  netperf_output_source[REMOTE_INTERVAL_USECS].output_name = REMOTE_INTERVAL_USECS;
+  netperf_output_source[REMOTE_INTERVAL_USECS].output_name =
+    REMOTE_INTERVAL_USECS;
   netperf_output_source[REMOTE_INTERVAL_USECS].line[0] = "Remote";
   netperf_output_source[REMOTE_INTERVAL_USECS].line[1] = "Interval";
   netperf_output_source[REMOTE_INTERVAL_USECS].line[2] = "Usecs";
   netperf_output_source[REMOTE_INTERVAL_USECS].line[3] = "";
   netperf_output_source[REMOTE_INTERVAL_USECS].format = "%d";
-  netperf_output_source[REMOTE_INTERVAL_USECS].display_value = &remote_interval_usecs;
+  netperf_output_source[REMOTE_INTERVAL_USECS].display_value =
+    &remote_interval_usecs;
   netperf_output_source[REMOTE_INTERVAL_USECS].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_INTERVAL_USECS);
   netperf_output_source[REMOTE_INTERVAL_USECS].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_INTERVAL_USECS);
 
-  netperf_output_source[REMOTE_INTERVAL_BURST].output_name = REMOTE_INTERVAL_BURST;
+  netperf_output_source[REMOTE_INTERVAL_BURST].output_name =
+    REMOTE_INTERVAL_BURST;
   netperf_output_source[REMOTE_INTERVAL_BURST].line[0] = "Remote";
   netperf_output_source[REMOTE_INTERVAL_BURST].line[1] = "Interval";
   netperf_output_source[REMOTE_INTERVAL_BURST].line[2] = "Burst";
   netperf_output_source[REMOTE_INTERVAL_BURST].line[3] = "";
   netperf_output_source[REMOTE_INTERVAL_BURST].format = "%d";
-  netperf_output_source[REMOTE_INTERVAL_BURST].display_value = &remote_interval_burst;
+  netperf_output_source[REMOTE_INTERVAL_BURST].display_value =
+    &remote_interval_burst;
   netperf_output_source[REMOTE_INTERVAL_BURST].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_INTERVAL_BURST);
   netperf_output_source[REMOTE_INTERVAL_BURST].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_INTERVAL_BURST);
 
-  netperf_output_source[LOCAL_SECURITY_ENABLED].output_name = LOCAL_SECURITY_ENABLED;
+  netperf_output_source[LOCAL_SECURITY_ENABLED].output_name =
+    LOCAL_SECURITY_ENABLED;
   netperf_output_source[LOCAL_SECURITY_ENABLED].line[0] = "Local";
   netperf_output_source[LOCAL_SECURITY_ENABLED].line[1] = "OS";
   netperf_output_source[LOCAL_SECURITY_ENABLED].line[2] = "Security";
   netperf_output_source[LOCAL_SECURITY_ENABLED].line[3] = "Enabled";
   netperf_output_source[LOCAL_SECURITY_ENABLED].format = "%s";
-  netperf_output_source[LOCAL_SECURITY_ENABLED].display_value = local_security_enabled;
+  netperf_output_source[LOCAL_SECURITY_ENABLED].display_value =
+    local_security_enabled;
   netperf_output_source[LOCAL_SECURITY_ENABLED].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_SECURITY_ENABLED);
   netperf_output_source[LOCAL_SECURITY_ENABLED].tot_line_len = 
@@ -2904,109 +3009,127 @@
   netperf_output_source[LOCAL_SECURITY_TYPE].line[2] = "Security";
   netperf_output_source[LOCAL_SECURITY_TYPE].line[3] = "Type";
   netperf_output_source[LOCAL_SECURITY_TYPE].format = "%s";
-  netperf_output_source[LOCAL_SECURITY_TYPE].display_value = local_security_type;
+  netperf_output_source[LOCAL_SECURITY_TYPE].display_value =
+    local_security_type;
   netperf_output_source[LOCAL_SECURITY_TYPE].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_SECURITY_TYPE);
   netperf_output_source[LOCAL_SECURITY_TYPE].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_SECURITY_TYPE);
 
-  netperf_output_source[LOCAL_SECURITY_SPECIFIC].output_name = LOCAL_SECURITY_SPECIFIC;
+  netperf_output_source[LOCAL_SECURITY_SPECIFIC].output_name =
+    LOCAL_SECURITY_SPECIFIC;
   netperf_output_source[LOCAL_SECURITY_SPECIFIC].line[0] = "Local";
   netperf_output_source[LOCAL_SECURITY_SPECIFIC].line[1] = "OS";
   netperf_output_source[LOCAL_SECURITY_SPECIFIC].line[2] = "Security";
   netperf_output_source[LOCAL_SECURITY_SPECIFIC].line[3] = "Specific";
   netperf_output_source[LOCAL_SECURITY_SPECIFIC].format = "%s";
-  netperf_output_source[LOCAL_SECURITY_SPECIFIC].display_value = local_security_specific;
+  netperf_output_source[LOCAL_SECURITY_SPECIFIC].display_value =
+    local_security_specific;
   netperf_output_source[LOCAL_SECURITY_SPECIFIC].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_SECURITY_SPECIFIC);
   netperf_output_source[LOCAL_SECURITY_SPECIFIC].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_SECURITY_SPECIFIC);
 
-  netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].output_name = LOCAL_SECURITY_ENABLED_NUM;
+  netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].output_name =
+    LOCAL_SECURITY_ENABLED_NUM;
   netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].line[0] = "Local";
   netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].line[1] = "OS";
   netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].line[2] = "Security";
   netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].line[3] = "Enabled Num";
   netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].format = "%d";
-  netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].display_value = &local_security_enabled_num;
+  netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].display_value =
+    &local_security_enabled_num;
   netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_SECURITY_ENABLED_NUM);
   netperf_output_source[LOCAL_SECURITY_ENABLED_NUM].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_SECURITY_ENABLED_NUM);
 
-  netperf_output_source[LOCAL_SECURITY_TYPE_ID].output_name = LOCAL_SECURITY_TYPE_ID;
+  netperf_output_source[LOCAL_SECURITY_TYPE_ID].output_name =
+    LOCAL_SECURITY_TYPE_ID;
   netperf_output_source[LOCAL_SECURITY_TYPE_ID].line[0] = "Local";
   netperf_output_source[LOCAL_SECURITY_TYPE_ID].line[1] = "OS";
   netperf_output_source[LOCAL_SECURITY_TYPE_ID].line[2] = "Security";
   netperf_output_source[LOCAL_SECURITY_TYPE_ID].line[3] = "Type ID";
   netperf_output_source[LOCAL_SECURITY_TYPE_ID].format = "%d";
-  netperf_output_source[LOCAL_SECURITY_TYPE_ID].display_value = &local_security_type_id;
+  netperf_output_source[LOCAL_SECURITY_TYPE_ID].display_value =
+    &local_security_type_id;
   netperf_output_source[LOCAL_SECURITY_TYPE_ID].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_SECURITY_TYPE_ID);
   netperf_output_source[LOCAL_SECURITY_TYPE_ID].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_SECURITY_TYPE_ID);
 
-  netperf_output_source[REMOTE_SECURITY_ENABLED].output_name = REMOTE_SECURITY_ENABLED;
+  netperf_output_source[REMOTE_SECURITY_ENABLED].output_name =
+    REMOTE_SECURITY_ENABLED;
   netperf_output_source[REMOTE_SECURITY_ENABLED].line[0] = "Remote";
   netperf_output_source[REMOTE_SECURITY_ENABLED].line[1] = "OS";
   netperf_output_source[REMOTE_SECURITY_ENABLED].line[2] = "Security";
   netperf_output_source[REMOTE_SECURITY_ENABLED].line[3] = "Enabled";
   netperf_output_source[REMOTE_SECURITY_ENABLED].format = "%s";
-  netperf_output_source[REMOTE_SECURITY_ENABLED].display_value = remote_security_enabled;
+  netperf_output_source[REMOTE_SECURITY_ENABLED].display_value =
+    remote_security_enabled;
   netperf_output_source[REMOTE_SECURITY_ENABLED].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_SECURITY_ENABLED);
   netperf_output_source[REMOTE_SECURITY_ENABLED].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_SECURITY_ENABLED);
 
-  netperf_output_source[REMOTE_SECURITY_TYPE].output_name = REMOTE_SECURITY_TYPE;
+  netperf_output_source[REMOTE_SECURITY_TYPE].output_name =
+    REMOTE_SECURITY_TYPE;
   netperf_output_source[REMOTE_SECURITY_TYPE].line[0] = "Remote";
   netperf_output_source[REMOTE_SECURITY_TYPE].line[1] = "OS";
   netperf_output_source[REMOTE_SECURITY_TYPE].line[2] = "Security";
   netperf_output_source[REMOTE_SECURITY_TYPE].line[3] = "Type";
   netperf_output_source[REMOTE_SECURITY_TYPE].format = "%s";
-  netperf_output_source[REMOTE_SECURITY_TYPE].display_value = remote_security_type;
+  netperf_output_source[REMOTE_SECURITY_TYPE].display_value =
+    remote_security_type;
   netperf_output_source[REMOTE_SECURITY_TYPE].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_SECURITY_TYPE);
   netperf_output_source[REMOTE_SECURITY_TYPE].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_SECURITY_TYPE);
 
-  netperf_output_source[REMOTE_SECURITY_SPECIFIC].output_name = REMOTE_SECURITY_SPECIFIC;
+  netperf_output_source[REMOTE_SECURITY_SPECIFIC].output_name =
+    REMOTE_SECURITY_SPECIFIC;
   netperf_output_source[REMOTE_SECURITY_SPECIFIC].line[0] = "Remote";
   netperf_output_source[REMOTE_SECURITY_SPECIFIC].line[1] = "OS";
   netperf_output_source[REMOTE_SECURITY_SPECIFIC].line[2] = "Security";
   netperf_output_source[REMOTE_SECURITY_SPECIFIC].line[3] = "Specific";
   netperf_output_source[REMOTE_SECURITY_SPECIFIC].format = "%s";
-  netperf_output_source[REMOTE_SECURITY_SPECIFIC].display_value = remote_security_specific;
+  netperf_output_source[REMOTE_SECURITY_SPECIFIC].display_value =
+    remote_security_specific;
   netperf_output_source[REMOTE_SECURITY_SPECIFIC].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_SECURITY_SPECIFIC);
   netperf_output_source[REMOTE_SECURITY_SPECIFIC].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_SECURITY_SPECIFIC);
 
-  netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].output_name = REMOTE_SECURITY_ENABLED_NUM;
+  netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].output_name =
+    REMOTE_SECURITY_ENABLED_NUM;
   netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].line[0] = "Remote";
   netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].line[1] = "OS";
   netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].line[2] = "Security";
   netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].line[3] = "Enabled";
   netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].format = "%d";
-  netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].display_value = &remote_security_enabled_num;
+  netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].display_value =
+    &remote_security_enabled_num;
   netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_SECURITY_ENABLED_NUM);
   netperf_output_source[REMOTE_SECURITY_ENABLED_NUM].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_SECURITY_ENABLED_NUM);
 
-  netperf_output_source[REMOTE_SECURITY_TYPE_ID].output_name = REMOTE_SECURITY_TYPE_ID;
+  netperf_output_source[REMOTE_SECURITY_TYPE_ID].output_name =
+    REMOTE_SECURITY_TYPE_ID;
   netperf_output_source[REMOTE_SECURITY_TYPE_ID].line[0] = "Remote";
   netperf_output_source[REMOTE_SECURITY_TYPE_ID].line[1] = "OS";
   netperf_output_source[REMOTE_SECURITY_TYPE_ID].line[2] = "Security";
   netperf_output_source[REMOTE_SECURITY_TYPE_ID].line[3] = "Type";
   netperf_output_source[REMOTE_SECURITY_TYPE_ID].format = "%d";
-  netperf_output_source[REMOTE_SECURITY_TYPE_ID].display_value = &remote_security_type_id;
+  netperf_output_source[REMOTE_SECURITY_TYPE_ID].display_value =
+    &remote_security_type_id;
   netperf_output_source[REMOTE_SECURITY_TYPE_ID].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_SECURITY_TYPE_ID);
   netperf_output_source[REMOTE_SECURITY_TYPE_ID].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_SECURITY_TYPE_ID);
 
-  netperf_output_source[LOCAL_INTERVAL_USECS].output_name = LOCAL_INTERVAL_USECS;
+  netperf_output_source[LOCAL_INTERVAL_USECS].output_name =
+    LOCAL_INTERVAL_USECS;
   netperf_output_source[LOCAL_INTERVAL_USECS].line[0] = "Local";
   netperf_output_source[LOCAL_INTERVAL_USECS].line[1] = "Interval";
   netperf_output_source[LOCAL_INTERVAL_USECS].line[2] = "Usecs";
@@ -3018,13 +3141,15 @@
   netperf_output_source[LOCAL_INTERVAL_USECS].tot_line_len = 
     NETPERF_LINE_TOT(LOCAL_INTERVAL_USECS);
 
-  netperf_output_source[LOCAL_INTERVAL_BURST].output_name = LOCAL_INTERVAL_BURST;
+  netperf_output_source[LOCAL_INTERVAL_BURST].output_name =
+    LOCAL_INTERVAL_BURST;
   netperf_output_source[LOCAL_INTERVAL_BURST].line[0] = "Local";
   netperf_output_source[LOCAL_INTERVAL_BURST].line[1] = "Interval";
   netperf_output_source[LOCAL_INTERVAL_BURST].line[2] = "Burst";
   netperf_output_source[LOCAL_INTERVAL_BURST].line[3] = "";
   netperf_output_source[LOCAL_INTERVAL_BURST].format = "%d";
-  netperf_output_source[LOCAL_INTERVAL_BURST].display_value = &interval_burst;
+  netperf_output_source[LOCAL_INTERVAL_BURST].display_value =
+    &interval_burst;
   netperf_output_source[LOCAL_INTERVAL_BURST].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_INTERVAL_BURST);
   netperf_output_source[LOCAL_INTERVAL_BURST].tot_line_len = 
@@ -3036,7 +3161,8 @@
   netperf_output_source[REMOTE_SYSTEM_MODEL].line[2] = "Model";
   netperf_output_source[REMOTE_SYSTEM_MODEL].line[3] = "";
   netperf_output_source[REMOTE_SYSTEM_MODEL].format = "%s";
-  netperf_output_source[REMOTE_SYSTEM_MODEL].display_value = remote_system_model;
+  netperf_output_source[REMOTE_SYSTEM_MODEL].display_value =
+    remote_system_model;
   netperf_output_source[REMOTE_SYSTEM_MODEL].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_SYSTEM_MODEL);
   netperf_output_source[REMOTE_SYSTEM_MODEL].tot_line_len = 
@@ -3054,13 +3180,15 @@
   netperf_output_source[REMOTE_CPU_MODEL].tot_line_len = 
     NETPERF_LINE_TOT(REMOTE_CPU_MODEL);
 
-  netperf_output_source[REMOTE_CPU_FREQUENCY].output_name = REMOTE_CPU_FREQUENCY;
+  netperf_output_source[REMOTE_CPU_FREQUENCY].output_name =
+    REMOTE_CPU_FREQUENCY;
   netperf_output_source[REMOTE_CPU_FREQUENCY].line[0] = "Remote";
   netperf_output_source[REMOTE_CPU_FREQUENCY].line[1] = "CPU";
   netperf_output_source[REMOTE_CPU_FREQUENCY].line[2] = "Frequency";
   netperf_output_source[REMOTE_CPU_FREQUENCY].line[3] = "MHz";
   netperf_output_source[REMOTE_CPU_FREQUENCY].format = "%d";
-  netperf_output_source[REMOTE_CPU_FREQUENCY].display_value = &remote_cpu_frequency;
+  netperf_output_source[REMOTE_CPU_FREQUENCY].display_value =
+    &remote_cpu_frequency;
   netperf_output_source[REMOTE_CPU_FREQUENCY].max_line_len = 
     NETPERF_LINE_MAX(REMOTE_CPU_FREQUENCY);
   netperf_output_source[REMOTE_CPU_FREQUENCY].tot_line_len = 
@@ -3096,7 +3224,8 @@
   netperf_output_source[LOCAL_CPU_FREQUENCY].line[2] = "Frequency";
   netperf_output_source[LOCAL_CPU_FREQUENCY].line[3] = "MHz";
   netperf_output_source[LOCAL_CPU_FREQUENCY].format = "%d";
-  netperf_output_source[LOCAL_CPU_FREQUENCY].display_value = &local_cpu_frequency;
+  netperf_output_source[LOCAL_CPU_FREQUENCY].display_value =
+    &local_cpu_frequency;
   netperf_output_source[LOCAL_CPU_FREQUENCY].max_line_len = 
     NETPERF_LINE_MAX(LOCAL_CPU_FREQUENCY);
   netperf_output_source[LOCAL_CPU_FREQUENCY].tot_line_len = 
@@ -3407,10 +3536,12 @@
 	  (output_human_list[i][j] != OUTPUT_END));
 	 j++) {
       if ((netperf_output_source[output_human_list[i][j]].format != NULL) &&
-	  (netperf_output_source[output_human_list[i][j]].display_value != NULL))
+	  (netperf_output_source[output_human_list[i][j]].display_value !=
+	   NULL))
 	vallen = my_snprintf(tmpval,
 			     1024,
-			     netperf_output_source[output_human_list[i][j]].format,
+			     netperf_output_source[output_human_list[i][j]].
+format,
 			     (netperf_output_source[output_human_list[i][j]].display_value)) + 1; /* need to count the \n */
       else
 	vallen = 0;
@@ -3723,6 +3854,9 @@
   char buffer[4];
 
   if (protocol == IPPROTO_UDP) {
+    /* try to give the remote a signal. what this means if we ever
+       wanted to actually send zero-length messages remains to be seen
+       :)  */
     int i;
     for (i = 0; i < 3; i++) {
       if (peer) 
@@ -3786,7 +3920,10 @@
       shutdown(data_socket, SHUT_WR);
     
     /* we are expecting to get either a return of zero indicating
-       connection close, or an error.  */
+       connection close, or an error. of course, we *may* never
+       receive anything from the remote which means we probably really
+       aught to have a select here but until we are once bitten we
+       will remain twice bold */
     bytes_recvd = recv(data_socket,
 		       buffer,
 		       1,
@@ -3820,7 +3957,8 @@
 			   0);
       /* we only really care if the timer expired on us */
       if (SOCKET_EINTR(bytes_recvd)) {
-	if (do_close) close(data_socket);
+	if (do_close) 
+	  close(data_socket);
 	return -1;
       }
     }
@@ -3989,12 +4127,12 @@
     pick_next_port_number(local_res,remote_res);
 
   
-  /* If the user has requested cpu utilization measurements, we must */
-  /* calibrate the cpu(s). We will perform this task within the tests */
-  /* themselves. If the user has specified the cpu rate, then */
-  /* calibrate_local_cpu will return rather quickly as it will have */
-  /* nothing to do. If local_cpu_rate is zero, then we will go through */
-  /* all the "normal" calibration stuff and return the rate back.*/
+  /* If the user has requested cpu utilization measurements, we must
+     calibrate the cpu(s). We will perform this task within the tests
+     themselves. If the user has specified the cpu rate, then
+     calibrate_local_cpu will return rather quickly as it will have
+     nothing to do. If local_cpu_rate is zero, then we will go through
+     all the "normal" calibration stuff and return the rate back.*/
   
   if (local_cpu_usage) {
     local_cpu_rate = calibrate_local_cpu(local_cpu_rate);
@@ -4120,6 +4258,7 @@
 	 alterations. */
       
       netperf_request.content.request_type = DO_OMNI;
+      omni_request->flags                  = 0;
       omni_request->send_buf_size	   = rss_size_req;
       omni_request->send_size              = remote_send_size_req;
       omni_request->send_alignment	   = remote_send_align;
@@ -4134,11 +4273,23 @@
       omni_request->recv_width             = 1; /* FIX THIS */
       omni_request->response_size	   = rsp_size;
       
-      omni_request->no_delay	           = rem_nodelay;
-      omni_request->use_sendfile           = remote_use_sendfile;
-      omni_request->connect_test           = connection_test;
+      /* we have no else clauses here because we previously set flags
+	 to zero above raj 20090803 */
+      if (rem_nodelay)
+	omni_request->flags |= OMNI_NO_DELAY;
+
+      if (remote_use_sendfile)
+	omni_request->flags |= OMNI_USE_SENDFILE;
+
+      if (connection_test) 
+	omni_request->flags |= OMNI_CONNECT_TEST;
       
-      omni_request->measure_cpu	           = remote_cpu_usage;
+      if (remote_checksum_off)
+	omni_request->flags |= OMNI_CHECKSUM_OFF;
+
+      if (remote_cpu_usage)
+	omni_request->flags |= OMNI_MEASURE_CPU;
+
       omni_request->cpu_rate	           = remote_cpu_rate;
       if (test_time)
 	omni_request->test_length	   = test_time;
@@ -4150,7 +4301,6 @@
       omni_request->recv_dirty_count       = rem_dirty_count;
       omni_request->recv_clean_count       = rem_clean_count;
       
-      omni_request->checksum_off           = remote_checksum_off;
       omni_request->data_port              = atoi(remote_data_port);
       omni_request->ipfamily               = af_to_nf(remote_res->ai_family);
       omni_request->socket_type            = hst_to_nst(socket_type);
@@ -4173,7 +4323,7 @@
       getsockname(data_socket, (struct sockaddr *)&my_addr, &my_addr_len);
       ret = get_sockaddr_family_addr_port(&my_addr,
 					  nf_to_af(omni_request->ipfamily),
-					  omni_request->ipaddr,
+					  omni_request->netperf_ip,
 					  &(omni_request->netperf_port));
       
       if (debug > 1) {
@@ -4192,16 +4342,16 @@
       recv_response_n(OMNI_RESPONSE_CONV_CUTOFF); /* brittle, but functional */
   
       if (!netperf_response.content.serv_errno) {
-	rsr_size	 = omni_response->recv_buf_size;
-	remote_recv_size = omni_response->receive_size;
-	rss_size	 = omni_response->send_buf_size;
-	remote_send_size = omni_response->send_size;
-	rem_nodelay      = omni_response->no_delay;
-	remote_use_sendfile = omni_response->use_sendfile;
-	remote_cpu_usage = omni_response->measure_cpu;
-	remote_cpu_rate  = omni_response->cpu_rate;
-	remote_send_width = omni_response->send_width;
-	remote_recv_width = omni_response->recv_width;
+	rsr_size	    = omni_response->recv_buf_size;
+	remote_recv_size    = omni_response->receive_size;
+	rss_size	    = omni_response->send_buf_size;
+	remote_send_size    = omni_response->send_size;
+	rem_nodelay         = omni_response->flags & OMNI_NO_DELAY;
+	remote_use_sendfile = omni_response->flags & OMNI_USE_SENDFILE;
+	remote_cpu_usage    = omni_response->flags & OMNI_MEASURE_CPU;
+	remote_cpu_rate     = omni_response->cpu_rate;
+	remote_send_width   = omni_response->send_width;
+	remote_recv_width   = omni_response->recv_width;
 	/* make sure that port numbers are in network order because
 	   recv_response will have put everything into host order */
 	set_port_number(remote_res,
@@ -4214,7 +4364,8 @@
 	}
 	/* just in case the remote didn't null terminate */
 	if (NULL == remote_system_model) {
-	  omni_response->system_model[sizeof(omni_response->system_model)-1] = 0;
+	  omni_response->system_model[sizeof(omni_response->system_model)-1] =
+	    0;
 	  remote_system_model = strdup(omni_response->system_model);
 	}
 	if (NULL == remote_cpu_model) {
@@ -4366,8 +4517,10 @@
 	else if ((ret == -2) && connection_test) {
 	  /* transient error  on a connection test means go around and
 	     try again with another local port number */
-	  fprintf(where,"transient! transient! torpedo in the water!\n");
-	  fflush(where);
+	  if (debug) {
+	    fprintf(where,"transient! transient! torpedo in the water!\n");
+	    fflush(where);
+	  }
 	  close(data_socket);
 	  connected = 0;  /* probably redundant but what the heck... */
 	  need_socket = 1;
@@ -4377,6 +4530,8 @@
 	     allocating a new socket it will do the right thing with the
 	     bind() call */
 	  pick_next_port_number(local_res,remote_res);
+	  /* yes Virginia, a goto.  perhaps one day we will rewrite
+	     the code to avoid it but for now, a goto... raj */
 	  goto again;
 	}
 	else {
@@ -4582,7 +4737,7 @@
 	/* we will only make this call the one time - after the first
 	   call, the value will be real or -1. if this is a connection
 	   test we want to do this here because later we won't be
-	   connected and the data may no longer be available */
+	   connected and the data may no longer be available. */
 	if (transport_mss == -2) 
 	  get_transport_info(data_socket,
 			     &transport_mss,
@@ -5079,7 +5234,7 @@
      based on the updated value of those globals. raj 7/94 */
   lss_size_req = omni_request->send_buf_size;
   lsr_size_req = omni_request->recv_buf_size;
-  loc_nodelay = omni_request->no_delay;
+  loc_nodelay = (omni_request->flags) & OMNI_NO_DELAY;
   loc_rcvavoid = omni_request->so_rcvavoid;
   loc_sndavoid = omni_request->so_sndavoid;
 
@@ -5093,7 +5248,7 @@
   interval_burst = 0;
 #endif
 
-  connection_test = omni_request->connect_test;
+  connection_test = omni_request->flags & OMNI_CONNECT_TEST;
   direction       = omni_request->direction;
 
   set_hostname_and_port(local_name,
@@ -5265,9 +5420,9 @@
   /* the initiator. */
   
   omni_response->cpu_rate = (float)0.0; 	/* assume no cpu */
-  omni_response->measure_cpu = 0;
-  if (omni_request->measure_cpu) {
-    omni_response->measure_cpu = 1;
+  omni_response->flags &= ~OMNI_MEASURE_CPU;
+  if (omni_request->flags & OMNI_MEASURE_CPU) {
+    omni_response->flags |= OMNI_MEASURE_CPU;
     omni_response->cpu_rate = 
       calibrate_local_cpu(omni_request->cpu_rate);
   }
@@ -5276,7 +5431,11 @@
   /* the socket parms from the globals */
   omni_response->send_buf_size = lss_size;
   omni_response->recv_buf_size = lsr_size;
-  omni_response->no_delay = loc_nodelay;
+  if (loc_nodelay)
+    omni_response->flags |= OMNI_NO_DELAY;
+  else
+    omni_response->flags &= ~OMNI_NO_DELAY;
+
   omni_response->so_rcvavoid = loc_rcvavoid;
   omni_response->so_sndavoid = loc_sndavoid;
   omni_response->interval_usecs = interval_usecs;
@@ -5311,7 +5470,7 @@
   /* Now it's time to start receiving data on the connection. We will */
   /* first grab the apropriate counters and then start grabbing. */
   
-  cpu_start(omni_request->measure_cpu);
+  cpu_start(omni_request->flags & OMNI_MEASURE_CPU);
 
   /* if the test is timed, set a timer of suitable length.  if the
      test is by byte/transaction count, we don't need a timer - or
@@ -5395,7 +5554,7 @@
 	data_socket = s_listen;
 	set_sockaddr_family_addr_port(&peeraddr_in,
 				      nf_to_af(omni_request->ipfamily),
-				      omni_request->ipaddr,
+				      omni_request->netperf_ip,
 				      omni_request->netperf_port);
       }
     }
@@ -5580,7 +5739,7 @@
   /* The current iteration loop now exits due to timeout or unit count
      being  reached */
   
-  cpu_stop(omni_request->measure_cpu,&elapsed_time);
+  cpu_stop(omni_request->flags & OMNI_MEASURE_CPU,&elapsed_time);
   
   if (timed_out) {
     /* we ended the test by time, which may have been PAD_TIME seconds
@@ -5635,7 +5794,7 @@
   omni_results->elapsed_time	= elapsed_time;
   omni_results->cpu_method      = cpu_method;
   omni_results->num_cpus        = lib_num_loc_cpus;
-  if (omni_request->measure_cpu) {
+  if (omni_request->flags & OMNI_MEASURE_CPU) {
     omni_results->cpu_util = calc_cpu_util(elapsed_time);
   }
   omni_results->peak_cpu_util   = (float)lib_local_peak_cpu_util;



More information about the netperf-dev mailing list