]> git.ozlabs.org Git - petitboot/blobdiff - discover/network.c
discover/network: Ignore tun devices
[petitboot] / discover / network.c
index c072eece9627408ac7bbebab2d227d968a8f9fbf..2de96ec55d1f061fc301dc9b36fe717c8b3c0a5b 100644 (file)
@@ -398,8 +398,11 @@ static void configure_interface(struct network *network,
                        interface->state = IFSTATE_NEW;
                else if (!link)
                        interface->state = IFSTATE_UP_WAITING_LINK;
-               else
+               else {
+                       pb_debug("network: skipping configured interface %s\n",
+                                       interface->name);
                        return;
+               }
        }
 
        /* always up the lookback, no other handling required */
@@ -451,6 +454,8 @@ static void configure_interface(struct network *network,
        } else if (config->method == CONFIG_METHOD_STATIC) {
                configure_interface_static(network, interface, config);
        }
+
+       interface->state = IFSTATE_CONFIGURED;
 }
 
 static int network_handle_nlmsg(struct network *network, struct nlmsghdr *nlmsg)
@@ -510,6 +515,9 @@ static int network_handle_nlmsg(struct network *network, struct nlmsghdr *nlmsg)
                return 0;
        }
 
+       /* ignore the default tun device in some environments */
+       if (strncmp(ifname, "tun", strlen("tun")) == 0)
+               return 0;
 
        interface = find_interface_by_ifindex(network, info->ifi_index);
        if (!interface) {