dpif-linux: Translate queues to priorities correctly.
[openvswitch] / ofproto / netflow.c
index 7c77c64ff2ff0019a9ac5766e77defc2bdce681b..67932f0f75d29454bf2c4ff726123b44f8a3d584 100644 (file)
@@ -20,7 +20,6 @@
 #include <errno.h>
 #include <stdlib.h>
 #include <unistd.h>
-#include "cfg.h"
 #include "collectors.h"
 #include "flow.h"
 #include "netflow.h"
@@ -38,8 +37,6 @@
 
 #define NETFLOW_V5_VERSION 5
 
-static const int ACTIVE_TIMEOUT_DEFAULT = 600;
-
 /* Every NetFlow v5 message contains the header that follows.  This is
  * followed by up to thirty records that describe a terminating flow.
  * We only send a single record per NetFlow message.
@@ -112,7 +109,7 @@ netflow_expire(struct netflow *nf, struct netflow_flow *nf_flow,
 {
     struct netflow_v5_header *nf_hdr;
     struct netflow_v5_record *nf_rec;
-    struct timeval now;
+    struct timespec now;
 
     nf_flow->last_expired += nf->active_timeout;
 
@@ -123,7 +120,7 @@ netflow_expire(struct netflow *nf, struct netflow_flow *nf_flow,
         return;
     }
 
-    time_timeval(&now);
+    time_wall_timespec(&now);
 
     if (!nf->packet.size) {
         nf_hdr = ofpbuf_put_zeros(&nf->packet, sizeof *nf_hdr);
@@ -131,7 +128,7 @@ netflow_expire(struct netflow *nf, struct netflow_flow *nf_flow,
         nf_hdr->count = htons(0);
         nf_hdr->sysuptime = htonl(time_msec() - nf->boot_time);
         nf_hdr->unix_secs = htonl(now.tv_sec);
-        nf_hdr->unix_nsecs = htonl(now.tv_usec * 1000);
+        nf_hdr->unix_nsecs = htonl(now.tv_nsec);
         nf_hdr->flow_seq = htonl(nf->netflow_cnt++);
         nf_hdr->engine_type = nf->engine_type;
         nf_hdr->engine_id = nf->engine_id;
@@ -211,10 +208,10 @@ netflow_set_options(struct netflow *nf,
     collectors_create(&nf_options->collectors, 0, &nf->collectors);
 
     old_timeout = nf->active_timeout;
-    if (nf_options->active_timeout != -1) {
+    if (nf_options->active_timeout >= 0) {
         nf->active_timeout = nf_options->active_timeout;
     } else {
-        nf->active_timeout = ACTIVE_TIMEOUT_DEFAULT;
+        nf->active_timeout = NF_ACTIVE_TIMEOUT_DEFAULT;
     }
     nf->active_timeout *= 1000;
     if (old_timeout != nf->active_timeout) {