]>
Commit | Line | Data |
---|---|---|
990fc5e2 | 1 | #!/usr/bin/perl |
1e3baf05 DM |
2 | |
3 | use strict; | |
990fc5e2 | 4 | use warnings; |
1e3baf05 DM |
5 | use PVE::QemuServer; |
6 | use PVE::Tools qw(run_command); | |
9f03d50d | 7 | use PVE::Network; |
1e3baf05 DM |
8 | |
9 | my $iface = shift; | |
10 | ||
11 | die "no interface specified\n" if !$iface; | |
12 | ||
13 | die "got strange interface name '$iface'\n" | |
14 | if $iface !~ m/^tap(\d+)i(\d+)$/; | |
15 | ||
16 | my $vmid = $1; | |
17 | my $netid = "net$2"; | |
18 | ||
d691e6d3 DM |
19 | my $migratedfrom = $ENV{PVE_MIGRATED_FROM}; |
20 | ||
21 | my $conf = PVE::QemuServer::load_config($vmid, $migratedfrom); | |
1e3baf05 DM |
22 | |
23 | die "unable to get network config '$netid'\n" | |
24 | if !$conf->{$netid}; | |
25 | ||
26 | my $net = PVE::QemuServer::parse_net($conf->{$netid}); | |
27 | die "unable to parse network config '$netid'\n" if !$net; | |
28 | ||
56ccc25d | 29 | PVE::Network::tap_create($iface, $net->{bridge}); |
1e3baf05 | 30 | |
041dd2d8 | 31 | PVE::Network::tap_rate_limit($iface, $net->{rate}) if $net->{rate}; |
3c720aea | 32 | |
2dd4aa4c | 33 | PVE::Network::tap_plug($iface, $net->{bridge}, $net->{tag}, $net->{firewall}); |
1e3baf05 DM |
34 | |
35 | exit 0; |