]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
support batching of ip route get commands
authorRoopa Prabhu <roopa@cumulusnetworks.com>
Thu, 16 Jul 2015 00:06:36 +0000 (17:06 -0700)
committerStephen Hemminger <shemming@brocade.com>
Mon, 20 Jul 2015 21:55:19 +0000 (14:55 -0700)
This patch replaces exits with returns in
ip route get command handling. This allows batching
of ip route get commands.

$cat route_get_batch.txt
route get 10.0.14.2
route get 12.0.14.2
route get 10.0.14.4

$ip -batch route_get_batch.txt
local 10.0.14.2 dev lo  src 10.0.14.2
    cache <local>
12.0.14.2 via 192.168.0.2 dev eth0  src 192.168.0.15
    cache
10.0.14.4 dev dummy0  src 10.0.14.2
    cache

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
ip/iproute.c

index 41dea8f8b3f852a78728aea3659b7359f203518c..8f49e6289003e706d683e20ecaa8ebd2addff74a 100644 (file)
@@ -1682,15 +1682,15 @@ static int iproute_get(int argc, char **argv)
                req.n.nlmsg_type = RTM_GETROUTE;
 
                if (rtnl_talk(&rth, &req.n, &req.n, sizeof(req)) < 0)
-                       exit(2);
+                       return -2;
        }
 
        if (print_route(NULL, &req.n, (void*)stdout) < 0) {
                fprintf(stderr, "An error :-)\n");
-               exit(1);
+               return -1;
        }
 
-       exit(0);
+       return 0;
 }
 
 static int restore_handler(const struct sockaddr_nl *nl,