]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
ipmonitor: match user option 'all' before 'all-nsid'
authorRoopa Prabhu <roopa@cumulusnetworks.com>
Wed, 3 Feb 2016 00:53:40 +0000 (16:53 -0800)
committerStephen Hemminger <shemming@brocade.com>
Fri, 5 Feb 2016 00:45:02 +0000 (11:45 +1100)
'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 <roopa@cumulusnetworks.com>
Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
ip/ipmonitor.c

index 99a237f479241406219ae76a424ab6b50119918a..7aeccd21db3c696f2e7b31695a4fc6f9ced7eed6 100644 (file)
@@ -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) {