Thread (3 messages) flat view 3 messages, 2 authors, 2012-02-15

Re: [PATCH 2/2] Netfilter: xt_LOG: Add timestamp support

From: Eric Dumazet <hidden>
Date: 2012-02-15 04:56:35
Also in: lkml, netfilter-devel

Le mercredi 15 février 2012 à 00:36 +0100, Richard Weinberger a écrit :
quoted hunk ↗ jump to hunk
Using XT_LOG_ADD_TIMESTAMP it is possible to have a timestamp
directly in the log message.

Signed-off-by: Richard Weinberger <richard@nod.at>
---
 include/linux/netfilter/xt_LOG.h |    1 +
 net/netfilter/xt_LOG.c           |   10 ++++++++++
 2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/include/linux/netfilter/xt_LOG.h b/include/linux/netfilter/xt_LOG.h
index e4b1177..d84710c 100644
--- a/include/linux/netfilter/xt_LOG.h
+++ b/include/linux/netfilter/xt_LOG.h
@@ -8,6 +8,7 @@
 #define XT_LOG_UID		0x08	/* Log UID owning local socket */
 #define XT_LOG_NFLOG		0x10	/* Unsupported, don't reuse */
 #define XT_LOG_MACDECODE	0x20	/* Decode MAC header */
+#define XT_LOG_ADD_TIMESTAMP	0x40	/* Add a timestamp */
 #define XT_LOG_MASK		0x6f
 
 struct xt_log_info {
diff --git a/net/netfilter/xt_LOG.c b/net/netfilter/xt_LOG.c
index 211d341..bd59dfd 100644
--- a/net/netfilter/xt_LOG.c
+++ b/net/netfilter/xt_LOG.c
@@ -490,6 +490,16 @@ log_packet_common(struct sbuff *m,
 	if (loginfo->type == NF_LOG_TYPE_LOG)
 		sb_add(m, "<%d>", loginfo->u.log.level);
 
+	if (loginfo->u.log.logflags & XT_LOG_ADD_TIMESTAMP) {
+		static struct timespec tv;
Please remove 'static', its unsafe on SMP and useless anyway.
+		unsigned int msec;
+
+		getnstimeofday(&tv);
+		msec = tv.tv_nsec;
+		do_div(msec, 1000000);
why do_div() ? Its not an u64 

Just use tv.tv_nsec / NSEC_PER_MSEC

+		sb_add(m, "TIMESTAMP=%li.%03li ", tv.tv_sec, msec);
+	}
+
 	sb_add(m, "%sIN=%s OUT=%s ", prefix, in ? in->name : "",
 	       out ? out->name : "");
 #ifdef CONFIG_BRIDGE_NETFILTER
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help