diff options
author | Jakub Kicinski <kuba@kernel.org> | 2025-05-13 15:20:11 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2025-05-15 15:42:26 -0700 |
commit | 87948df5af4bb27effb0a187abaf54f41a54fe35 (patch) | |
tree | eaccda7eb9b45e52f499e538798345601bcad204 /tools/net/ynl/pyynl/ynl_gen_c.py | |
parent | 1119e5519dcdb7b3527f5d85accf9c7aa02b2b28 (diff) |
tools: ynl-gen: array-nest: support arrays of nests
TC needs arrays of nests, but just a put for now.
Fairly straightforward addition.
Link: https://patch.msgid.link/20250513222011.844106-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/net/ynl/pyynl/ynl_gen_c.py')
-rwxr-xr-x | tools/net/ynl/pyynl/ynl_gen_c.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/net/ynl/pyynl/ynl_gen_c.py b/tools/net/ynl/pyynl/ynl_gen_c.py index 68dfb2cd13af..9e143520e2f7 100755 --- a/tools/net/ynl/pyynl/ynl_gen_c.py +++ b/tools/net/ynl/pyynl/ynl_gen_c.py @@ -825,6 +825,9 @@ class TypeArrayNest(Type): elif self.sub_type == 'binary' and 'exact-len' in self.checks: ri.cw.p(f'for (i = 0; i < {var}->_count.{self.c_name}; i++)') ri.cw.p(f"ynl_attr_put(nlh, i, {var}->{self.c_name}[i], {self.checks['exact-len']});") + elif self.sub_type == 'nest': + ri.cw.p(f'for (i = 0; i < {var}->_count.{self.c_name}; i++)') + ri.cw.p(f"{self.nested_render_name}_put(nlh, i, &{var}->{self.c_name}[i]);") else: raise Exception(f"Put for ArrayNest sub-type {self.attr['sub-type']} not supported, yet") ri.cw.p('ynl_attr_nest_end(nlh, array);') |