]> git.proxmox.com Git - pve-common.git/blobdiff - data/PVE/Network.pm
bump version for Debian Jessie
[pve-common.git] / data / PVE / Network.pm
index 47933a9439828db11bf9aca2da8fa386443127e6..00639f62331d8de1440f3ec25c9c4051e8bf9d06 100644 (file)
@@ -66,7 +66,7 @@ my $read_bridge_mtu = sub {
 };
 
 my $parse_tap_devive_name = sub {
-    my ($iface) = @_;
+    my ($iface, $noerr) = @_;
 
     my ($vmid, $devid);
 
@@ -77,7 +77,8 @@ my $parse_tap_devive_name = sub {
        $vmid = $1;
        $devid = $2;
     } else {
-       die "wrong interface name $iface";
+       return undef if $noerr;
+       die "can't create firewall bridge for random interface name '$iface'\n";
     }
 
     return ($vmid, $devid);
@@ -87,6 +88,7 @@ my $compute_fwbr_names = sub {
     my ($vmid, $devid) = @_;
 
     my $fwbr = "fwbr${vmid}i${devid}";
+    # Note: the firewall use 'fwln+' to filter traffic to VMs
     my $vethfw = "fwln${vmid}i${devid}";
     my $vethfwpeer = "fwpr${vmid}p${devid}";
     my $ovsintport = "fwln${vmid}o${devid}";
@@ -182,6 +184,7 @@ my $create_firewall_bridge_ovs = sub {
     &$bridge_add_interface($fwbr, $iface);
 
     &$ovs_bridge_add_port($bridge, $ovsintport, $tag, 1);
+    &$activate_interface($ovsintport);
 
     # set the same mtu for ovs int port
     PVE::Tools::run_command("/sbin/ifconfig $ovsintport mtu $bridgemtu");
@@ -192,7 +195,8 @@ my $create_firewall_bridge_ovs = sub {
 my $cleanup_firewall_bridge = sub {
     my ($iface) = @_;
 
-    my ($vmid, $devid) = &$parse_tap_devive_name($iface);
+    my ($vmid, $devid) = &$parse_tap_devive_name($iface, 1);
+    return if !defined($vmid);  
     my ($fwbr, $vethfw, $vethfwpeer, $ovsintport) = &$compute_fwbr_names($vmid, $devid);
 
     # cleanup old port config from any openvswitch bridge