X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ofproto%2Fnetflow.c;h=3d913af2c609fc23d032e8305ddf7f12a4c0405f;hb=10df718e73122df2f3b04ed585e50e4b299a8cbd;hp=34d571f08c481282266ed8e9019d1c47dde13ccc;hpb=a0bc29a541fc7dc6e20137d5558e2094d614e6ab;p=openvswitch diff --git a/ofproto/netflow.c b/ofproto/netflow.c index 34d571f0..3d913af2 100644 --- a/ofproto/netflow.c +++ b/ofproto/netflow.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009 Nicira Networks. + * Copyright (c) 2008, 2009, 2010 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,10 +30,10 @@ #include "svec.h" #include "timeval.h" #include "util.h" +#include "vlog.h" #include "xtoxll.h" -#define THIS_MODULE VLM_netflow -#include "vlog.h" +VLOG_DEFINE_THIS_MODULE(netflow) #define NETFLOW_V5_VERSION 5 @@ -109,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; @@ -120,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); @@ -128,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; @@ -170,7 +170,7 @@ netflow_expire(struct netflow *nf, struct netflow_flow *nf_flow, } nf_rec->tcp_flags = nf_flow->tcp_flags; nf_rec->ip_proto = expired->flow.nw_proto; - nf_rec->ip_tos = nf_flow->ip_tos; + nf_rec->ip_tos = expired->flow.nw_tos; /* Update flow tracking data. */ nf_flow->created = 0; @@ -271,10 +271,8 @@ netflow_flow_update_time(struct netflow *nf, struct netflow_flow *nf_flow, } void -netflow_flow_update_flags(struct netflow_flow *nf_flow, uint8_t ip_tos, - uint8_t tcp_flags) +netflow_flow_update_flags(struct netflow_flow *nf_flow, uint8_t tcp_flags) { - nf_flow->ip_tos = ip_tos; nf_flow->tcp_flags |= tcp_flags; }