From e9796548e7af2e6f64c2be9e598be0cde8e2dc24 Mon Sep 17 00:00:00 2001 From: laforge Date: Sun, 27 Apr 2003 07:43:37 +0000 Subject: real fix for skb receive timestamp problem (Harald Welte), revert PCAP workaround --- ulogd/extensions/ulogd_BASE.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'ulogd/extensions/ulogd_BASE.c') diff --git a/ulogd/extensions/ulogd_BASE.c b/ulogd/extensions/ulogd_BASE.c index 936843f..e4460ac 100644 --- a/ulogd/extensions/ulogd_BASE.c +++ b/ulogd/extensions/ulogd_BASE.c @@ -1,4 +1,4 @@ -/* ulogd_MAC.c, Version $Revision: 1.15 $ +/* ulogd_MAC.c, Version $Revision: 1.16 $ * * ulogd interpreter plugin for * o MAC addresses @@ -26,7 +26,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * $Id: ulogd_BASE.c,v 1.15 2002/12/09 14:42:43 laforge Exp $ + * $Id: ulogd_BASE.c,v 1.16 2003/01/13 13:35:58 laforge Exp $ * */ @@ -111,10 +111,17 @@ static ulog_iret_t *_interp_oob(struct ulog_interpreter *ip, ret[0].value.ptr = pkt->prefix; ret[0].flags |= ULOGD_RETF_VALID; - ret[1].value.ui32 = pkt->timestamp_sec; - ret[1].flags |= ULOGD_RETF_VALID; - ret[2].value.ui32 = pkt->timestamp_usec; - ret[2].flags |= ULOGD_RETF_VALID; + + if (pkt->timestamp_sec || pkt->timestamp_usec) { + ret[1].value.ui32 = pkt->timestamp_sec; + ret[1].flags |= ULOGD_RETF_VALID; + ret[2].value.ui32 = pkt->timestamp_usec; + ret[2].flags |= ULOGD_RETF_VALID; + } else { + ret[1].flags &= ~ULOGD_RETF_VALID; + ret[2].flags &= ~ULOGD_RETF_VALID; + } + ret[3].value.ui32 = pkt->mark; ret[3].flags |= ULOGD_RETF_VALID; ret[4].value.ptr = pkt->indev_name; -- cgit v1.2.3