Re: [RFC PATCH v4 2/4] dpll: Add DPLL framework base functions
From: Jiri Pirko <jiri@resnulli.us>
Date: 2022-12-08 16:33:37
Also in:
linux-arm-kernel, linux-clk
Thu, Dec 08, 2022 at 05:19:55PM CET, kuba@kernel.org wrote:
On Thu, 8 Dec 2022 09:14:32 +0100 Jiri Pirko wrote:quoted
quoted
Running DPLL control in a namespace / container. I mean - I generally think netns is overused, but yes, it's what containers use, so I think someone may want to develop their timer controller SW in as a container?The netdevices to control are already in the container. Isn't that enough?For DPLL config we need to delegate the permission. So we'd need a "is net admin in namespace X" check, no?
See below.
quoted
quoted
quoted
Thinking about it a bit more, DPLL itself has no network notion. The special case is SyncE pin, which is linked to netdevice. Just a small part of dpll device. And the netdevice already has notion of netns. Isn't that enough?So we can't use devlink or netdev. Hm. So what do we do? Make DPLLs only visible in init_net? And require init_net admin? And when someone comes asking we add an explicit "move to netns" command to DPLL?Well, as I wrote. The only part needed to be network namespaced are the netdev related pins. And netdevices have netns support. So my question again, why is that not enough?For config which goes thru rtnl, yes, but we also need a caps check for: + DPLL_CMD_DEVICE_SET, + DPLL_CMD_PIN_SET,
For any synce pin manipulation over dpll netlink, we can use the netns check of the linked netdev. This is the netns aware leg of the dpll, it should be checked for. I can't imagine practically havind the whole dpll instance netns aware. Omitting the fact that it really has no meaning for non-synce pins, what would be the behaviour when for example pin 1 is in netns a, pin 2 in netns b and dpll itself in netns c?