From dc680ea320f3f0ad2fa1784c1bfc41eb3fb8bdd4 Mon Sep 17 00:00:00 2001 From: Shan Shaji Date: Mon, 16 Mar 2026 16:21:01 +0100 Subject: [PATCH] fix #7329: api: avoid overwriting existing IPv6 config method If the inet6 address family's cidr6/gatway6 values are not present, the interface.method6 values is mutated with `NetworkConfigMethod::Manual` even if the interface.method6 already has a value. For example, if the config method is `auto` then it gets replaced by `Manual` config method. Later, when writing the config file to the interfaces.new file if the config method is manual and if there are no IPv6 specific attributes present, then the inet6 stanza gets skipped. In order to fix the issue update the condition to only set the config method to `::Manual` if there is no value present inside the `method6` property of the interface object. Fixes: https://bugzilla.proxmox.com/show_bug.cgi?id=7329 Signed-off-by: Shan Shaji Reviewed-by: Christian Ebner Tested-by: Christian Ebner Link: https://lore.proxmox.com/20260316152101.207406-3-s.shaji@proxmox.com --- src/api2/node/network.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api2/node/network.rs b/src/api2/node/network.rs index 4ee0231d4..d0a04e59d 100644 --- a/src/api2/node/network.rs +++ b/src/api2/node/network.rs @@ -782,7 +782,7 @@ pub fn update_interface( if interface.cidr6.is_some() || interface.gateway6.is_some() { interface.method6 = Some(NetworkConfigMethod::Static); - } else { + } else if interface.method6.is_none() { interface.method6 = Some(NetworkConfigMethod::Manual); }