Log anything that could prevent a daemon from starting.
[sliver-openvswitch.git] / utilities / ovs-ofctl.c
index 10b3153..bc8cc6b 100644 (file)
@@ -18,6 +18,7 @@
 #include <errno.h>
 #include <getopt.h>
 #include <inttypes.h>
+#include <sys/socket.h>
 #include <net/if.h>
 #include <signal.h>
 #include <stdlib.h>
@@ -198,17 +199,8 @@ static void run(int retval, const char *message, ...)
     if (retval) {
         va_list args;
 
-        fprintf(stderr, "%s: ", program_name);
         va_start(args, message);
-        vfprintf(stderr, message, args);
-        va_end(args);
-        if (retval == EOF) {
-            fputs(": unexpected end of file\n", stderr);
-        } else {
-            fprintf(stderr, ": %s\n", strerror(retval));
-        }
-
-        exit(EXIT_FAILURE);
+        ovs_fatal_valist(retval, message, args);
     }
 }
 \f
@@ -835,9 +827,9 @@ do_ping(int argc, char *argv[])
                                OFPT_ECHO_REQUEST, &request);
         random_bytes(rq_hdr + 1, payload);
 
-        gettimeofday(&start, NULL);
+        xgettimeofday(&start);
         run(vconn_transact(vconn, ofpbuf_clone(request), &reply), "transact");
-        gettimeofday(&end, NULL);
+        xgettimeofday(&end);
 
         rpy_hdr = reply->data;
         if (reply->size != request->size
@@ -882,7 +874,7 @@ do_benchmark(int argc OVS_UNUSED, char *argv[])
            count, message_size, count * message_size);
 
     open_vconn(argv[1], &vconn);
-    gettimeofday(&start, NULL);
+    xgettimeofday(&start);
     for (i = 0; i < count; i++) {
         struct ofpbuf *request, *reply;
         struct ofp_header *rq_hdr;
@@ -892,7 +884,7 @@ do_benchmark(int argc OVS_UNUSED, char *argv[])
         run(vconn_transact(vconn, request, &reply), "transact");
         ofpbuf_delete(reply);
     }
-    gettimeofday(&end, NULL);
+    xgettimeofday(&end);
     vconn_close(vconn);
 
     duration = ((1000*(double)(end.tv_sec - start.tv_sec))
@@ -1150,8 +1142,6 @@ read_flows_from_switch(struct vconn *vconn, enum nx_flow_format flow_format,
 
                 fte_insert(cls, &fs.rule, version, index);
             }
-
-            osr = ofpbuf_at(reply, 0, sizeof *osr);
         } else {
             VLOG_DBG("received reply with xid %08"PRIx32" "
                      "!= expected %08"PRIx32, recv_xid, send_xid);