daemon: refactored InterfaceData.get_addresses to InterfaceData.get_ips

This commit is contained in:
Blake Harnden 2020-06-19 11:11:45 -07:00
parent 20feea8f12
commit 9e4429fbbc
5 changed files with 19 additions and 21 deletions

View file

@ -213,11 +213,9 @@ class EmaneLinkMonitor:
for node in nodes: for node in nodes:
for iface in node.get_ifaces(): for iface in node.get_ifaces():
if isinstance(iface.net, CtrlNet): if isinstance(iface.net, CtrlNet):
address = None
ip4 = iface.get_ip4() ip4 = iface.get_ip4()
if ip4: if ip4:
address = str(ip4.ip) address = str(ip4.ip)
if address:
addresses.append(address) addresses.append(address)
break break
return addresses return addresses

View file

@ -142,18 +142,18 @@ class InterfaceData:
ip6: str = None ip6: str = None
ip6_mask: int = None ip6_mask: int = None
def get_addresses(self) -> List[str]: def get_ips(self) -> List[str]:
""" """
Returns a list of ip4 and ip6 addresses when present. Returns a list of ip4 and ip6 addresses when present.
:return: list of addresses :return: list of ip addresses
""" """
addresses = [] ips = []
if self.ip4 and self.ip4_mask: if self.ip4 and self.ip4_mask:
addresses.append(f"{self.ip4}/{self.ip4_mask}") ips.append(f"{self.ip4}/{self.ip4_mask}")
if self.ip6 and self.ip6_mask: if self.ip6 and self.ip6_mask:
addresses.append(f"{self.ip6}/{self.ip6_mask}") ips.append(f"{self.ip6}/{self.ip6_mask}")
return addresses return ips
@dataclass @dataclass

View file

@ -811,7 +811,7 @@ class CoreNode(CoreNodeBase):
:param iface_data: interface data for new interface :param iface_data: interface data for new interface
:return: interface index :return: interface index
""" """
addresses = iface_data.get_addresses() ips = iface_data.get_ips()
with self.lock: with self.lock:
# TODO: emane specific code # TODO: emane specific code
if net.is_emane is True: if net.is_emane is True:
@ -823,15 +823,15 @@ class CoreNode(CoreNodeBase):
self.attachnet(iface_id, net) self.attachnet(iface_id, net)
iface = self.get_iface(iface_id) iface = self.get_iface(iface_id)
iface.set_mac(iface_data.mac) iface.set_mac(iface_data.mac)
for address in addresses: for ip in ips:
iface.add_ip(address) iface.add_ip(ip)
else: else:
iface_id = self.newveth(iface_data.id, iface_data.name) iface_id = self.newveth(iface_data.id, iface_data.name)
self.attachnet(iface_id, net) self.attachnet(iface_id, net)
if iface_data.mac: if iface_data.mac:
self.set_mac(iface_id, iface_data.mac) self.set_mac(iface_id, iface_data.mac)
for address in addresses: for ip in ips:
self.add_ip(iface_id, address) self.add_ip(iface_id, ip)
self.ifup(iface_id) self.ifup(iface_id)
iface = self.get_iface(iface_id) iface = self.get_iface(iface_id)
return iface return iface

View file

@ -697,9 +697,9 @@ class GreTapBridge(CoreNetwork):
:return: nothing :return: nothing
""" """
self.grekey = key self.grekey = key
addresses = iface_data.get_addresses() ips = iface_data.get_ips()
if addresses: if ips:
self.add_ips(addresses) self.add_ips(ips)
class CtrlNet(CoreNetwork): class CtrlNet(CoreNetwork):

View file

@ -156,7 +156,7 @@ class PhysicalNode(CoreNodeBase):
self, net: CoreNetworkBase, iface_data: InterfaceData self, net: CoreNetworkBase, iface_data: InterfaceData
) -> CoreInterface: ) -> CoreInterface:
logging.info("creating interface") logging.info("creating interface")
addresses = iface_data.get_addresses() ips = iface_data.get_ips()
iface_id = iface_data.id iface_id = iface_data.id
if iface_id is None: if iface_id is None:
iface_id = self.next_iface_id() iface_id = self.next_iface_id()
@ -167,12 +167,12 @@ class PhysicalNode(CoreNodeBase):
# this is reached when this node is linked to a network node # this is reached when this node is linked to a network node
# tunnel to net not built yet, so build it now and adopt it # tunnel to net not built yet, so build it now and adopt it
_, remote_tap = self.session.distributed.create_gre_tunnel(net, self.server) _, remote_tap = self.session.distributed.create_gre_tunnel(net, self.server)
self.adopt_iface(remote_tap, iface_id, iface_data.mac, addresses) self.adopt_iface(remote_tap, iface_id, iface_data.mac, ips)
return remote_tap return remote_tap
else: else:
# this is reached when configuring services (self.up=False) # this is reached when configuring services (self.up=False)
iface = GreTap(node=self, name=name, session=self.session, start=False) iface = GreTap(node=self, name=name, session=self.session, start=False)
self.adopt_iface(iface, iface_id, iface_data.mac, addresses) self.adopt_iface(iface, iface_id, iface_data.mac, ips)
return iface return iface
def privatedir(self, path: str) -> None: def privatedir(self, path: str) -> None:
@ -316,8 +316,8 @@ class Rj45Node(CoreNodeBase):
self.iface_id = iface_id self.iface_id = iface_id
if net is not None: if net is not None:
self.iface.attachnet(net) self.iface.attachnet(net)
for addr in iface_data.get_addresses(): for ip in iface_data.get_ips():
self.add_ip(addr) self.add_ip(ip)
return self.iface return self.iface
def delete_iface(self, iface_id: int) -> None: def delete_iface(self, iface_id: int) -> None: