OSvで複数のNICを初期化する

Support multiple NIC
ソースコードを読んでみたらeth0をdhcpで初期化するとハードコーディングされていたので、何とかしてみた。
で、Cで書いたらC++でやろうよかっこわるいから、って言われてC++で書き直すことに…。

こんな感じでNIC名をイテレートできるようになった。

    osv::for_each_if([] (std::string if_name) {
        if (if_name == "lo0")
            return;

        // Start DHCP by default and wait for an IP
        if (osv::start_if(if_name, "0.0.0.0", "255.255.255.0") != 0 ||
            osv::ifup(if_name) != 0)
            debug("Could not initialize network interface.\n");
    });

割とサクッとマージされました。