On Tue, Jan 08, 2019 at 05:15:48PM +0100, Michal Privoznik wrote:
On 12/24/18 3:58 PM, Daniel P. Berrangé wrote:
> The port allocation APIs are currently called unconditionally for all
> types of NIC, but (mostly) only do anything for NICs with type=network.
>
> The exception is the port allocate API which does some validation even
> for NICs with type!=network. Relying on this validation is flawed,
> however, since the network driver may not even be installed. IOW virt
> drivers must not delegate validation to the network driver for NICs
> with type != network.
>
> This change allows us to report errors when the virtual network driver
> is not registered.
>
> Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
> ---
> src/conf/domain_conf.c | 12 +++----
> src/libxl/libxl_domain.c | 6 ++--
> src/libxl/libxl_driver.c | 9 +++--
> src/lxc/lxc_driver.c | 6 ++--
> src/lxc/lxc_process.c | 10 ++++--
> src/network/bridge_driver.c | 66 ++++++++++++++++++-------------------
> src/qemu/qemu_hotplug.c | 17 ++++++----
> src/qemu/qemu_process.c | 9 +++--
> 8 files changed, 76 insertions(+), 59 deletions(-)
>
> diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
> index 33c806630b..7a6b40d9b8 100644
> --- a/src/lxc/lxc_process.c
> +++ b/src/lxc/lxc_process.c
> @@ -547,6 +548,10 @@ static int virLXCProcessSetupInterfaces(virConnectPtr conn,
> if (virLXCProcessValidateInterface(net) < 0)
> goto cleanup;
>
> + if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK &&
> + virDomainNetAllocateActualDevice(def, net) < 0)
> + goto cleanup;
> +
> if (virDomainNetAllocateActualDevice(def, net) < 0)
> goto cleanup;
This looks fishy. Even though you fix it later in the series.
Well spotted, that is clearly nonsense !
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|