commit 9db0071c45951cdbfa31601f4e4164a998c56062 Author: Jiri Pirko jiri@resnulli.us Date: Wed Aug 15 18:50:54 2012 +0200
add team port not by config, but by <slave> element
Signed-off-by: Jiri Pirko jiri@resnulli.us
NetConfig/NetConfigDevice.py | 30 +++++++++++++++++------------- 1 files changed, 17 insertions(+), 13 deletions(-) --- diff --git a/NetConfig/NetConfigDevice.py b/NetConfig/NetConfigDevice.py index af343b2..1e8a9aa 100644 --- a/NetConfig/NetConfigDevice.py +++ b/NetConfig/NetConfigDevice.py @@ -219,19 +219,7 @@ class NetConfigDeviceTeam(NetConfigDeviceGeneric): _pidfile = None _cleanupcmd = "killall -q teamd"
- def _slaves_up(self): - for slaveid in get_slaves(self._netdev): - slavenetdev = self._config[slaveid] - NetConfigDevice(slavenetdev, self._config).up() - - def _slaves_down(self): - for slaveid in get_slaves(self._netdev): - slavenetdev = self._config[slaveid] - NetConfigDevice(slavenetdev, self._config).down() - def configure(self): - self._slaves_down() - teamd_config = get_option(self._netdev, "teamd_config") teamd_config = teamd_config.replace('"', '\"')
@@ -242,12 +230,28 @@ class NetConfigDeviceTeam(NetConfigDeviceGeneric):
self._pidfile = pidfile
+ for slave_id in get_slaves(self._netdev): + self.slave_add(slave_id) + def deconfigure(self): + for slave_id in get_slaves(self._netdev): + self.slave_del(slave_id) + dev_name = self._netdev["name"] pidfile = "/var/run/teamd_%s.pid" % dev_name
exec_cmd("teamd -k -p %s" % pidfile) - self._slaves_up() + + def slave_add(self, slaveid): + dev_name = self._netdev["name"] + port_netdev = self._config[slaveid] + port_name = port_netdev["name"] + NetConfigDevice(port_netdev, self._config).down() + exec_cmd("ip link set dev %s master %s" % (port_name, dev_name)) + + def slave_del(self, slaveid): + port_name = self._config[slaveid]["name"] + exec_cmd("ip link set dev %s nomaster" % (port_name))
type_class_mapping = { "eth": NetConfigDeviceEth,
lnst-developers@lists.fedorahosted.org