fix: Fallback to check the interface state, specifically freebsd benefits

of this.
This commit is contained in:
Harm Weites 2013-12-14 12:50:01 +00:00
parent e4f89dcdc6
commit 4943536a14

View File

@ -21,6 +21,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import cloudinit.util as util
import re
from prettytable import PrettyTable
@ -34,13 +35,17 @@ def netdev_info(empty=""):
continue
if line[0] not in ("\t", " "):
curdev = line.split()[0]
# TODO: up/down detection fails on FreeBSD
devs[curdev] = {"up": False}
for field in fields:
devs[curdev][field] = ""
toks = line.lower().strip().split()
if toks[0] == "up":
devs[curdev]['up'] = True
# If the output of ifconfig doesn't contain the required info in the
# obvious place, use a regex filter to be sure.
elif len(toks) > 1:
if re.search("flags=\d+<up,", toks[1]):
devs[curdev]['up'] = True
fieldpost = ""
if toks[0] == "inet6":