]>
git.proxmox.com Git - vzctl.git/blob - debian/vznetaddbr
5 use PVE
::Tools
qw(run_command);
10 die "missing vmid parameter" if !$vmid;
13 die "missing iface parameter" if !$iface;
15 my $bridgevlanf = $ARGV[3];
16 die "missing bridge parameter" if !$bridgevlanf;
18 my $conf = PVE
::OpenVZ
::load_config
($vmid);
21 if (defined ($conf->{netif
}) && $conf->{netif
}->{value
}) {
22 $ifaces = PVE
::OpenVZ
::parse_netif
($conf->{netif
}->{value
}, $vmid);
25 my $oldbridgevlanf = undef;
28 foreach my $ifname (sort keys %$ifaces) {
30 if($ifaces->{$ifname}->{host_ifname
} eq $iface){
31 $oldbridgevlanf = $ifaces->{$ifname}->{bridge
};
40 if($bridgevlanf =~ m/(vmbr(\d+))(v(\d+))?(f)?/){
46 die "missing bridge parameter" if !$bridge;
49 if($bridgevlanf ne $oldbridgevlanf){
51 PVE
::Network
::tap_unplug
($iface);
54 if (-d
"/sys/class/net/$iface") {
56 my $bridgemtu = PVE
::Tools
::file_read_firstline
("/sys/class/net/$bridge/mtu");
57 die "bridge '$bridge' does not exist\n" if !$bridgemtu;
58 #avoid insecure dependency;
59 ($bridgemtu) = $bridgemtu =~ /(\d+)/;
61 PVE
::Tools
::run_command
("/sbin/ip link set dev $iface up mtu $bridgemtu");
62 PVE
::Tools
::run_command
("/sbin/ip addr add 0.0.0.0/0 dev $iface");
63 PVE
::ProcFSTools
::write_proc_entry
("/proc/sys/net/ipv4/conf/$iface/proxy_arp", "1");
64 PVE
::ProcFSTools
::write_proc_entry
("/proc/sys/net/ipv4/conf/$iface/forwarding", "1");
65 PVE
::Network
::tap_plug
($iface, $bridge, $tag, $firewall);