diff mbox series

[net-next,02/12] netlink: specs: rt-link: remove the fixed members from attrs

Message ID 20250418021706.1967583-3-kuba@kernel.org (mailing list archive)
State New
Delegated to: Netdev Maintainers
Headers show
Series netlink: specs: rtnetlink: adjust specs for C codegen | expand

Checks

Context Check Description
netdev/series_format success Posting correctly formatted
netdev/tree_selection success Clearly marked for net-next
netdev/ynl success Generated files up to date; no warnings/errors; no diff in generated;
netdev/fixes_present success Fixes tag not required for -next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/build_tools success No tools touched, skip
netdev/cc_maintainers success CCed 6 of 6 maintainers
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 46 lines checked
netdev/build_clang_rust success No Rust files in patch. Skipping build
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
netdev/contest success net-next-2025-04-18--12-00 (tests: 916)

Commit Message

Jakub Kicinski April 18, 2025, 2:16 a.m. UTC
The purpose of the attribute list is to list the attributes
which will be included in a given message to shrink the objects
for families with huge attr spaces. Fixed headers are always
present in their entirety (between netlink header and the attrs)
so there's no point in listing their members. Current C codegen
doesn't expect them and tries to look them up in the attribute space.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 Documentation/netlink/specs/rt-link.yaml | 13 -------------
 1 file changed, 13 deletions(-)

Comments

Donald Hunter April 18, 2025, 10:27 a.m. UTC | #1
Jakub Kicinski <kuba@kernel.org> writes:

> The purpose of the attribute list is to list the attributes
> which will be included in a given message to shrink the objects
> for families with huge attr spaces. Fixed headers are always
> present in their entirety (between netlink header and the attrs)
> so there's no point in listing their members. Current C codegen
> doesn't expect them and tries to look them up in the attribute space.
>
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Reviewed-by: Donald Hunter <donald.hunter@gmail.com>

I think my intent when I first wrote this spec was to list the fixed
header fields that are used or required by each op, not realising the
intended codegen purpose of the attributes list.

I guess we could add usage details to the doc string for each op.

> ---
>  Documentation/netlink/specs/rt-link.yaml | 13 -------------
>  1 file changed, 13 deletions(-)
>
> diff --git a/Documentation/netlink/specs/rt-link.yaml b/Documentation/netlink/specs/rt-link.yaml
> index 726dfa083d14..cb7bacbd3d95 100644
> --- a/Documentation/netlink/specs/rt-link.yaml
> +++ b/Documentation/netlink/specs/rt-link.yaml
> @@ -2367,7 +2367,6 @@ protonum: 0
>          request:
>            value: 16
>            attributes: &link-new-attrs
> -            - ifi-index
>              - ifname
>              - net-ns-pid
>              - net-ns-fd
> @@ -2399,7 +2398,6 @@ protonum: 0
>          request:
>            value: 17
>            attributes:
> -            - ifi-index
>              - ifname
>      -
>        name: getlink
> @@ -2410,7 +2408,6 @@ protonum: 0
>          request:
>            value: 18
>            attributes:
> -            - ifi-index
>              - ifname
>              - alt-ifname
>              - ext-mask
> @@ -2418,11 +2415,6 @@ protonum: 0
>          reply:
>            value: 16
>            attributes: &link-all-attrs
> -            - ifi-family
> -            - ifi-type
> -            - ifi-index
> -            - ifi-flags
> -            - ifi-change
>              - address
>              - broadcast
>              - ifname
> @@ -2515,14 +2507,9 @@ protonum: 0
>        do:
>          request:
>            value: 94
> -          attributes:
> -            - ifindex
>          reply:
>            value: 92
>            attributes: &link-stats-attrs
> -            - family
> -            - ifindex
> -            - filter-mask
>              - link-64
>              - link-xstats
>              - link-xstats-slave
diff mbox series

Patch

diff --git a/Documentation/netlink/specs/rt-link.yaml b/Documentation/netlink/specs/rt-link.yaml
index 726dfa083d14..cb7bacbd3d95 100644
--- a/Documentation/netlink/specs/rt-link.yaml
+++ b/Documentation/netlink/specs/rt-link.yaml
@@ -2367,7 +2367,6 @@  protonum: 0
         request:
           value: 16
           attributes: &link-new-attrs
-            - ifi-index
             - ifname
             - net-ns-pid
             - net-ns-fd
@@ -2399,7 +2398,6 @@  protonum: 0
         request:
           value: 17
           attributes:
-            - ifi-index
             - ifname
     -
       name: getlink
@@ -2410,7 +2408,6 @@  protonum: 0
         request:
           value: 18
           attributes:
-            - ifi-index
             - ifname
             - alt-ifname
             - ext-mask
@@ -2418,11 +2415,6 @@  protonum: 0
         reply:
           value: 16
           attributes: &link-all-attrs
-            - ifi-family
-            - ifi-type
-            - ifi-index
-            - ifi-flags
-            - ifi-change
             - address
             - broadcast
             - ifname
@@ -2515,14 +2507,9 @@  protonum: 0
       do:
         request:
           value: 94
-          attributes:
-            - ifindex
         reply:
           value: 92
           attributes: &link-stats-attrs
-            - family
-            - ifindex
-            - filter-mask
             - link-64
             - link-xstats
             - link-xstats-slave