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 |
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 --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
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(-)