Patch 7dc2bccab0ee37ac28096b8fcdc390a679a15841 introduces a regression with systemd 241. In that revision, systemd-networkd fails to pass the required flags early enough. This appears to be addressed in later versions of systemd, but for users of version 241 where systemd-networkd nonetheless worked with earlier kernels, the strict check introduced by the patch causes a regression in behaviour.
This patch converts the failure to supply the required flags from an error into a warning. With this, systemd-networkd version 241 once again is able to bring up the link, albeit not quite as intended and thereby with a warning in the kernel log. CC: Maxim Mikityanskiy <[email protected]> CC: David S. Miller <[email protected]> CC: Alexey Kuznetsov <[email protected]> CC: Hideaki YOSHIFUJI <[email protected]> Signed-off-by: Jonas Bonn <[email protected]> --- net/ipv6/addrconf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 081bb517e40d..e2477bf92e12 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -5696,7 +5696,8 @@ static int inet6_validate_link_af(const struct net_device *dev, return err; if (!tb[IFLA_INET6_TOKEN] && !tb[IFLA_INET6_ADDR_GEN_MODE]) - return -EINVAL; + net_warn_ratelimited( + "required link flag omitted: TOKEN/ADDR_GEN_MODE\n"); if (tb[IFLA_INET6_ADDR_GEN_MODE]) { u8 mode = nla_get_u8(tb[IFLA_INET6_ADDR_GEN_MODE]); -- 2.20.1

