]> git.proxmox.com Git - pve-common.git/blobdiff - src/PVE/INotify.pm
PVE::CLIHandler::print_text_table - add option $sort_key
[pve-common.git] / src / PVE / INotify.pm
index dcdbaa49121d7a77fd86350db736f88346d57674..0b9ea4adc3e078a47369cd97bc6c271a45f16870 100644 (file)
@@ -896,7 +896,7 @@ sub __read_etc_network_interfaces {
                        } else {
                            $d->{$id} = 'off';
                        }
-                   } elsif ($id eq 'bridge_fd') {
+                   } elsif ($id eq 'bridge_fd' || $id eq 'bridge_vids') {
                        $d->{$id} = $value;
                    } elsif ($id eq 'bridge_vlan_aware') {
                        $d->{$id} = 1;
@@ -1053,7 +1053,7 @@ sub __read_etc_network_interfaces {
 }
 
 sub __interface_to_string {
-    my ($iface, $d, $family, $first_block) = @_;
+    my ($iface, $d, $family, $first_block, $ifupdown2) = @_;
 
     (my $suffix = $family) =~ s/^inet//;
 
@@ -1096,6 +1096,7 @@ sub __interface_to_string {
            $raw .= "\tbridge-vids $v\n";
        }
        $done->{bridge_vlan_aware} = 1;
+       $done->{bridge_vids} = 1;
     
     } elsif ($d->{type} eq 'bond') {
 
@@ -1162,7 +1163,13 @@ sub __interface_to_string {
        $done->{ovs_type} = 1;
 
        if ($d->{ovs_bridge}) {
-           $raw = "allow-$d->{ovs_bridge} $iface\n$raw";
+
+           if ($ifupdown2) {
+               $raw = "auto $iface\n$raw";
+           } else {
+               $raw = "allow-$d->{ovs_bridge} $iface\n$raw";
+           }
+
            $raw .= "\tovs_bridge $d->{ovs_bridge}\n";
            $done->{ovs_bridge} = 1;
        }
@@ -1195,11 +1202,12 @@ sub __interface_to_string {
 
 sub write_etc_network_interfaces {
     my ($filename, $fh, $config) = @_;
-    my $raw = __write_etc_network_interfaces($config);
+    my $ifupdown2 = -e '/usr/share/ifupdown2';
+    my $raw = __write_etc_network_interfaces($config, $ifupdown2);
     PVE::Tools::safe_print($filename, $fh, $raw);
 }
 sub __write_etc_network_interfaces {
-    my ($config) = @_;
+    my ($config, $ifupdown2) = @_;
 
     my $ifaces = $config->{ifaces};
     my @options = @{$config->{options}};
@@ -1359,7 +1367,7 @@ NETWORKDOC
        $printed->{$iface} = 1;
        $raw .= "auto $iface\n" if $d->{autostart};
        my $i = 0; # some options should be printed only once
-       $raw .= __interface_to_string($iface, $d, $_, !$i++) foreach @{$d->{families}};
+       $raw .= __interface_to_string($iface, $d, $_, !$i++, $ifupdown2) foreach @{$d->{families}};
     }
 
     $raw .= $_->[1] . "\n" foreach @options;