svn commit: r232062 - in projects/pf/head/sys: contrib/pf/net sys
Gleb Smirnoff
glebius at FreeBSD.org
Thu Feb 23 19:03:23 UTC 2012
Author: glebius
Date: Thu Feb 23 19:03:22 2012
New Revision: 232062
URL: http://svn.freebsd.org/changeset/base/232062
Log:
Use correct API for timeval subtraction.
Noticed by: bde
Modified:
projects/pf/head/sys/contrib/pf/net/pf_norm.c
projects/pf/head/sys/sys/time.h
Modified: projects/pf/head/sys/contrib/pf/net/pf_norm.c
==============================================================================
--- projects/pf/head/sys/contrib/pf/net/pf_norm.c Thu Feb 23 18:59:32 2012 (r232061)
+++ projects/pf/head/sys/contrib/pf/net/pf_norm.c Thu Feb 23 19:03:22 2012 (r232062)
@@ -1670,7 +1670,6 @@ pf_normalize_tcp_stateful(struct mbuf *m
* connection limit until we can come up with a better
* lowerbound to the TS echo check.
*/
- struct timeval delta_ts;
int ts_fudge;
@@ -1686,9 +1685,9 @@ pf_normalize_tcp_stateful(struct mbuf *m
/* Calculate max ticks since the last timestamp */
#define TS_MAXFREQ 1100 /* RFC max TS freq of 1Khz + 10% skew */
#define TS_MICROSECS 1000000 /* microseconds per second */
- timersub(&uptime, &src->scrub->pfss_last, &delta_ts);
- tsval_from_last = (delta_ts.tv_sec + ts_fudge) * TS_MAXFREQ;
- tsval_from_last += delta_ts.tv_usec / (TS_MICROSECS/TS_MAXFREQ);
+ timevalsub(&uptime, &src->scrub->pfss_last);
+ tsval_from_last = (uptime.tv_sec + ts_fudge) * TS_MAXFREQ;
+ tsval_from_last += uptime.tv_usec / (TS_MICROSECS/TS_MAXFREQ);
if ((src->state >= TCPS_ESTABLISHED &&
dst->state >= TCPS_ESTABLISHED) &&
@@ -1712,8 +1711,8 @@ pf_normalize_tcp_stateful(struct mbuf *m
DPFPRINTF((" tsval: %u tsecr: %u +ticks: %u "
"idle: %jus %lums\n",
tsval, tsecr, tsval_from_last,
- (uintmax_t)delta_ts.tv_sec,
- delta_ts.tv_usec / 1000));
+ (uintmax_t)uptime.tv_sec,
+ uptime.tv_usec / 1000));
DPFPRINTF((" src->tsval: %u tsecr: %u\n",
src->scrub->pfss_tsval, src->scrub->pfss_tsecr));
DPFPRINTF((" dst->tsval: %u tsecr: %u tsval0: %u"
Modified: projects/pf/head/sys/sys/time.h
==============================================================================
--- projects/pf/head/sys/sys/time.h Thu Feb 23 18:59:32 2012 (r232061)
+++ projects/pf/head/sys/sys/time.h Thu Feb 23 19:03:22 2012 (r232062)
@@ -199,7 +199,8 @@ timeval2bintime(const struct timeval *tv
#endif /* _KERNEL */
-/* NetBSD/OpenBSD compatible interfaces. */
+#ifndef _KERNEL /* NetBSD/OpenBSD compatible interfaces */
+
#define timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0)
#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
#define timercmp(tvp, uvp, cmp) \
@@ -224,6 +225,7 @@ timeval2bintime(const struct timeval *tv
(vvp)->tv_usec += 1000000; \
} \
} while (0)
+#endif
/*
* Names of the interval timers, and structure
More information about the svn-src-projects
mailing list