> -----Original Message----- > From: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > Sent: Friday, January 20, 2023 1:11 AM > To: Keller, Jacob E <jacob.e.keller@xxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; > davem@xxxxxxxxxxxxx > Cc: netdev@xxxxxxxxxxxxxxx; edumazet@xxxxxxxxxx; pabeni@xxxxxxxxxx; > robh@xxxxxxxxxx; stephen@xxxxxxxxxxxxxxxxxx; ecree.xilinx@xxxxxxxxx; > sdf@xxxxxxxxxx; f.fainelli@xxxxxxxxx; fw@xxxxxxxxx; linux- > doc@xxxxxxxxxxxxxxx; razor@xxxxxxxxxxxxx; nicolas.dichtel@xxxxxxxxx; Bagas > Sanjaya <bagasdotme@xxxxxxxxx> > Subject: Re: [PATCH net-next v3 1/8] docs: add more netlink docs (incl. spec docs) > > On Thu, 2023-01-19 at 16:23 -0800, Jacob Keller wrote: > > > > Per op policy is important because otherwise it can become impossible to > > safely extend a new attribute to commands over multiple kernel releases. > > > > Yeah. I think I just realised that my issues is more with the fact that > per-op policy implies per-op attribute (identifier/number/name)space, > and if you don't have that you have attribute duplication etc. > > Anyway, it just feels superfluous, not really dangerous I guess :) > > Johannes I think we want per-family attribute and op IDs, but still per-op policy that indicates which attributes are supported for a command. This way you can re-use attributes for multiple commands, and they should behave the same semantics for those commands which support them, but the kernel can properly express which attributes are valid for a given command using the per-op policy. I know some commands do use separate attributes for each command, or separate attribute space for sub-attributes in nests, but I am not sure how widespread that is. Devlink uses a single space for all its attributes. Thanks, Jake