Thread (3 messages) flat view 3 messages, 2 authors, 2014-04-04
STALE4512d

[Patch iproute2] ipaddress: do not add ifa_flags when not necessary

From: Cong Wang <hidden>
Date: 2014-04-04 06:05:11
Subsystem: the rest · Maintainer: Linus Torvalds

commit 37c9b94ed21d5779acc23d89a4 (add support for extended ifa_flags)
introduced a regression:

	# ./ip/ip addr add 192.168.0.1/24 dev eth0
	RTNETLINK answers: Invalid argument

This is due to old kernels don't support IFA_FLAGS flag, it should be skipped
if we don't use this feature at all.

Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Cong Wang <redacted>

---
diff --git a/ip/ipaddress.c b/ip/ipaddress.c
index 14d1720..71ae8f3 100644
--- a/ip/ipaddress.c
+++ b/ip/ipaddress.c
@@ -1398,8 +1398,10 @@ static int ipaddr_modify(int cmd, int flags, int argc, char **argv)
 		}
 		argc--; argv++;
 	}
-	req.ifa.ifa_flags = ifa_flags;
-	addattr32(&req.n, sizeof(req), IFA_FLAGS, ifa_flags);
+	if (ifa_flags) {
+		req.ifa.ifa_flags = ifa_flags;
+		addattr32(&req.n, sizeof(req), IFA_FLAGS, ifa_flags);
+	}
 
 	if (d == NULL) {
 		fprintf(stderr, "Not enough information: \"dev\" argument is required.\n");
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help