On Thu, 5 Sep 2024 16:51:00 +0200 Paolo Abeni wrote: > On 9/5/24 03:03, Jakub Kicinski wrote: > > On Wed, 4 Sep 2024 15:53:34 +0200 Paolo Abeni wrote: > >> + - > >> + name: node > >> + type: nest > >> + nested-attributes: node-info > >> + doc: | > >> + Describes the node shaper for a @group operation. > >> + Differently from @leaves and @shaper allow specifying > >> + the shaper parent handle, too. > > > > Parent handle is inside node scope? Why are leaves outside and parent > > inside? Both should be at the same scope, preferably main scope. > > The group() op receives as arguments, in the main scope: > > ifindex > node > leaves > > 'parent' is a nested attribute for 'node', exactly as 'handle'. We need > to specify both to identify the 'node' itself (via the 'handle') and to > specify where in the hierarchy the 'node' will be located (via the > 'parent'). Do I read correctly that you would prefer: > > ifindex > node_handle > node_parent > leaves
I don't see example uses in the cover letter or the test so there's a good chance I'm missing something, but... why node_parent? The only thing you need to know about the parent is its handle, so just "parent", right? Also why node_handle? Just "handle", and other attrs of the node can live in the main scope. Unless you have a strong reason to do this to simplify the code - "from netlink perspective" it looks like unnecessary nesting. The operation arguments describe the node, there's no need to nest things in another layer.
