From: Ethan Jackson Date: Thu, 19 May 2011 22:52:54 +0000 (-0700) Subject: xenserver: Pull slave MTU from bond record. X-Git-Tag: v1.2.0~321 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=c64540e3fe43a83bbe8687c53fb7fdec95b94195;p=sliver-openvswitch.git xenserver: Pull slave MTU from bond record. The MTU of the fake bond interface and the slaves participating in a bond should all agree. The correct long term solution to this problem is to remove the fake bond interface altogether. Until that's possible, we simply set the MTU of the slaves. Signed-off-by: Ethan Jackson --- diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py index 697df5f10..10c6bd20f 100644 --- a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py +++ b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py @@ -571,6 +571,12 @@ class DatapathVswitch(Datapath): # when they are added, and a network device that is down # always reports "no carrier". physical_devices = datapath_get_physical_pifs(self._dp) + + if pif_is_bond(self._dp): + brec = db().get_pif_record(self._dp) + bond_mtu = mtu_setting(brec['network'], "PIF", brec['other_config']) + else: + bond_mtu = None for p in physical_devices: prec = db().get_pif_record(p) @@ -578,7 +584,10 @@ class DatapathVswitch(Datapath): dev = pif_netdev_name(p) - mtu = mtu_setting(prec['network'], "PIF", oc) + if bond_mtu: + mtu = bond_mtu + else: + mtu = mtu_setting(prec['network'], "PIF", oc) netdev_up(dev, mtu)