Message ID | 20220405134237.16533-4-florent.fourcot@wifirst.fr (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v3,net-next,1/4] rtnetlink: enable alt_ifname for setlink/newlink | expand |
On 05 Apr 15:42, Florent Fourcot wrote: >A request without interface name/interface index/interface group cannot >work. We should return EINVAL > >Signed-off-by: Florent Fourcot <florent.fourcot@wifirst.fr> >Signed-off-by: Brian Baboch <brian.baboch@wifirst.fr> >--- > net/core/rtnetlink.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c >index e93f4058cf08..690324479cf5 100644 >--- a/net/core/rtnetlink.c >+++ b/net/core/rtnetlink.c >@@ -3420,7 +3420,7 @@ static int __rtnl_newlink(struct sk_buff *skb, struct nlmsghdr *nlh, > return rtnl_group_changelink(skb, net, > nla_get_u32(tb[IFLA_GROUP]), > ifm, extack, tb); >- return -ENODEV; >+ return -EINVAL; > } This introduced a regression iproute2->iplink_have_newlink() checks this return value to determine if newlink is supported by kernel, if the returned value is -EINVAL iproute2 falls back to ioctl mode, any value other than -EINVAL or -EOPNOTSUPP should be ok here to not break compatibility with iproute2.
On Thu, Apr 21, 2022 at 8:50 PM Saeed Mahameed <saeed@kernel.org> wrote: > > On 05 Apr 15:42, Florent Fourcot wrote: > >A request without interface name/interface index/interface group cannot > >work. We should return EINVAL > > > >Signed-off-by: Florent Fourcot <florent.fourcot@wifirst.fr> > >Signed-off-by: Brian Baboch <brian.baboch@wifirst.fr> > >--- > > net/core/rtnetlink.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > >diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c > >index e93f4058cf08..690324479cf5 100644 > >--- a/net/core/rtnetlink.c > >+++ b/net/core/rtnetlink.c > >@@ -3420,7 +3420,7 @@ static int __rtnl_newlink(struct sk_buff *skb, struct nlmsghdr *nlh, > > return rtnl_group_changelink(skb, net, > > nla_get_u32(tb[IFLA_GROUP]), > > ifm, extack, tb); > >- return -ENODEV; > >+ return -EINVAL; > > } > > This introduced a regression iproute2->iplink_have_newlink() checks this > return value to determine if newlink is supported by kernel, if the > returned value is -EINVAL iproute2 falls back to ioctl mode, any value > other than -EINVAL or -EOPNOTSUPP should be ok here to not break compatibility > with iproute2. > Yep, but apparently network maintainers are MIA https://patchwork.kernel.org/project/netdevbpf/patch/20220419125151.15589-1-florent.fourcot@wifirst.fr/
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index e93f4058cf08..690324479cf5 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -3420,7 +3420,7 @@ static int __rtnl_newlink(struct sk_buff *skb, struct nlmsghdr *nlh, return rtnl_group_changelink(skb, net, nla_get_u32(tb[IFLA_GROUP]), ifm, extack, tb); - return -ENODEV; + return -EINVAL; } if (tb[IFLA_MAP] || tb[IFLA_PROTINFO])