From 63c934f2f9daeb743416c0f7a440adf72690a3fc Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Thu, 11 Dec 2008 16:57:42 +0100 Subject: [PATCH] Create unique device name and object path --- plugins/rtnllink.c | 8 +++++--- plugins/wifi.c | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/rtnllink.c b/plugins/rtnllink.c index da5a588..3fbcedb 100644 --- a/plugins/rtnllink.c +++ b/plugins/rtnllink.c @@ -48,7 +48,7 @@ static void rtnllink_newlink(unsigned short type, int index, struct connman_element *device; GSList *list; gboolean exists = FALSE; - gchar *name; + gchar *name, *devname; DBG("index %d", index); @@ -64,7 +64,8 @@ static void rtnllink_newlink(unsigned short type, int index, if (exists == TRUE) return; - name = inet_index2name(index); + name = inet_index2ident(index, "dev_"); + devname = inet_index2name(index); if (type == ARPHRD_ETHER) { char bridge_path[PATH_MAX], wimax_path[PATH_MAX]; @@ -78,7 +79,7 @@ static void rtnllink_newlink(unsigned short type, int index, "/sys/class/net/%s/wimax", name); memset(&iwr, 0, sizeof(iwr)); - strncpy(iwr.ifr_ifrn.ifrn_name, name, IFNAMSIZ); + strncpy(iwr.ifr_ifrn.ifrn_name, devname, IFNAMSIZ); sk = socket(PF_INET, SOCK_DGRAM, 0); @@ -107,6 +108,7 @@ static void rtnllink_newlink(unsigned short type, int index, device->index = index; device->name = name; + device->devname = devname; connman_element_register(device, NULL); device_list = g_slist_append(device_list, device); diff --git a/plugins/wifi.c b/plugins/wifi.c index b0ee4ae..93312ca 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -356,7 +356,7 @@ static void wifi_newlink(unsigned short type, int index, struct connman_element *device; GSList *list; gboolean exists = FALSE; - gchar *name; + gchar *name, *devname; struct iwreq iwr; int sk; @@ -365,10 +365,11 @@ static void wifi_newlink(unsigned short type, int index, if (type != ARPHRD_ETHER) return; - name = inet_index2name(index); + name = inet_index2ident(index, "dev_"); + devname = inet_index2name(index); memset(&iwr, 0, sizeof(iwr)); - strncpy(iwr.ifr_ifrn.ifrn_name, name, IFNAMSIZ); + strncpy(iwr.ifr_ifrn.ifrn_name, devname, IFNAMSIZ); sk = socket(PF_INET, SOCK_DGRAM, 0); @@ -400,6 +401,7 @@ static void wifi_newlink(unsigned short type, int index, device->index = index; device->name = name; + device->devname = devname; connman_element_register(device, NULL); device_list = g_slist_append(device_list, device); -- 1.7.9.5