xenserver: Compute correct physical PIFs for VLANs on bonds.
authorBen Pfaff <blp@nicira.com>
Thu, 20 Aug 2009 22:39:01 +0000 (15:39 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 20 Aug 2009 22:39:01 +0000 (15:39 -0700)
Otherwise the bond device is considered the physical PIF of a VLAN-on-bond
PIF, and various bad stuff happens.

xenserver/opt_xensource_libexec_interface-reconfigure

index 24b160fef32551b08329dab7bd8e359199d1bb95..301251f7623a640d5a9d0e3cbfc2a8c5c6341d1e 100755 (executable)
@@ -467,7 +467,7 @@ For a non-VLAN, non-bond master PIF, the PIF is its own physical device PIF.
     pifrec = db.get_pif_record(pif)
 
     if pifrec['VLAN'] != '-1':
-        return [get_vlan_slave_of_pif(pif)]
+        return get_physdev_pifs(get_vlan_slave_of_pif(pif))
     elif len(pifrec['bond_master_of']) != 0:
         return get_bond_slaves_of_pif(pif)
     else: