On Fri, Nov 8, 2024 at 12:04 PM Jakub Kicinski kuba@kernel.org wrote:
On Fri, 8 Nov 2024 00:53:55 +0800 Xiao Liang wrote:
IMO, this is about driver capability, not about user requests.
The bit is a driver capability, that's fine. But the question was how to achieve backward compatibility. A flag in user request shifts the responsibility of ensuring all services are compatible to whoever spawns the interfaces. Which will probably be some network management daemon.
OK. So I think we can change the driver capability indicator in rtnl_ops to a tristate field, say, "linkns_support". If it is - not supported, then keep the old behavior - supported (vlan, macvlan, etc.), then change to the new behavior - compat-mode (ip_tunnel), default to old behavior and can be changed via an IFLA flag. Is this reasonable?
BTW, I didn't find what's going on with module parameters, is there any documentation?
Not sure if there is documentation, but module params are quite painful to work with. Main reason is that they are global and not namespace aware. Plus developers usually default to making them read only, which means they practically speaking have to be configured at boot.
Understood, thanks.