From: Eric Woudstra <ericwouds@gmail.com>
To: Florian Westphal <fw@strlen.de>
Cc: Pablo Neira Ayuso <pablo@netfilter.org>,
Jozsef Kadlecsik <kadlec@netfilter.org>,
Nikolay Aleksandrov <razor@blackwall.org>,
Ido Schimmel <idosch@nvidia.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>,
netfilter-devel@vger.kernel.org, bridge@lists.linux.dev,
netdev@vger.kernel.org
Subject: Re: [PATCH v14 nf-next 3/3] netfilter: nft_chain_filter: Add bridge double vlan and pppoe
Date: Fri, 11 Jul 2025 14:55:19 +0200 [thread overview]
Message-ID: <6e12178f-e5f8-4202-948b-bdc421d5a361@gmail.com> (raw)
In-Reply-To: <aG2Vfqd779sIK1eL@strlen.de>
On 7/9/25 12:02 AM, Florian Westphal wrote:
> Eric Woudstra <ericwouds@gmail.com> wrote:
>> + if (!pskb_may_pull(skb, VLAN_HLEN))
>> + break;
>> + vhdr = (struct vlan_hdr *)(skb->data);
>> + offset = VLAN_HLEN;
>> + outer_proto = skb->protocol;
>> + proto = vhdr->h_vlan_encapsulated_proto;
>> + skb_set_network_header(skb, offset);
>> + skb->protocol = proto;
>
> Why is skb->protocol munged? Also applies to the previous patch,
> I forgot to ask.
In the previous patch in nf_ct_bridge_pre(), indeed, no need to munge
skb->protocol. So I'll change that.
But in nft_do_chain_bridge() it is needed in the case of matching 'ip
saddr', 'ip daddr', 'ip6 saddr' or 'ip6 daddr'. I suspect all ip/ip6
matches are suffering.
So still matching is something like:
tcp dport 8080 counter name "check"
But no match when:
ip saddr 192.168.1.1 tcp dport 8080 counter name "check"
After munging skb->protocol, I do get the match.
I haven't found where yet, but It seems nft is checking skb->protocol,
before it tries to match the ip(6) saddr/daddr.
And to answer a question in the other patch: this issue is found by
using my script bridge_fastpath.sh. It first checks the connection,
conntrack and nft-chain are functional in all testcases. So, it tests
the functionality of the patches in this patch-set. I want to improve
the script on a few more issues and then send a non-rfc.
next prev parent reply other threads:[~2025-07-11 12:55 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-08 15:12 [PATCH v14 nf-next 0/3] conntrack: bridge: add double vlan, pppoe and pppoe-in-q Eric Woudstra
2025-07-08 15:12 ` [PATCH v14 nf-next 1/3] netfilter: utils: nf_checksum(_partial) correct data!=networkheader Eric Woudstra
2025-09-06 21:09 ` Florian Westphal
2025-07-08 15:12 ` [PATCH v14 nf-next 2/3] netfilter: bridge: Add conntrack double vlan and pppoe Eric Woudstra
2025-07-08 22:00 ` Florian Westphal
2025-09-06 21:11 ` Florian Westphal
2025-09-09 9:17 ` Eric Woudstra
2025-07-08 15:12 ` [PATCH v14 nf-next 3/3] netfilter: nft_chain_filter: Add bridge " Eric Woudstra
2025-07-08 22:02 ` Florian Westphal
2025-07-11 12:55 ` Eric Woudstra [this message]
2025-07-11 14:14 ` Florian Westphal
2025-07-12 10:08 ` Eric Woudstra
2025-07-12 10:50 ` Florian Westphal
2025-09-02 8:48 ` Eric Woudstra
2025-09-02 13:18 ` Florian Westphal
2025-09-06 12:26 ` Eric Woudstra
2025-09-06 21:14 ` Florian Westphal
2025-09-09 9:21 ` Eric Woudstra
2025-09-09 14:26 ` 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=6e12178f-e5f8-4202-948b-bdc421d5a361@gmail.com \
--to=ericwouds@gmail.com \
--cc=bridge@lists.linux.dev \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=fw@strlen.de \
--cc=horms@kernel.org \
--cc=idosch@nvidia.com \
--cc=kadlec@netfilter.org \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pablo@netfilter.org \
--cc=razor@blackwall.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.