]> git.proxmox.com Git - pve-common.git/blobdiff - src/PVE/Network.pm
bump version to 8.2.1
[pve-common.git] / src / PVE / Network.pm
index d1d2e5ed5c64985d774f9307f59e76e5a2e57154..a4f5ba969fe18c6fe0dfe5a77b904860277d0d00 100644 (file)
@@ -210,8 +210,8 @@ my $cond_create_bridge = sub {
 
 sub disable_ipv6 {
     my ($iface) = @_;
-    return if !-d '/proc/sys/net/ipv6'; # ipv6 might be completely disabled
     my $file = "/proc/sys/net/ipv6/conf/$iface/disable_ipv6";
+    return if !-e $file; # ipv6 might be completely disabled
     open(my $fh, '>', $file) or die "failed to open $file for writing: $!\n";
     print {$fh} "1\n" or die "failed to disable link-local ipv6 for $iface\n";
     close($fh);
@@ -620,6 +620,9 @@ sub activate_bridge_vlan {
            iface_create($bridgevlan, 'bridge');
        }
 
+       my $bridgemtu = read_bridge_mtu($bridge);
+       eval { run_command(['/sbin/ip', 'link', 'set', $bridgevlan, 'mtu', $bridgemtu]) };
+
        # for each physical interface (eth or bridge) bind them to bridge vlan
        foreach my $iface (@ifaces) {
            activate_bridge_vlan_slave($bridgevlan, $iface, $tag);
@@ -737,8 +740,8 @@ sub get_local_ip {
 
     my $all = { v4 => {}, v6 => {} }; # hash to avoid duplicates and group by type
 
-    my $ifaces = PVE::INotify::read_file('interfaces', 1)->{data}->{ifaces};
-    for my $if (values $ifaces->%*) {
+    my $interaces_cfg = PVE::INotify::read_file('interfaces', 1) || {};
+    for my $if (values $interaces_cfg->{data}->{ifaces}->%*) {
        next if $if->{type} eq 'loopback' || (!defined($if->{address}) && !defined($if->{address6}));
        my ($v4, $v6) = ($if->{address}, $if->{address6});