- /* update the name and we're done */
- talloc_free(if_info->name);
- if_info->name = talloc_strdup(if_info, name);
- discover_server_notify_system_info(server, sysinfo);
+ /* Found an existing interface. Notify clients on any name or
+ * link changes */
+ if (strcmp(if_info->name, name)) {
+ talloc_free(if_info->name);
+ if_info->name = talloc_strdup(if_info, name);
+ changed = true;
+ }
+
+ if (if_info->link != link) {
+ if_info->link = link;
+ changed = true;
+ }
+
+ if (changed)
+ discover_server_notify_system_info(server, sysinfo);
+