5
0
mirror of git://git.proxmox.com/git/pve-network.git synced 2025-01-23 02:04:20 +03:00

zones : tap_plug: add support for disable bridge learning

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
This commit is contained in:
Alexandre Derumier 2021-09-24 10:50:59 +02:00 committed by Thomas Lamprecht
parent afc906a4dc
commit 56a9e2b3f3
4 changed files with 10 additions and 2 deletions

View File

@ -308,7 +308,9 @@ sub tap_plug {
my $vnet = PVE::Network::SDN::Vnets::get_vnet($bridge, 1);
if (!$vnet) { # fallback for classic bridge
PVE::Network::tap_plug($iface, $bridge, $tag, $firewall, $trunks, $rate);
my $interfaces_config = PVE::INotify::read_file('interfaces');
my $disablelearning = 1 if $interfaces_config->{ifaces}->{$bridge} && $interfaces_config->{ifaces}->{$bridge}->{'bridge-disable-mac-learning'};
PVE::Network::tap_plug($iface, $bridge, $tag, $firewall, $trunks, $rate, $disablelearning);
return;
}

View File

@ -227,7 +227,7 @@ sub tap_plug {
my $vlan_aware = PVE::Tools::file_read_firstline("/sys/class/net/$vnetid/bridge/vlan_filtering");
die "vm vlans are not allowed on vnet $vnetid" if !$vlan_aware && ($tag || $trunks);
PVE::Network::tap_plug($iface, $vnetid, $tag, $firewall, $trunks, $rate);
PVE::Network::tap_plug($iface, $vnetid, $tag, $firewall, $trunks, $rate, $plugin_config->{'bridge-disable-mac-learning'});
}
#helper

View File

@ -39,6 +39,7 @@ sub options {
nodes => { optional => 1},
'tag' => { optional => 0 },
'bridge' => { optional => 0 },
'bridge-disable-mac-learning' => { optional => 1 },
'mtu' => { optional => 1 },
'vlan-protocol' => { optional => 1 },
dns => { optional => 1 },

View File

@ -25,6 +25,10 @@ sub properties {
'bridge' => {
type => 'string',
},
'bridge-disable-mac-learning' => {
type => 'boolean',
description => "Disable auto mac learning.",
}
};
}
@ -33,6 +37,7 @@ sub options {
return {
nodes => { optional => 1},
'bridge' => { optional => 0 },
'bridge-disable-mac-learning' => { optional => 1 },
mtu => { optional => 1 },
dns => { optional => 1 },
reversedns => { optional => 1 },