diff mbox

[13/16] ibacm: fix handling of aliased IPoIB devices

Message ID 1395985810-23822-14-git-send-email-sean.hefty@intel.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Hefty, Sean March 28, 2014, 5:50 a.m. UTC
From: Ira Weiny <ira.weiny@intel.com>

ibX:Y devices don't have sysfs files directly.  They use the "base" interface
of ibX.  The ioctl calls however include the full aliased name.

Netlink does not have this problem as the interface name is reported as it
appears in sysfs.

Signed-off-by: Ira Weiny <ira.weiny@intel.com>
---
 src/acm_util.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
diff mbox

Patch

diff --git a/src/acm_util.c b/src/acm_util.c
index c3c5b69..da6d058 100644
--- a/src/acm_util.c
+++ b/src/acm_util.c
@@ -134,6 +134,7 @@  int acm_if_iter_sys(acm_if_iter_cb cb, void *ctx)
 	uint8_t addr_type;
 	uint8_t addr[ACM_MAX_ADDRESS];
 	size_t addr_len;
+	char *alias_sep;
 
 	s = socket(AF_INET6, SOCK_DGRAM, 0);
 	if (!s)
@@ -177,6 +178,12 @@  int acm_if_iter_sys(acm_if_iter_cb cb, void *ctx)
 			continue;
 		}
 
+		acm_log(2, "%s\n", ifr[i].ifr_name);
+
+		alias_sep = strchr(ifr[i].ifr_name, ':');
+		if (alias_sep)
+			*alias_sep = '\0';
+
 		if (!acm_if_is_ib(ifr[i].ifr_name))
 			continue;