From: Roopa Prabhu Date: Wed, 3 Feb 2016 00:53:40 +0000 (-0800) Subject: ipmonitor: match user option 'all' before 'all-nsid' X-Git-Tag: v4.5.0~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9390c921acc1b6dfb8c7b8087041c65b54facce;p=thirdparty%2Fiproute2.git ipmonitor: match user option 'all' before 'all-nsid' 'ip monitor all' is broken on older kernels. This patch fixes 'ip monitor all' to match 'all' and not 'all-nsid'. It moves parsing arg 'all-nsid' to after parsing 'all'. Before: $ip monitor all NETLINK_LISTEN_ALL_NSID: Protocol not available After: $ip monitor all [NEIGH]Deleted 10.0.0.1 dev eth1 lladdr c4:54:44:4f:b2:dd STALE Fixes: 449b824ad196 ("ipmonitor: allows to monitor in several netns") Signed-off-by: Roopa Prabhu Acked-by: Nicolas Dichtel --- diff --git a/ip/ipmonitor.c b/ip/ipmonitor.c index 99a237f47..7aeccd21d 100644 --- a/ip/ipmonitor.c +++ b/ip/ipmonitor.c @@ -186,8 +186,6 @@ int do_ipmonitor(int argc, char **argv) file = *argv; } else if (matches(*argv, "label") == 0) { prefix_banner = 1; - } else if (matches(*argv, "all-nsid") == 0) { - listen_all_nsid = 1; } else if (matches(*argv, "link") == 0) { llink=1; groups = 0; @@ -217,6 +215,8 @@ int do_ipmonitor(int argc, char **argv) groups = 0; } else if (strcmp(*argv, "all") == 0) { prefix_banner=1; + } else if (matches(*argv, "all-nsid") == 0) { + listen_all_nsid = 1; } else if (matches(*argv, "help") == 0) { usage(); } else if (strcmp(*argv, "dev") == 0) {