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