diff --git a/daemon/core/nodes/base.py b/daemon/core/nodes/base.py index 1dbdcf53..e1267530 100644 --- a/daemon/core/nodes/base.py +++ b/daemon/core/nodes/base.py @@ -1086,11 +1086,11 @@ class CoreNetworkBase(NodeBase): for netif in self.netifs(sort=True): if not hasattr(netif, "node"): continue - linked_node = netif.node uni = False + linked_node = netif.node if linked_node is None: # two layer-2 switches/hubs linked together via linknet() - if not hasattr(netif, "othernet"): + if not netif.othernet: continue linked_node = netif.othernet if linked_node.id == self.id: diff --git a/daemon/core/nodes/interface.py b/daemon/core/nodes/interface.py index 8235878c..97b494b7 100644 --- a/daemon/core/nodes/interface.py +++ b/daemon/core/nodes/interface.py @@ -51,6 +51,7 @@ class CoreInterface: raise ValueError self.mtu = mtu self.net = None + self.othernet = None self._params = {} self.addrlist = [] self.hwaddr = None diff --git a/daemon/core/nodes/network.py b/daemon/core/nodes/network.py index 17fb4fc2..5f6c635c 100644 --- a/daemon/core/nodes/network.py +++ b/daemon/core/nodes/network.py @@ -580,7 +580,7 @@ class CoreNetwork(CoreNetworkBase): :return: interface the provided network is linked to """ for netif in self.netifs(): - if hasattr(netif, "othernet") and netif.othernet == net: + if netif.othernet == net: return netif return None