X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=src%2FPVE%2FINotify.pm;h=0136f326bb89d93c407f4ad55ed01992a347c609;hp=a4de45a7355ccb15bc04dc2554fbb28c63047caf;hb=d34d73932843428b974cdda647de36358fb0f62e;hpb=beedabb4aba8083f2ebe9f29c51b19bf1d4149fd diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm index a4de45a..0136f32 100644 --- a/src/PVE/INotify.pm +++ b/src/PVE/INotify.pm @@ -1113,21 +1113,22 @@ sub __read_etc_network_interfaces { # map address and netmask to cidr if ($d->{address}) { - if ($d->{netmask} && $d->{netmask} =~ m/^\d+$/) { # e.g. netmask 20 - $d->{address} = $d->{address} . "/" . $d->{netmask}; - } elsif ($d->{netmask} && - (my $cidr = PVE::JSONSchema::get_netmask_bits($d->{netmask}))) { # e.g. netmask 255.255.255.0 - $d->{address} = $d->{address} . "/" . $cidr; + if ($d->{netmask}) { + if ($d->{netmask} =~ m/^\d+$/) { # e.g. netmask 20 + $d->{address} = $d->{address} . "/" . $d->{netmask}; + } elsif (my $mask = PVE::JSONSchema::get_netmask_bits($d->{netmask})) { + $d->{address} = $d->{address} . "/" . $mask; + } } - #for api compatibility - $d->{cidr} = $d->{address} + # for api compatibility + $d->{cidr} = $d->{address}; } # map address6 and netmask6 to cidr6 if ($d->{address6}) { $d->{address6} .= "/" . $d->{netmask6} if $d->{address6} !~ m!^(.*)/(\d+)$! && $d->{netmask6}; - #for api compatibility - $d->{cidr6} = $d->{address6} + # for api compatibility + $d->{cidr6} = $d->{address6}; } $d->{method} = 'manual' if !$d->{method}; @@ -1310,7 +1311,12 @@ sub __interface_to_string { $done->{ovs_type} = 1; if (my $bridge = $d->{ovs_bridge}) { - $raw = "allow-$bridge $iface\n$raw"; + if ($ifupdown2) { + $raw = "auto $iface\n$raw"; + } else { + $raw = "allow-$bridge $iface\n$raw"; + } + $raw .= "\tovs_bridge $bridge\n"; $done->{ovs_bridge} = 1; } @@ -1652,7 +1658,7 @@ NETWORKDOC $printed->{$iface} = 1; if ($d->{autostart}) { - if ($d->{type} eq 'OVSBridge') { + if ($d->{type} eq 'OVSBridge' && !$ifupdown2) { # cannot use 'auto' for OVS, would add race with systemd ifup@.service $raw .= "allow-ovs $iface\n"; } else {