From bf328bfcda2e59dc0957270e3bafb2970f91dde0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= Date: Tue, 14 Nov 2023 11:13:47 -0500 Subject: [PATCH] incusd/device: The MTU can always be controlled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In VMs, the MTU can be set through the agent, so it should always be allowed as a user configurable property. Reported-at: https://discuss.linuxcontainers.org/t/incus-and-sriov-issue-error-no-value-found-in-sriov/18273/3 Signed-off-by: Stéphane Graber --- internal/server/device/nic_physical.go | 3 ++- internal/server/device/nic_sriov.go | 6 +----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/internal/server/device/nic_physical.go b/internal/server/device/nic_physical.go index e193c4ee10f..72b9a4fa1c7 100644 --- a/internal/server/device/nic_physical.go +++ b/internal/server/device/nic_physical.go @@ -40,10 +40,11 @@ func (d *nicPhysical) validateConfig(instConf instance.ConfigReader) error { "name", "boot.priority", "gvrp", + "mtu", } if instConf.Type() == instancetype.Container || instConf.Type() == instancetype.Any { - optionalFields = append(optionalFields, "mtu", "hwaddr", "vlan") + optionalFields = append(optionalFields, "hwaddr", "vlan") } if d.config["network"] != "" { diff --git a/internal/server/device/nic_sriov.go b/internal/server/device/nic_sriov.go index 5649d9af7ab..d3da283fbf3 100644 --- a/internal/server/device/nic_sriov.go +++ b/internal/server/device/nic_sriov.go @@ -41,6 +41,7 @@ func (d *nicSRIOV) validateConfig(instConf instance.ConfigReader) error { "network", "parent", "hwaddr", + "mtu", "vlan", "security.mac_filtering", "boot.priority", @@ -91,11 +92,6 @@ func (d *nicSRIOV) validateConfig(instConf instance.ConfigReader) error { requiredFields = append(requiredFields, "parent") } - // For VMs only NIC properties that can be specified on the parent's VF settings are controllable. - if instConf.Type() == instancetype.Container || instConf.Type() == instancetype.Any { - optionalFields = append(optionalFields, "mtu") - } - err := d.config.Validate(nicValidationRules(requiredFields, optionalFields, instConf)) if err != nil { return err