Message ID | 20241210161448.76799-1-donald.hunter@gmail.com |
---|---|
Headers | show |
Series | netlink: specs: add a spec for nl80211 wiphy | expand |
On Tue, Dec 10, 2024 at 04:14:48PM +0000, Donald Hunter wrote: > Add a rudimentary YNL spec for nl80211 that covers get-wiphy, > get-interface and get-protocol-features. > > ./tools/net/ynl/cli.py \ > --spec Documentation/netlink/specs/nl80211.yaml \ > --do get-protocol-features > {'protocol-features': {'split-wiphy-dump'}} > > ./tools/net/ynl/cli.py \ > --spec Documentation/netlink/specs/nl80211.yaml \ > --dump get-wiphy --json '{ "split-wiphy-dump": true }' > > ./tools/net/ynl/cli.py \ > --spec Documentation/netlink/specs/nl80211.yaml \ > --dump get-interface > > Signed-off-by: Donald Hunter <donald.hunter@gmail.com> Hi Donald, Perhaps I'm doing something silly here, or my environment is somehow broken. But with this patch applied I see: make -C tools/net/ynl/ distclean && make -C tools/net/ynl/ ... -e GEN nl80211-user.c Traceback (most recent call last): File "/home/horms/projects/linux/linux/tools/net/ynl/generated/../ynl-gen-c.py", line 3018, in <module> main() File "/home/horms/projects/linux/linux/tools/net/ynl/generated/../ynl-gen-c.py", line 2727, in main parsed = Family(args.spec, exclude_ops) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/horms/projects/linux/linux/tools/net/ynl/generated/../ynl-gen-c.py", line 928, in __init__ super().__init__(file_name, exclude_ops=exclude_ops) File "/home/horms/projects/linux/linux/tools/net/ynl/lib/nlspec.py", line 480, in __init__ elem.resolve() File "/home/horms/projects/linux/linux/tools/net/ynl/generated/../ynl-gen-c.py", line 946, in resolve self.resolve_up(super()) File "/home/horms/projects/linux/linux/tools/net/ynl/lib/nlspec.py", line 53, in resolve_up up.resolve() File "/home/horms/projects/linux/linux/tools/net/ynl/lib/nlspec.py", line 588, in resolve attr_set = self.new_attr_set(elem) ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/horms/projects/linux/linux/tools/net/ynl/generated/../ynl-gen-c.py", line 992, in new_attr_set return AttrSet(self, elem) ^^^^^^^^^^^^^^^^^^^ File "/home/horms/projects/linux/linux/tools/net/ynl/generated/../ynl-gen-c.py", line 824, in __init__ super().__init__(family, yaml) File "/home/horms/projects/linux/linux/tools/net/ynl/lib/nlspec.py", line 215, in __init__ attr = self.new_attr(elem, val) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/horms/projects/linux/linux/tools/net/ynl/generated/../ynl-gen-c.py", line 873, in new_attr raise Exception(f'new_attr: unsupported sub-type {elem["sub-type"]}') Exception: new_attr: unsupported sub-type u32 make[1]: *** [Makefile:37: nl80211-user.c] Error 1
On Wed, 11 Dec 2024 at 21:13, Simon Horman <horms@kernel.org> wrote: > > On Tue, Dec 10, 2024 at 04:14:48PM +0000, Donald Hunter wrote: > > Add a rudimentary YNL spec for nl80211 that covers get-wiphy, > > get-interface and get-protocol-features. > > > > ./tools/net/ynl/cli.py \ > > --spec Documentation/netlink/specs/nl80211.yaml \ > > --do get-protocol-features > > {'protocol-features': {'split-wiphy-dump'}} > > > > ./tools/net/ynl/cli.py \ > > --spec Documentation/netlink/specs/nl80211.yaml \ > > --dump get-wiphy --json '{ "split-wiphy-dump": true }' > > > > ./tools/net/ynl/cli.py \ > > --spec Documentation/netlink/specs/nl80211.yaml \ > > --dump get-interface > > > > Signed-off-by: Donald Hunter <donald.hunter@gmail.com> > > Hi Donald, > > Perhaps I'm doing something silly here, or my environment is somehow > broken. But with this patch applied I see: > > make -C tools/net/ynl/ distclean && make -C tools/net/ynl/ > ... > Exception: new_attr: unsupported sub-type u32 > make[1]: *** [Makefile:37: nl80211-user.c] Error 1 Hi Simon, Thanks for reporting. It was also flagged up on patchwork. My bad. I had a blind spot for checking the C build because the last few specs I have worked on have been netlink-raw which don't have codegen. I'll look at fixing this and any subsequent issues. Thanks, Donald.