mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-12 01:20:14 +00:00
tools: ynl-gen: generate nested array policies
This patch adds support for NLA_POLICY_NESTED_ARRAY() policies.
Example spec (from future wireguard.yaml):
-
name: wgpeer
attributes:
-
name: allowedips
type: indexed-array
sub-type: nest
nested-attributes: wgallowedip
yields NLA_POLICY_NESTED_ARRAY(wireguard_wgallowedip_nl_policy).
This doesn't change any currently generated code, as it isn't
used in any specs currently used for generating code.
Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Link: https://patch.msgid.link/20250915144301.725949-3-ast@fiberby.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
3ff5258b97
commit
d0bdfe36d7
@ -815,6 +815,11 @@ class TypeArrayNest(Type):
|
||||
f'unsigned int n_{self.c_name}']
|
||||
return super().arg_member(ri)
|
||||
|
||||
def _attr_policy(self, policy):
|
||||
if self.attr['sub-type'] == 'nest':
|
||||
return f'NLA_POLICY_NESTED_ARRAY({self.nested_render_name}_nl_policy)'
|
||||
return super()._attr_policy(policy)
|
||||
|
||||
def _attr_typol(self):
|
||||
if self.attr['sub-type'] in scalars:
|
||||
return f'.type = YNL_PT_U{c_upper(self.sub_type[1:])}, '
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user