On Fri, 02 Oct 2020 17:13:28 +0200 Johannes Berg wrote: > On Fri, 2020-10-02 at 08:09 -0700, Jakub Kicinski wrote: > > On Fri, 02 Oct 2020 17:04:11 +0200 Johannes Berg wrote: > > > > > Yeah, that'd work. I'd probably wonder if we shouldn't do > > > > > > > > > > [OP_POLICY] > > > > > [OP] -> (u32, u32) > > > > > > > > > > in a struct with two u32's, since that's quite a bit more compact. > > > > > > > > What do we do if the op doesn't have a dump or do callback? > > > > 0 is a valid policy ID, sadly :( > > > > > > Hm, good point. We could do -1 since that can't ever be reached though. > > > > > > But compactness isn't really that necessary here anyway, so ... > > > > Cool, sounds like a plan. > > > > This series should be good to merge, then. > > I suppose, I thought you wanted to change it to have separate dump/do > policies? Whatever you like there, I don't really care much :)
I just want to make the uAPI future-proof for now. At a quick look ethtool doesn't really accept any attributes but headers for GET requests. DO and DUMP are the same there so it's not a priority for me. > But I can also change my patches later to separately advertise dump/do > policies, and simply always use the same one for now. Right that was what I was thinking. Basically: if ((op.doit && nla_put_u32(skb, CTRL_whatever_DO, idx)) || (op.dumpit && nla_put_u32(skb, CTRL_whatever_DUMP, idx))) goto nla_put_failure; > But this series does conflict with the little bugfix I also sent, could > you please take a look? > > https://lore.kernel.org/netdev/20201002094604.480c760e3c47.I7811da1539351a26cd0e5a10b98a8842cfbc1b55@changeid/ > > I'm not really sure how to handle. Yeah, just noticed that one now :S Dave, are you planning a PR to Linus soon by any chance? The conflict between this series and Johannes's fix would be logically simple to resolve but not trivial :(