On 9/5/24 17:05, Jakub Kicinski wrote:
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.

I added the 'node_' prefix in the list to stress that such attributes belong to the node.

In the yaml/command line will be only 'handle', 'parent'.

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.

Ok, the code complexity should not change much. Side question: currently the node() operation allows specifying all the b/w related attributes for the 'node' shaper, should I keep them? (and move them in the main yaml scope)

Thanks,

Paolo

Reply via email to