netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash.net>
To: Florian Westphal <fw@strlen.de>
Cc: netfilter-devel@vger.kernel.org
Subject: Re: [PATCH nft] parser: support reject unreach|reset
Date: Tue, 4 Mar 2014 08:50:29 +0000	[thread overview]
Message-ID: <20140304085029.GC5094@macbook.localnet> (raw)
In-Reply-To: <1393881146-12967-1-git-send-email-fw@strlen.de>

On Mon, Mar 03, 2014 at 10:12:26PM +0100, Florian Westphal wrote:
> reject did not allow to use tcp reset instead of icmp unreach.
> 
> Signed-off-by: Florian Westphal <fw@strlen.de>
> ---
>  After this patch its possibe to do something like
> 
>  rule filter output reject reset

Actually this looks a lot like "iptables thinking" :) Why not simply use
"reset" as keyword?

>  Which makes kernel generate bogus tcp resets in repsonse
>  to non-tcp packets.
> 
>  In iptables this is avoided by making checkentry fail if -p tcp is not
>  specified when tcp-reset is requested.
> 
>  How should this be handled in nft?

We could either add some infrastructure to the kernel to mimic the iptables
check, add runtime fallback to ICMP for non-TCP packets or simply ignore them.

It shouldn't be difficult to check within the rule for the required matches,
however I'm not so sure this is really the way to go since it precludes
optimizations that spawn over multiple rules, f.i. checking for TCP before
a chain jump and have only TCP-specific rules in that chain.

I'm tending towards simply ignoring non-TCP packets at runtime.

>  %token _REJECT			"reject"
> +%token REJECT_RESET		"reset"
> +%token REJECT_UNREACH		"unreach"

Please don't use expression/statement-specific token names. We're simply
dealing with tokens, how they're used depends on the remaining grammar.

  parent reply	other threads:[~2014-03-04  8:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-03 21:12 [PATCH nft] parser: support reject unreach|reset Florian Westphal
2014-03-03 21:41 ` Eric Leblond
2014-03-03 22:03   ` Florian Westphal
2014-03-04  9:08     ` Patrick McHardy
2014-03-04  9:01   ` Patrick McHardy
2014-03-04  8:50 ` Patrick McHardy [this message]
2014-03-04  9:03   ` Florian Westphal

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=20140304085029.GC5094@macbook.localnet \
    --to=kaber@trash.net \
    --cc=fw@strlen.de \
    --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).