diff --git a/src/ieee1905/topologyd.c b/src/ieee1905/topologyd.c index 94f57028620e8acbf835b9253cfdc9a59d9ebc25..8ab7e7e754afab47218a7b3e6280a259824ba6ab 100644 --- a/src/ieee1905/topologyd.c +++ b/src/ieee1905/topologyd.c @@ -242,6 +242,7 @@ int topology_update_devinfo(struct topologyd_private *priv, struct node *n, stru dbg("%s %d interface nr = %d\n", __func__, __LINE__, devinfo->num_interface); for (j = 0; j < devinfo->num_interface; j++) { struct local_interface *tif; + int ret = 0; ptr += offset; tif = (struct local_interface *)ptr; @@ -252,10 +253,11 @@ int topology_update_devinfo(struct topologyd_private *priv, struct node *n, stru memcpy(n->node_intf[j].interface_id, &tif->macaddr, 6); dbg("|%s:%d| Entry"MACFMT"\n", __func__, __LINE__, MAC2STR(n->node_intf[j].interface_id)); - if (host_is_in_assoclist(priv, tif->macaddr)) + ret = memcmp(tif->macaddr, node->link_hwaddr, 6); + dbg("|%s:%d| alnode link_hwaddr "MACFMT"\n", __func__, __LINE__, MAC2STR(node->link_hwaddr)); + if (host_is_in_assoclist(priv, tif->macaddr) && !ret) is_wifi = true; - /* Here we check so that the host can fill the media type for * ieee1905 node also the interface node can be hidden */