diff mbox

[net-next,iproute2] support batching of ip route get commands

Message ID 1437005196-8914-1-git-send-email-roopa@cumulusnetworks.com
State Accepted, archived
Delegated to: stephen hemminger
Headers show

Commit Message

Roopa Prabhu July 16, 2015, 12:06 a.m. UTC
From: Roopa Prabhu <roopa@cumulusnetworks.com>

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 |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Stephen Hemminger July 20, 2015, 9:56 p.m. UTC | #1
On Wed, 15 Jul 2015 17:06:36 -0700
Roopa Prabhu <roopa@cumulusnetworks.com> wrote:

> From: Roopa Prabhu <roopa@cumulusnetworks.com>
> 
> 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>

Looks good and simple, applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/ip/iproute.c b/ip/iproute.c
index 41dea8f..8f49e62 100644
--- a/ip/iproute.c
+++ b/ip/iproute.c
@@ -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,