diff mbox

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

Message ID 1329348480-11147-2-git-send-email-richard@nod.at
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Richard Weinberger Feb. 15, 2012, 11:28 p.m. UTC
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           |    8 ++++++++
 2 files changed, 9 insertions(+), 0 deletions(-)
diff mbox

Patch

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..4e392cf 100644
--- a/net/netfilter/xt_LOG.c
+++ b/net/netfilter/xt_LOG.c
@@ -490,6 +490,14 @@  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) {
+		struct timespec tv;
+
+		getnstimeofday(&tv);
+		sb_add(m, "TIMESTAMP=%li.%03u ", tv.tv_sec,
+			(unsigned int)tv.tv_nsec / NSEC_PER_MSEC);
+	}
+
 	sb_add(m, "%sIN=%s OUT=%s ", prefix, in ? in->name : "",
 	       out ? out->name : "");
 #ifdef CONFIG_BRIDGE_NETFILTER