summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEthan Jackson <ethan@nicira.com>2011-05-19 15:52:54 -0700
committerEthan Jackson <ethan@nicira.com>2011-05-24 15:01:56 -0700
commit903b35164e00e5c5a859fc87aa3547517fc45377 (patch)
tree2ba6194e81ec4d51bf7c9edaaefd7ae9ff685b6e
parent7685755461f2907ac5bc52a89061edf4dade6051 (diff)
downloadopenvswitch-903b35164e00e5c5a859fc87aa3547517fc45377.tar.gz
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 <ethan@nicira.com>
-rw-r--r--xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py11
1 files changed, 10 insertions, 1 deletions
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)