[pve-devel] [PATCH v2 common] fix #3153: INotify: adding comment of interface to inet6 section when this is the only section

Lorenz Stechauner l.stechauner at proxmox.com
Fri Jun 25 14:29:37 CEST 2021


Signed-off-by: Lorenz Stechauner <l.stechauner at proxmox.com>
---
changes to v1:
* using delete instead of undef
* added length check for families

 src/PVE/INotify.pm | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm
index 562a243..8cf4b44 100644
--- a/src/PVE/INotify.pm
+++ b/src/PVE/INotify.pm
@@ -1156,6 +1156,10 @@ sub __read_etc_network_interfaces {
 	$d->{method} = 'manual' if !$d->{method};
 	$d->{method6} = 'manual' if !$d->{method6};
 
+	if (my $comments6 = delete $d->{comments6}) {
+	    $d->{comments} = ($d->{comments} // '') . $comments6;
+	}
+
 	$d->{families} ||= ['inet'];
     }
 
@@ -1242,7 +1246,7 @@ sub __interface_to_string {
     my $done = { type => 1, priority => 1, method => 1, active => 1, exists => 1,
 		 comments => 1, autostart => 1, options => 1,
 		 address => 1, netmask => 1, gateway => 1, broadcast => 1,
-		 method6 => 1, families => 1, options6 => 1,
+		 method6 => 1, families => 1, options6 => 1, comments6 => 1,
 		 address6 => 1, netmask6 => 1, gateway6 => 1, broadcast6 => 1, 'uplink-id' => 1 };
 
     if (!$first_block) {
@@ -1733,6 +1737,11 @@ NETWORKDOC
 	    }
 	}
 
+	# if 'inet6' is the only family
+	if (scalar($d->{families}->@*) == 1 && $d->{families}[0] eq 'inet6') {
+	    $d->{comments6} = delete $d->{comments};
+	}
+
 	my $i = 0; # some options should be printed only once
 	$raw .= __interface_to_string($iface, $d, $_, !$i++, $ifupdown2) foreach @{$d->{families}};
     }
-- 
2.30.2






More information about the pve-devel mailing list