From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Florian Westphal <fw@strlen.de>
Cc: netfilter-devel <netfilter-devel@vger.kernel.org>
Subject: Re: nftables: syntax ambiguity with objref map and ct helper objects
Date: Mon, 31 Jul 2023 14:23:10 +0200 [thread overview]
Message-ID: <ZMenriLfu+luvh9i@calendula> (raw)
In-Reply-To: <20230728195614.GA18109@breakpoint.cc>
Hi Florian,
On Fri, Jul 28, 2023 at 09:56:14PM +0200, Florian Westphal wrote:
> Hi,
>
> I wanted to allow creating objref maps that
> return "ct timeout" or "ct helper" templates.
>
> However:
> map .. {
> type ipv4_addr : ct timeout
>
> The above is fine, but this is not:
>
> map .. {
> type ipv4_addr : ct helper
This is type, not typeof, is it intentional?
> It caues ambiguity in parser due to existing
> "ct helper" expression, as in
> "nft describe ct helper", not the freestanding
> objref name.
>
> I could just allow:
> type ipv4_addr : helper
>
> ... without "ct", but then we'd require different
> keywords for the definition and the use as data
> element in the key definition, and its inconsistent
> with "ct timeout".
>
> Should we add a new explicit keyword for
> *both* objref names and the data element usage?
>
> Perhaps:
>
> object type ct helper "sip-external" {
> ....
>
> And
> type ipv4_addr : object type ct helper
>
> ?
>
> Any better ideas or suggesions on a sane syntax to avoid this?
This works fine with typeof:
table ip x {
map x {
typeof ip saddr : ct helper
}
}
it seems typeof support for 'ct timeout' is missing?
Thanks for reporting.
next prev parent reply other threads:[~2023-07-31 12:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-28 19:56 nftables: syntax ambiguity with objref map and ct helper objects Florian Westphal
2023-07-31 12:23 ` Pablo Neira Ayuso [this message]
2023-07-31 12:46 ` Florian Westphal
2023-07-31 15:32 ` Pablo Neira Ayuso
2023-08-04 9:12 ` 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=ZMenriLfu+luvh9i@calendula \
--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.