Date: Thu, 23 Feb 2012 19:03:22 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r232062 - in projects/pf/head/sys: contrib/pf/net sys Message-ID: <201202231903.q1NJ3MZC018846@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202231903.q1NJ3MZC018846>