From: Patrick McHardy <kaber@trash.net>
To: Andrew Watts <akwatts@ymail.com>
Cc: netfilter-devel@vger.kernel.org
Subject: Re: NFQUEUE verdicts - adding non-termination
Date: Fri, 12 Nov 2010 12:19:20 +0100 [thread overview]
Message-ID: <4CDD22B8.1090201@trash.net> (raw)
In-Reply-To: <4CDD20C4.9030507@trash.net>
On 12.11.2010 12:11, Patrick McHardy wrote:
> Am 12.11.2010 12:01, schrieb Andrew Watts:
>> --- On Thu, 11/11/10, Patrick McHardy <kaber@trash.net> wrote:
>>
>>> On 11.11.2010 10:01, Andrew Watts wrote:
>>>> Hi.
>>>>
>>>> The NF_CONTINUE verdict that Darryl Miles brings up in his 11/4
>>>> post is very interesting. NF_CONTINUE would provide the NFQUEUE
>>>> target the added flexibility of, say, partial handling in
>>>> userspace. A queue-handler could have a set of criteria that,
>>>> when satisfied, would result in an immediate drop or accept. One
>>>> could then leave the rest of the packets to find their fate in the
>>>> chains/rules left to traverse. I would be interested in helping
>>>> to add this verdict if someone will take the lead (assuming a patch
>>>> hasn't already been written - has it?).
>>
>>> There's no difference between returning NF_ACCEPT or a new NF_CONTINUE.
>>> Queueing happens outside of the ruleset context, so in either case the
>>> packet would continue through the network stack directly, not after
>>> the NFQUEUE rule.
>>
>> I see. Is there a way to achieve this result under the current
>> infrastructure?
>
> Having the packet continue after the NFQUEUE rule? No, once the packet
> is reinjected, that rule might not even be there anymore.
Actually, what you can do is use NF_REPEAT as verdict and have the
packet continue at the next rule based on marks. Something like this:
Chain INPUT:
-m mark --mark 0 -j NOT_QUEUED
-m mark --mark 1 -j BACK_FROM_QUEUE
Chain NOT_QUEUED:
... rules ...
-j NFQUEUE
[ nfqueue: return NF_REPEAT, set mark = 1 ]
Chain BACK_FROM_QUEUE:
... further rules ...
next prev parent reply other threads:[~2010-11-12 11:19 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-11 9:01 NFQUEUE verdicts - adding non-termination Andrew Watts
2010-11-11 10:50 ` Patrick McHardy
2010-11-12 11:01 ` Andrew Watts
2010-11-12 11:11 ` Patrick McHardy
2010-11-12 11:19 ` Patrick McHardy [this message]
2010-11-12 20:51 ` Andrew Watts
2010-11-12 19:54 ` Stig Thormodsrud
2010-11-15 10:34 ` Patrick McHardy
2010-11-16 10:48 ` Andrew Watts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CDD22B8.1090201@trash.net \
--to=kaber@trash.net \
--cc=akwatts@ymail.com \
--cc=netfilter-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).