5
0
mirror of git://git.proxmox.com/git/pve-common.git synced 2024-12-22 21:33:47 +03:00

Inotify : add check_bond

verify than bond slaves exist && type is eth
This commit is contained in:
Alexandre Derumier 2018-07-05 02:56:32 +02:00 committed by Wolfgang Bumiller
parent 9a052564e1
commit 0115696f6a
2 changed files with 53 additions and 0 deletions

View File

@ -1319,6 +1319,21 @@ sub __write_etc_network_interfaces {
} }
} }
# check bond
foreach my $iface (keys %$ifaces) {
my $d = $ifaces->{$iface};
if ($d->{type} eq 'bond' && $d->{slaves}) {
foreach my $p (split (/\s+/, $d->{slaves})) {
my $n = $ifaces->{$p};
die "bond '$iface' - unable to find slave '$p'\n"
if !$n;
die "bond '$iface' - wrong interface type on slave '$p' " .
"('$n->{type}' != 'eth')\n" if $n->{type} ne 'eth';
}
}
}
# check vxlan # check vxlan
my $vxlans = {}; my $vxlans = {};
foreach my $iface (keys %$ifaces) { foreach my $iface (keys %$ifaces) {

View File

@ -24,6 +24,31 @@ $config->{ifaces}->{eth1} = {
autostart => 1 autostart => 1
}; };
$config->{ifaces}->{eth2} = {
type => 'eth',
method => 'manual',
families => ['inet'],
autostart => 1
};
$config->{ifaces}->{eth3} = {
type => 'eth',
method => 'manual',
families => ['inet'],
autostart => 1
};
$config->{ifaces}->{bond0} = {
type => 'bond',
slaves => 'eth2 eth3',
bond_mode => '802.3ad',
bond_xmit_hash_policy => 'layer3+4',
bond_miimon => 100,
method => 'manual',
families => ['inet'],
autostart => 1
};
$config->{ifaces}->{vmbr1} = { $config->{ifaces}->{vmbr1} = {
type => 'bridge', type => 'bridge',
method => 'manual', method => 'manual',
@ -103,6 +128,19 @@ iface eth1 inet static
netmask $nm netmask $nm
gateway $gw gateway $gw
auto eth2
iface eth2 inet manual
auto eth3
iface eth3 inet manual
auto bond0
iface bond0 inet manual
bond-slaves eth2 eth3
bond-miimon 100
bond-mode 802.3ad
bond-xmit-hash-policy layer3+4
auto vmbr0 auto vmbr0
iface vmbr0 inet static iface vmbr0 inet static
address 10.0.0.2 address 10.0.0.2