Exemple #1
0
 def getNodeAddressesOnPrefix(self, prefix, node_id=None, state=None):
     addrs = self.getNodeAddresses(node_id, state)
     res = []
     for addr in addrs:
         if IP.prefixMatchAddress(prefix, addr):
             res.append(addr)
     return res
Exemple #2
0
 def getNodeWeaveIPAddress(self, node_id=None, state=None):
     weave_global_prefix = self.getFabricGlobalPrefix(state)
     if weave_global_prefix is None:
         return None
     node_addresses = self.getNodeAddresses(node_id, state)
     if node_addresses == []:
         return None
     for addr in node_addresses:
         if IP.prefixMatchAddress(weave_global_prefix, addr):
             return addr
     return None
Exemple #3
0
    def getNodeAddrMatchingPrefix(self, node_id, interface, prefix):
        """Each interface may have multiple addresses, this function will get addresses based on interface and prefix.

        Args:
           node_id (str): A string containing the node_id, example: "cloud", "BorderRouter"
           interface (str): A string containing interface id, example: "wpan0", "wlan0"
           prefix (str): A string containing an IP prefix, example: "10.0.1"

        Returns:
           addresses_matchPrefix: A string list containing IP addresses
        """
        addresses = self.getNodeInterfaceAddresses(interface, node_id)
        addresses_matchPrefix = []
        for address in addresses:
            if IP.prefixMatchAddress(prefix, address):
                addresses_matchPrefix.append(address)
        return addresses_matchPrefix