From: Jakub Kicinski <kuba@kernel.org>
To: Donald Hunter <donald.hunter@gmail.com>
Cc: netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>, Jonathan Corbet <corbet@lwn.net>,
linux-doc@vger.kernel.org, donald.hunter@redhat.com
Subject: Re: [PATCH net-next v4 6/7] docs: netlink: document struct support for genetlink-legacy
Date: Fri, 24 Mar 2023 20:52:24 -0700 [thread overview]
Message-ID: <20230324205224.18f31f14@kernel.org> (raw)
In-Reply-To: <20230324191900.21828-7-donald.hunter@gmail.com>
On Fri, 24 Mar 2023 19:18:59 +0000 Donald Hunter wrote:
> Legacy families can define C structures both to be used as the contents
> -of an attribute and as a fixed message header. The plan is to define
> -the structs in ``definitions`` and link the appropriate attrs.
> +of an attribute and as a fixed message header. Structs are defined
> +in ``definitions`` and referenced in operations or attributes.
We should call out that the structs in YAML are implicitly "packed"
(in the C sense of the word), so struct { u8 a; u16 b; u8 c; } is
4 bytes not 6 bytes.
Any padding must be explicitly, C-like languages should infer the need
for explicit packing from whether the members are naturally aligned.
> +.. code-block:: yaml
> +
> + definitions:
> + -
> + name: message-header
> + type: struct
> + members:
> + -
> + name: a
> + type: u32
> + -
> + name: b
> + type: string
Maybe not the most fortunate example :) cause I think that for
string/binary we'll need an explicit length. Maybe not for
last one if it's a flexible array... but that's rare in NL.
The rest LGTM, thanks!
next prev parent reply other threads:[~2023-03-25 3:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-24 19:18 [PATCH net-next v4 0/7] ynl: add support for user headers and struct attrs Donald Hunter
2023-03-24 19:18 ` [PATCH net-next v4 1/7] tools: ynl: Add struct parsing to nlspec Donald Hunter
2023-03-25 3:36 ` Jakub Kicinski
2023-03-24 19:18 ` [PATCH net-next v4 2/7] tools: ynl: Add C array attribute decoding to ynl Donald Hunter
2023-03-25 3:38 ` Jakub Kicinski
2023-03-27 7:57 ` Donald Hunter
2023-03-24 19:18 ` [PATCH net-next v4 3/7] tools: ynl: Add struct attr " Donald Hunter
2023-03-25 3:42 ` Jakub Kicinski
2023-03-24 19:18 ` [PATCH net-next v4 4/7] tools: ynl: Add fixed-header support " Donald Hunter
2023-03-25 3:47 ` Jakub Kicinski
2023-03-27 8:10 ` Donald Hunter
2023-03-24 19:18 ` [PATCH net-next v4 5/7] netlink: specs: add partial specification for openvswitch Donald Hunter
2023-03-24 19:18 ` [PATCH net-next v4 6/7] docs: netlink: document struct support for genetlink-legacy Donald Hunter
2023-03-25 3:52 ` Jakub Kicinski [this message]
2023-03-27 8:12 ` Donald Hunter
2023-03-24 19:19 ` [PATCH net-next v4 7/7] docs: netlink: document the sub-type attribute property Donald Hunter
2023-03-25 3:57 ` Jakub Kicinski
2023-03-27 8:13 ` Donald Hunter
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=20230324205224.18f31f14@kernel.org \
--to=kuba@kernel.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=donald.hunter@gmail.com \
--cc=donald.hunter@redhat.com \
--cc=edumazet@google.com \
--cc=linux-doc@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).