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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le mercredi 15 février 2012 à 00:36 +0100, Richard Weinberger a écrit :
> Using XT_LOG_ADD_TIMESTAMP it is possible to have a timestamp
> directly in the log message.
> 
> Signed-off-by: Richard Weinberger <richard@xxxxxx>
> ---
>  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


--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux