[libvirt] [PATCH 2/2] qemuDomainChangeNet: Forbid changing MTU

Michal Privoznik posted 2 patches 7 years, 11 months ago
[libvirt] [PATCH 2/2] qemuDomainChangeNet: Forbid changing MTU
Posted by Michal Privoznik 7 years, 11 months ago
https://bugzilla.redhat.com/show_bug.cgi?id=1447618

Currently, any attempt to change MTU on an interface that is
plugged to a running domain is silently ignored. We should either
do what's asked or error out. Well, we can update the host side
of the interface, but we cannot change 'host_mtu' attribute for
the virtio-net device. Therefore we have to error out.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
 src/qemu/qemu_hotplug.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 8066acae3..d46956d98 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -3138,6 +3138,12 @@ qemuDomainChangeNet(virQEMUDriverPtr driver,
     /* vlan can be modified, and will be checked later */
     /* linkstate can be modified */
 
+    if (olddev->mtu != newdev->mtu) {
+        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
+                       _("cannot modify MTU"));
+        goto cleanup;
+    }
+
     /* allocate new actual device to compare to old - we will need to
      * free it if we fail for any reason
      */
-- 
2.13.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 2/2] qemuDomainChangeNet: Forbid changing MTU
Posted by Laine Stump 7 years, 11 months ago
On 06/08/2017 07:50 AM, Michal Privoznik wrote:
> https://bugzilla.redhat.com/show_bug.cgi?id=1447618
> 
> Currently, any attempt to change MTU on an interface that is
> plugged to a running domain is silently ignored. We should either
> do what's asked or error out. Well, we can update the host side
> of the interface, but we cannot change 'host_mtu' attribute for
> the virtio-net device. Therefore we have to error out.

Interesting conundrum. There's nothing to stop a user from intervening
directly in the guest and changing the guest's MTU from there. So if we
allowed changing the mtu of the tap device this way, at least it would
be *possible* to modify the MTU of an active interface. But if we did
that, then behavior would be inconsistent between startup/hotplug time
and runtime.

So for now at least, ACK. Better to not allow something than to have it
behave inconsistently.


> 
> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>

Reviewed-by: Laine Stump <laine@laine.org>

> ---
>  src/qemu/qemu_hotplug.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
> index 8066acae3..d46956d98 100644
> --- a/src/qemu/qemu_hotplug.c
> +++ b/src/qemu/qemu_hotplug.c
> @@ -3138,6 +3138,12 @@ qemuDomainChangeNet(virQEMUDriverPtr driver,
>      /* vlan can be modified, and will be checked later */
>      /* linkstate can be modified */
>  
> +    if (olddev->mtu != newdev->mtu) {
> +        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
> +                       _("cannot modify MTU"));
> +        goto cleanup;
> +    }
> +
>      /* allocate new actual device to compare to old - we will need to
>       * free it if we fail for any reason
>       */
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list