Thread (45 messages) flat view 45 messages, 7 authors, 2012-07-31

RE: [PATCH 10/17] Tools: hv: Gather ipv[4,6] gateway information

From: KY Srinivasan <kys@microsoft.com>
Date: 2012-07-24 22:13:43
Also in: lkml, virtualization

-----Original Message-----
From: Dan Williams [mailto:dcbw@redhat.com]
Sent: Tuesday, July 24, 2012 2:37 PM
To: Stephen Hemminger
Cc: Olaf Hering; KY Srinivasan; gregkh@linuxfoundation.org; linux-
kernel@vger.kernel.org; devel@linuxdriverproject.org;
virtualization@lists.osdl.org; apw@canonical.com; netdev@vger.kernel.org;
ben@decadent.org.uk
Subject: Re: [PATCH 10/17] Tools: hv: Gather ipv[4,6] gateway information

On Tue, 2012-07-24 at 09:56 -0700, Stephen Hemminger wrote:
quoted
On Tue, 24 Jul 2012 18:53:59 +0200
Olaf Hering [off-list ref] wrote:
quoted
On Tue, Jul 24, Stephen Hemminger wrote:
quoted
On Tue, 24 Jul 2012 09:01:34 -0700
"K. Y. Srinivasan" [off-list ref] wrote:
quoted
+	memset(cmd, 0, sizeof(cmd));
+	strcat(cmd, "/sbin/ip -f inet  route | grep -w ");
+	strcat(cmd, if_name);
+	strcat(cmd, " | awk '/default/ {print $3 }'");

Much simpler method:

ip route show match 0/0
This also has the benefit that ip is not called with absolute path, now
that distros move binaries around.

Olaf
It is also not hard to do the same thing with a little function
using libmnl
Yeah seriously, netlink anyone?  You'll even get nicer error reporting
that way.
While I will be the first admit that using C API is always better (in C code),
in this particular instance I am not so sure. All I am doing is retrieving information
on default gateways. If there is an error, that is ok and this won't be reported
back to the host. Using the ip command significantly simplifies the code here.

Regards,

K. Y  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help