All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Florian Westphal <fw@strlen.de>
Cc: netfilter-devel@vger.kernel.org
Subject: Re: [PATCH nft 02/10] src: ipv6: switch implicit dependencies to meta l4proto
Date: Tue, 16 May 2017 12:05:42 +0200	[thread overview]
Message-ID: <20170516100542.GB19069@salvia> (raw)
In-Reply-To: <20170509155122.26356-3-fw@strlen.de>

On Tue, May 09, 2017 at 05:51:14PM +0200, Florian Westphal wrote:
> when using rule like
> 
> ip6 filter input tcp dport 22
> nft generates:
>   [ payload load 1b @ network header + 6 => reg 1 ]
>   [ cmp eq reg 1 0x00000006 ]
>   [ payload load 2b @ transport header + 2 => reg 1 ]
>   [ cmp eq reg 1 0x00001600 ]
> 
> which is: ip6 filter input ip6 nexthdr tcp dport 22
> IOW, such a rule won't match if e.g. a fragment header is in place.
> 
> This changes ip6_proto to use 'meta l4proto' which is the protocol header
> found by exthdr walk.
> 
> A side effect is that for bridge we get a shorter dependency chain as it
> no longer needs to prepend 'ether proto ipv6' for old 'ip6 nexthdr' dep.

Same comment regarding tests, I would prefer to see tests are amended
in this patch too.

> Signed-off-by: Florian Westphal <fw@strlen.de>

Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>

> ---
>  src/proto.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/proto.c b/src/proto.c
> index fcdfbe73c735..3b20a5fd35b1 100644
> --- a/src/proto.c
> +++ b/src/proto.c
> @@ -707,7 +707,6 @@ const struct proto_desc proto_icmp6 = {
>  const struct proto_desc proto_ip6 = {
>  	.name		= "ip6",
>  	.base		= PROTO_BASE_NETWORK_HDR,
> -	.protocol_key	= IP6HDR_NEXTHDR,
>  	.protocols	= {
>  		PROTO_LINK(IPPROTO_ESP,		&proto_esp),
>  		PROTO_LINK(IPPROTO_AH,		&proto_ah),
> @@ -720,6 +719,7 @@ const struct proto_desc proto_ip6 = {
>  		PROTO_LINK(IPPROTO_ICMPV6,	&proto_icmp6),
>  	},
>  	.templates	= {
> +		[0]	= PROTO_META_TEMPLATE("l4proto", &inet_protocol_type, NFT_META_L4PROTO, 8),
>  		[IP6HDR_VERSION]	= HDR_BITFIELD("version", &integer_type, 0, 4),
>  		[IP6HDR_DSCP]		= HDR_BITFIELD("dscp", &dscp_type, 4, 6),
>  		[IP6HDR_ECN]		= HDR_BITFIELD("ecn", &ecn_type, 10, 2),
> -- 
> 2.10.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2017-05-16 10:05 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-09 15:51 [PATCH nft 00/10] switch l4 dependency to meta l4proto Florian Westphal
2017-05-09 15:51 ` [PATCH nft 01/10] src: allow update of net base w. meta l4proto icmpv6 Florian Westphal
2017-05-16 10:04   ` Pablo Neira Ayuso
2017-05-09 15:51 ` [PATCH nft 02/10] src: ipv6: switch implicit dependencies to meta l4proto Florian Westphal
2017-05-16 10:05   ` Pablo Neira Ayuso [this message]
2017-05-09 15:51 ` [PATCH nft 03/10] src: treat ip6 nexthdr as a protocol Florian Westphal
2017-05-16 10:28   ` Pablo Neira Ayuso
2017-05-09 15:51 ` [PATCH nft 04/10] tests: fix up meta l4proto change for ip6 family Florian Westphal
2017-05-16 10:22   ` Pablo Neira Ayuso
2017-05-16 10:52     ` Florian Westphal
2017-05-17 18:13       ` Pablo Neira Ayuso
2017-05-17 18:36         ` Florian Westphal
2017-05-17 18:49           ` Pablo Neira Ayuso
2017-05-17 20:55             ` Florian Westphal
2017-05-09 15:51 ` [PATCH nft 05/10] tests: meta: add icmpv6 test case Florian Westphal
2017-05-09 15:51 ` [PATCH nft 06/10] netlink_delinearize: reject: remove dependency for tcp-resets Florian Westphal
2017-05-09 15:51 ` [PATCH nft 07/10] tests: add ip reject with tcp and check for mark too Florian Westphal
2017-05-16 10:29   ` Pablo Neira Ayuso
2017-05-16 10:40     ` Florian Westphal
2017-05-09 15:51 ` [PATCH nft 08/10] src: add a comment wrt. reject dependency insertion Florian Westphal
2017-05-09 15:51 ` [PATCH nft 09/10] src: ip: switch implicit dependencies to meta l4proto too Florian Westphal
2017-05-16 10:35   ` Pablo Neira Ayuso
2017-05-09 15:51 ` [PATCH nft 10/10] tests: fix up meta l4proto change for ip family 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=20170516100542.GB19069@salvia \
    --to=pablo@netfilter.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.