From 891f30bf0de4229c1f351493f36edac30634d861 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Wed, 25 Mar 2009 11:18:04 -0700 Subject: [PATCH] (SIGAR-140) interface aliases are valid in sigar_net_interface_config_primary_get --- src/sigar.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/sigar.c b/src/sigar.c index c9904b9d..8e5a703b 100644 --- a/src/sigar.c +++ b/src/sigar.c @@ -1823,19 +1823,23 @@ sigar_net_interface_config_primary_get(sigar_t *sigar, if ((status != SIGAR_OK) || (ifconfig->flags & SIGAR_IFF_LOOPBACK) || - !ifconfig->hwaddr.addr.in || /* no mac address */ - strchr(iflist.data[i], ':')) /* alias */ + !ifconfig->hwaddr.addr.in) /* no mac address */ { continue; } if (!possible_config.flags) { - /* save for later for use if we're not connected to the net */ + /* save for later for use if we're not connected to the net + * or all interfaces are aliases (e.g. solaris zone) + */ memcpy(&possible_config, ifconfig, sizeof(*ifconfig)); } if (!ifconfig->address.addr.in) { continue; /* no ip address */ } + if (strchr(iflist.data[i], ':')) { + continue; /* alias */ + } found = 1; break;