Thread (9 messages) 9 messages, 3 authors, 2025-10-10
STALE276d

[PATCH] doc/netlink: Expand nftables specification

From: Remy D. Farley <hidden>
Date: 2025-10-09 20:24:55

On Friday, October 3rd, 2025 at 6:05 PM, Jakub Kicinski [off-list ref] wrote:
Hm, hm, hm. So for "do" we use empty replies to mean that the reply
will actually arrive but it will have no attributes. Whether an
operation returns a reply or not cannot be changed once operation
was added without breaking uAPI. So the empty reply is a way for us
to "reserve" the reply because we think we may need it in the future.

Or at least that's what my faulty memory of the situation is.

What an empty dump reply is I do not know. How we could have a dump
enumerating objects without producing replies!? :$

I spent some time annotating the missing attributes, so fixing the rst script
isn't required, at least for this patch. Thanks for clarifying though, I didn't
notice the distinction at first.


On Friday, October 3rd, 2025 at 9:04 PM, Jakub Kicinski [off-list ref] wrote:
Please don't send a reply in a previous thread and 4 min later a new
version of the patch :(

Sorry ._. I will use this (older) thread.


On Monday, October 6th, 2025 at 2:08 PM, Donald Hunter [off-list ref] wrote:
On Mon, 6 Oct 2025 at 09:29, Donald Hunter donald.hunter@gmail.com wrote:
quoted
Can you run

yamllint Documentation/netlink/specs

The patch adds several errors and warnings.

Cheers!

Can you also use the nftables schema with the python cli, or at least run:

./tools/net/ynl/pyynl/cli.py --spec Documentation/netlink/specs/nftables.yaml

(This is something we should automate as part of make -C tools/net/ynl)

Done. All 3 are working in patch v3.

quoted hunk ↗ jump to hunk
The spec has a lot of schema errors to resolve. You'll also need
changes to the netlink-raw.yaml schema because it is missing the 'max'
check.
diff --git a/Documentation/netlink/netlink-raw.yaml
b/Documentation/netlink/netlink-raw.yaml
index 246fa07bccf6..9cb3cc78a0af 100644
--- a/Documentation/netlink/netlink-raw.yaml
+++ b/Documentation/netlink/netlink-raw.yaml
@@ -19,6 +19,12 @@ $defs:
type: [ string, integer ]
pattern: ^[0-9A-Za-z_-]+( - 1)?$
minimum: 0
+ len-or-limit:
+ # literal int, const name, or limit based on fixed-width type
+ # e.g. u8-min, u16-max, etc.
+ type: [ string, integer ]
+ pattern: ^[0-9A-Za-z_-]+$
+ minimum: 0

# Schema for specs
title: Protocol
@@ -270,7 +276,10 @@ properties:
type: string
min:
description: Min value for an integer attribute.
- type: integer
+ $ref: '#/$defs/len-or-limit'
+ max:
+ description: Max value for an integer attribute.
+ $ref: '#/$defs/len-or-limit'
min-len:
description: Min length for a binary attribute.
$ref: '#/$defs/len-or-define'

Thanks, will use. I would've otherwise ended up just removing these annotations :)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help