diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c index e646351f0403fb933d126576df5247305cd7e4bf..540c9319f8563c767d9853b7877fb80e714a95c4 100644 --- a/src/conf/interface_conf.c +++ b/src/conf/interface_conf.c @@ -128,12 +128,9 @@ virInterfaceDefParseStartMode(virConnectPtr conn, virInterfaceDefPtr def, char *tmp; tmp = virXPathString(conn, "string(./start/@mode)", ctxt); - if (tmp == NULL) { - virInterfaceReportError(conn, VIR_ERR_XML_ERROR, - "%s", _("interface misses the start mode attribute")); - return(-1); - } - if (STREQ(tmp, "onboot")) + if (tmp == NULL) + def->startmode = VIR_INTERFACE_START_UNSPECIFIED; + else if (STREQ(tmp, "onboot")) def->startmode = VIR_INTERFACE_START_ONBOOT; else if (STREQ(tmp, "hotplug")) def->startmode = VIR_INTERFACE_START_HOTPLUG; @@ -1039,6 +1036,8 @@ virInterfaceStartmodeDefFormat(virConnectPtr conn, virBufferPtr buf, enum virInterfaceStartMode startmode) { const char *mode; switch (startmode) { + case VIR_INTERFACE_START_UNSPECIFIED: + return 0; case VIR_INTERFACE_START_NONE: mode = "none"; break; diff --git a/src/conf/interface_conf.h b/src/conf/interface_conf.h index 92543fcafdd0844d696ccbb500dd269d5f038423..a73136f9e920f5157e61fa97bdd74b4da08fad43 100644 --- a/src/conf/interface_conf.h +++ b/src/conf/interface_conf.h @@ -48,7 +48,8 @@ VIR_ENUM_DECL(virInterface) /* types of start mode */ enum virInterfaceStartMode { - VIR_INTERFACE_START_NONE = 0, /* not defined */ + VIR_INTERFACE_START_UNSPECIFIED = 0, /* not given in config */ + VIR_INTERFACE_START_NONE, /* specified as not defined */ VIR_INTERFACE_START_ONBOOT, /* startup at boot */ VIR_INTERFACE_START_HOTPLUG, /* on hotplug */ };