From 9e499fec0ca6e2940717bce45388c59960f9bdc3 Mon Sep 17 00:00:00 2001 From: Marco Capitani Date: Mon, 26 Mar 2018 16:52:30 +0200 Subject: model: make DIFs scriptable DIFs instances can now be referenced inside .rsb files. Also changed Node.set_link_state function to accept a DIF as opposed to an IPCP, since IPCPs are not given a name nor mentioned is user scripts. --- rumba/model.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'rumba/model.py') diff --git a/rumba/model.py b/rumba/model.py index 20f8215..e12bddd 100644 --- a/rumba/model.py +++ b/rumba/model.py @@ -145,6 +145,10 @@ class ShimUDPDIF(DIF): # @link_speed [int] Speed of the Ethernet network, in Mbps # class ShimEthDIF(DIF): + + def get_e_id(self): + return "ShimEthDIF." + self.name + def __init__(self, name, members=None, link_speed=0): DIF.__init__(self, name, members) self.link_speed = int(link_speed) @@ -360,7 +364,8 @@ class Node(object): def fetch_file(self, path, destination, sudo=False): self.executor.fetch_files(self, path, destination, sudo) - def set_link_state(self, ipcp, state): + def set_link_state(self, dif, state): + ipcp = self.get_ipcp_by_dif(dif) self.execute_command('ip link set dev ' + ipcp.ifname + ' ' + state, as_root=True) -- cgit v1.2.3