From: Stephen Hemminger <stephen@networkplumber.org>
To: Todd Freed <toddfreed@meta.com>
Cc: <netdev@vger.kernel.org>, David Ahern <dsahern@kernel.org>,
Jamal Hadi Salim <jhs@mojatatu.com>,
Jiri Pirko <jiri@resnulli.us>,
Daniel Zahka <daniel.zahka@gmail.com>,
Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
Jakub Kicinski <kuba@kernel.org>,
<linux-kselftest@vger.kernel.org>
Subject: Re: [PATCH iproute2-next 2/3] tc: add the psp action
Date: Wed, 11 Nov 2026 17:05:24 -0800 [thread overview]
Message-ID: <20261111170524.2b0a6af9@phoenix.local> (raw)
In-Reply-To: <20261112001512.3598626-3-toddfreed@meta.com>
On Wed, 11 Nov 2026 16:15:11 -0800
Todd Freed <toddfreed@meta.com> wrote:
> The psp action applies PSP (PSP Security Protocol) encap and encryption
> to packets, separately from psp socket offload:
>
> psp encap assoc ASSOC_ID attach a PSP Tx association, created with
> assoc-add over the PSP netlink family; the
> association's device encrypts the packet
> on transmit
> psp decap remove the PSP Rx state of a packet the
> PSP device decrypted
>
> decap takes no association. To take only those packets which belong to a
> single rx-spi-alloc call, a rule applies the corresponding flower psp_spi,
> psp_ver and psp_dev matches.
>
> In JSON, the verb is psp_action. The action is documented in tc-psp(8).
>
> Signed-off-by: Todd Freed <toddfreed@meta.com>
> ---
I saw several things that need fixing here, but AI review saw more:
New code must use strcmp(), not matches(). Six sites: "psp", "encap",
"decap", "assoc", "help", and the "index" test. matches() does prefix
matching, so "e", "d", "a", "h", "i" all become valid keywords and are
de-facto ABI once released -- any keyword added later that shares a
prefix either changes the meaning of an existing one or can't be added.
Your own 3/3 uses strcmp(), so this is just making 2/3 match.
"psp decap assoc 3" is accepted silently and sends both
TCA_PSP_ACT_DECAP and TCA_PSP_ASSOC_ID. Your changelog, the man page,
and your uapi comment ("u32, encap only") all say this is meaningless.
You already reject encap without assoc; please reject this too. The
check has to go outside the "if (!p.index)" guard, since the attribute
is added unconditionally. A repeated "assoc" is also silently
last-one-wins -- duparg() is the usual way to flag that.
print_psp() emits "psp_action" as a JSON string for encap/decap and as
a number in the default case. Which type a script sees depends on the
kernel it's talking to. Keep the key one type. The default case also
fires when TCA_PSP_ACTION is absent entirely, printing "action 0".
explain() and the man page both omit "jump" from the CONTROL list,
though parse_action_control_dflt() accepts it.
next prev parent reply other threads:[~2026-11-12 1:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-12 0:15 [PATCH iproute2-next 0/3] tc: add the psp action and flower psp matches Todd Freed
2026-11-12 0:15 ` [PATCH iproute2-next 1/3] uapi: add the tc psp action and flower psp keys Todd Freed
2026-11-12 0:15 ` [PATCH iproute2-next 2/3] tc: add the psp action Todd Freed
2026-11-12 1:05 ` Stephen Hemminger [this message]
2026-11-12 19:22 ` Todd Bert Freed
2026-11-12 0:15 ` [PATCH iproute2-next 3/3] tc: flower: add matches psp_spi, psp_ver and psp_dev Todd Freed
2026-11-12 1:06 ` Stephen Hemminger
2026-11-12 19:21 ` Todd Bert Freed
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=20261111170524.2b0a6af9@phoenix.local \
--to=stephen@networkplumber.org \
--cc=daniel.zahka@gmail.com \
--cc=dsahern@kernel.org \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=toddfreed@meta.com \
--cc=willemdebruijn.kernel@gmail.com \
/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.