Subject: Re: [PATCH] doc/netlink: Expand nftables specification

From: Jakub Kicinski <[email-masked]>
Date: Fri, 3 Oct 2025 11:05:35 -0700

On Fri, 03 Oct 2025 17:51:54 +0000 Remy D. Farley wrote:
> Also, it caught another issue. Python yaml doesn't distinguish an empty
> attrset/list and a null-value:
> 
> ```yaml
>   dump: # attrset
>     reply: # null (but attrset expected in code)
>       # no attribute here => dump["reply"] is None
> ```
> 
> I think it's useful to have a machine readable mark to signal that the
> operation supports dump flag, even though there're no attributes outlined yet.
> I fixed it by simply checking for null in ynl_gen_rst.py .

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!? :$