From: Michal Privoznik <mprivozn@redhat.com>
The aim of this internal API is to wrap networkValidate() and it
is meant to be called from our tests.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
src/network/bridge_driver.c | 22 +++++++++++++++++++++-
src/network/bridge_driver_priv.h | 3 +++
2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index e7a4e5e1b7..9636984390 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -2827,6 +2827,17 @@ networkBridgeNameValidate(virNetworkObjList *nets,
}
+/**
+ * networkValidate:
+ * @driver: network driver
+ * @def: network definition
+ *
+ * Validates network definition and fills up blanks.
+ * Callers, but tests, must provide valid @driver to ensure
+ * unique bridge name.
+ *
+ * Returns: 0 on success, -1 otherwise (with error reported).
+ */
static int
networkValidate(virNetworkDriverState *driver,
virNetworkDef *def)
@@ -2852,8 +2863,10 @@ networkValidate(virNetworkDriverState *driver,
case VIR_NETWORK_FORWARD_OPEN:
/* if no bridge name was given in the config, find a name
* unused by any other libvirt networks and assign it.
+ * All callers MUST provide valid @driver, except for tests.
*/
- if (networkBridgeNameValidate(driver->networks, def) < 0)
+ if (driver &&
+ networkBridgeNameValidate(driver->networks, def) < 0)
return -1;
virNetworkSetBridgeMacAddr(def);
@@ -3104,6 +3117,13 @@ networkValidate(virNetworkDriverState *driver,
}
+int
+networkValidateTests(virNetworkDef *def)
+{
+ return networkValidate(NULL, def);
+}
+
+
static virNetworkPtr
networkCreateXMLFlags(virConnectPtr conn,
const char *xml,
diff --git a/src/network/bridge_driver_priv.h b/src/network/bridge_driver_priv.h
index c7d1d8268d..0fdb1d715e 100644
--- a/src/network/bridge_driver_priv.h
+++ b/src/network/bridge_driver_priv.h
@@ -26,3 +26,6 @@ networkDnsmasqConfContents(virNetworkObj *obj,
bool
networkNeedsDnsmasq(const virNetworkDef* def);
+
+int
+networkValidateTests(virNetworkDef *def);
--
2.52.0