Subject: Re: [patch net-next v2 10/11] devlink: introduce dump selector attr and use it for per-instance dumps

From: Jakub Kicinski <[email-masked]>
Date: Mon, 31 Jul 2023 10:03:41 -0700

On Mon, 31 Jul 2023 14:47:08 +0200 Jiri Pirko wrote:
> >Why not declare a fully nested policy with just the two attrs?  
> 
> Not sure I follow. But the nest under DEVLINK_ATTR_DUMP_SELECTOR has
> its own policy, generated by devlink_nl_dump_selector_policy_init(). I
> did it this way instead of separate policy array for 2 reasons:
> 1) We don't have duplicate and possibly conflicting policies for devlink
>    root and selector
> 2) It is easy for specific object type to pass attrs that are included
>    in the policy initialization (see the health reporter extension later
>    in this patchset). There are couple of object to benefit from this,
>    for example "sb".
> 3) It is I think a bit nicer for specific object type to pass array of
>    attrs, instead of a policy array that would be exported from netlink.c
> 
> If you insist on separate policy arrays, I can do it though.

IMO the contents of the series do not justify the complexity.

> I had it like that initially, I just decided to go this way for the 3 reasons
> listed above.
> 
> >Also - do you know of any userspace which would pass garbage attrs 
> >to the dumps? Do we really need to accept all attributes, or can
> >we trim the dump policies to what's actually supported?  
> 
> That's what this patch is doing. It only accepts what the kernel
> understands. It gives the object types (as for example health reporter)
> option to extend the attr set to accept them into selectors as well, if
> they know how to handle them.

I'm talking about the "outer" policy, the level at which
DEVLINK_ATTR_DUMP_SELECTOR is defined.