Subject: Re: [PATCH] netfilter: don't reset nf_trace in nf_reset()

From: Sergei Shtylyov <[email-masked]>
Date: Fri, 05 Apr 2013 23:14:30 +0400

On 04/05/2013 10:42 PM, Patrick McHardy wrote:

> Commit 130549fe

    Please also specify the summary line of this commit in parens.
David M. also seems to require it to be enclosed in quotes inside parens...

> added code to reset nf_trace in nf_reset(). This is wrong
> and unnecessary.
>
> nf_reset() is used in the following cases:
>
> - when passing packets up the the socket layer, at which point we want to
>    release all netfilter references that might keep modules pinned while
>    the packet is queued. nf_trace doesn't matter anymore at this point.
>
> - when encapsulating or decapsulating IPsec packets. We want to continue
>    tracing these packets after IPsec processing.
>
> - when passing packets through virtual network devices. Only devices on
>    that encapsulate in IPv4/v6 matter since otherwise nf_trace is not
>    used anymore. Its not entirely clear whether those packets should
>    be traced after that, however we've always done that.
>
> - when passing packets through virtual network devices that make the
>    packet cross network namespace boundaries. This is the only cases
>    where we clearly want to reset nf_trace and is also what the
>    original patch intended to fix.
>
> Add a new function nf_reset_trace() and use it in dev_forward_skb() to
> fix this properly.
>
> Signed-off-by: Patrick McHardy <[email-masked]>
>

WBR, Sergei