[pve-devel] [PATCH pve-container 1/5] setup/debian: avoid writing multiple auto lines
Wolfgang Bumiller
w.bumiller at proxmox.com
Fri Oct 16 08:31:58 CEST 2015
---
src/PVE/LXC/Setup/Debian.pm | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/PVE/LXC/Setup/Debian.pm b/src/PVE/LXC/Setup/Debian.pm
index 819a284..752d670 100644
--- a/src/PVE/LXC/Setup/Debian.pm
+++ b/src/PVE/LXC/Setup/Debian.pm
@@ -113,6 +113,7 @@ sub setup_network {
my $section;
+ my $done_auto = {};
my $done_v4_hash = {};
my $done_v6_hash = {};
@@ -123,11 +124,14 @@ sub setup_network {
my $net = $networks->{$section->{ifname}};
+ if ($new && !$done_auto->{$section->{ifname}}) {
+ $interfaces .= "auto $section->{ifname}\n";
+ $done_auto->{$section->{ifname}} = 1;
+ }
+
if ($section->{type} eq 'ipv4') {
$done_v4_hash->{$section->{ifname}} = 1;
- $interfaces .= "auto $section->{ifname}\n" if $new;
-
if ($net->{address} =~ /^(dhcp|manual)$/) {
$interfaces .= "iface $section->{ifname} inet $1\n";
} elsif ($net->{address}) {
@@ -200,9 +204,17 @@ sub setup_network {
$section = { type => 'ipv6', ifname => $ifname, attr => []};
next;
}
+ # Handle 'auto'
+ if ($line =~ m/^\s*auto\s*(.*)$/) {
+ foreach my $iface (split(/\s+/, $1)) {
+ $done_auto->{$iface} = 1;
+ }
+ &$print_section();
+ $interfaces .= "$line\n";
+ next;
+ }
# Handle other section delimiters:
if ($line =~ m/^\s*(?:mapping\s
- |auto\s
|allow-
|source\s
|source-directory\s
--
2.1.4
More information about the pve-devel
mailing list