From 66e529f579f45351828fc82d6ba2629cc6eb3ddd Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Thu, 25 Oct 2007 19:46:29 +0200 Subject: [PATCH] iproute 2.6.23 incompatibility Arkadiusz Miskiewicz wrote: > People are reporting that >> ip link set multicast on dev eth0 (Invalid argument) >> no longer works when using iproute 2.6.23 on kernel 2.6.21. >> >> On my testing machine it also fails: >> # ./ip link set eth0 multicast on >> RTNETLINK answers: Invalid argument It seems it fails to properly detect that your kernel is missing RTM_NEWLINK support. Apparently the reason is that the kernels I tested with return a different error in this situation. Signed-off-by: Patrick McHardy Signed-off-by: Stephen Hemminger --- ip/iplink.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/ip/iplink.c b/ip/iplink.c index 8e0ed2a..f28f91c 100644 --- a/ip/iplink.c +++ b/ip/iplink.c @@ -107,7 +107,8 @@ static int accept_msg(const struct sockaddr_nl *who, { struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(n); - if (n->nlmsg_type == NLMSG_ERROR && err->error == -EOPNOTSUPP) + if (n->nlmsg_type == NLMSG_ERROR && + (err->error == -EOPNOTSUPP || err->error == -EINVAL)) have_rtnl_newlink = 0; else have_rtnl_newlink = 1; -- 1.5.4.4.GIT