Public Member Functions | |
def | __contains__ |
def | __eq__ |
def | __ge__ |
def | __getitem__ |
def | __gt__ |
def | __hash__ |
def | __init__ |
def | __iter__ |
def | __le__ |
def | __lt__ |
def | __ne__ |
def | __repr__ |
def | __str__ |
def | address_exclude |
def | broadcast |
def | compare_networks |
def | hostmask |
def | iter_subnets |
def | iterhosts |
def | network |
def | numhosts |
def | overlaps |
def | prefixlen |
def | subnet |
def | supernet |
def | version |
def | with_hostmask |
def | with_netmask |
def | with_prefixlen |
Public Attributes | |
network | |
Static Public Attributes | |
AddressExclude = address_exclude | |
CompareNetworks = compare_networks | |
Contains = __contains__ | |
Subnet = subnet | |
Supernet = supernet | |
Private Member Functions | |
def | _get_networks_key |
def | _ip_int_from_prefix |
def | _ip_string_from_prefix |
def | _prefix_from_ip_int |
Private Attributes | |
_cache | |
_prefixlen | |
_version |
A generic IP object. This IP class contains the version independent methods which are used by networks.
def multi_interface_roam.ipaddr._BaseNet.__init__ | ( | self, | |
address | |||
) |
def multi_interface_roam.ipaddr._BaseNet.__contains__ | ( | self, | |
other | |||
) |
def multi_interface_roam.ipaddr._BaseNet.__eq__ | ( | self, | |
other | |||
) |
def multi_interface_roam.ipaddr._BaseNet.__ge__ | ( | self, | |
other | |||
) |
def multi_interface_roam.ipaddr._BaseNet.__getitem__ | ( | self, | |
n | |||
) |
def multi_interface_roam.ipaddr._BaseNet.__gt__ | ( | self, | |
other | |||
) |
def multi_interface_roam.ipaddr._BaseNet.__hash__ | ( | self | ) |
def multi_interface_roam.ipaddr._BaseNet.__iter__ | ( | self | ) |
def multi_interface_roam.ipaddr._BaseNet.__le__ | ( | self, | |
other | |||
) |
def multi_interface_roam.ipaddr._BaseNet.__lt__ | ( | self, | |
other | |||
) |
def multi_interface_roam.ipaddr._BaseNet.__ne__ | ( | self, | |
other | |||
) |
def multi_interface_roam.ipaddr._BaseNet.__repr__ | ( | self | ) |
def multi_interface_roam.ipaddr._BaseNet.__str__ | ( | self | ) |
def multi_interface_roam.ipaddr._BaseNet._get_networks_key | ( | self | ) | [private] |
def multi_interface_roam.ipaddr._BaseNet._ip_int_from_prefix | ( | self, | |
prefixlen = None |
|||
) | [private] |
def multi_interface_roam.ipaddr._BaseNet._ip_string_from_prefix | ( | self, | |
prefixlen = None |
|||
) | [private] |
def multi_interface_roam.ipaddr._BaseNet._prefix_from_ip_int | ( | self, | |
ip_int, | |||
mask = 32 |
|||
) | [private] |
def multi_interface_roam.ipaddr._BaseNet.address_exclude | ( | self, | |
other | |||
) |
Remove an address from a larger block. For example: addr1 = IP('10.1.1.0/24') addr2 = IP('10.1.1.0/26') addr1.address_exclude(addr2) = [IP('10.1.1.64/26'), IP('10.1.1.128/25')] or IPv6: addr1 = IP('::1/32') addr2 = IP('::1/128') addr1.address_exclude(addr2) = [IP('::0/128'), IP('::2/127'), IP('::4/126'), IP('::8/125'), ... IP('0:0:8000::/33')] Args: other: An IP object of the same type. Returns: A sorted list of IP objects addresses which is self minus other. Raises: TypeError: If self and other are of difffering address versions. ValueError: If other is not completely contained by self.
def multi_interface_roam.ipaddr._BaseNet.broadcast | ( | self | ) |
def multi_interface_roam.ipaddr._BaseNet.compare_networks | ( | self, | |
other | |||
) |
Compare two IP objects. This is only concerned about the comparison of the integer representation of the network addresses. This means that the host bits aren't considered at all in this method. If you want to compare host bits, you can easily enough do a 'HostA._ip < HostB._ip' Args: other: An IP object. Returns: If the IP versions of self and other are the same, returns: -1 if self < other: eg: IPv4('1.1.1.0/24') < IPv4('1.1.2.0/24') IPv6('1080::200C:417A') < IPv6('1080::200B:417B') 0 if self == other eg: IPv4('1.1.1.1/24') == IPv4('1.1.1.2/24') IPv6('1080::200C:417A/96') == IPv6('1080::200C:417B/96') 1 if self > other eg: IPv4('1.1.1.0/24') > IPv4('1.1.0.0/24') IPv6('1080::1:200C:417A/112') > IPv6('1080::0:200C:417A/112') If the IP versions of self and other are different, returns: -1 if self._version < other._version eg: IPv4('10.0.0.1/24') < IPv6('::1/128') 1 if self._version > other._version eg: IPv6('::1/128') > IPv4('255.255.255.0/24')
def multi_interface_roam.ipaddr._BaseNet.hostmask | ( | self | ) |
def multi_interface_roam.ipaddr._BaseNet.iter_subnets | ( | self, | |
prefixlen_diff = 1 , |
|||
new_prefix = None |
|||
) |
The subnets which join to make the current subnet. In the case that self contains only one IP (self._prefixlen == 32 for IPv4 or self._prefixlen == 128 for IPv6), return a list with just ourself. Args: prefixlen_diff: An integer, the amount the prefix length should be increased by. This should not be set if new_prefix is also set. new_prefix: The desired new prefix length. This must be a larger number (smaller prefix) than the existing prefix. This should not be set if prefixlen_diff is also set. Returns: An iterator of IPv(4|6) objects. Raises: ValueError: The prefixlen_diff is too small or too large. OR prefixlen_diff and new_prefix are both set or new_prefix is a smaller number than the current prefix (smaller number means a larger network)
def multi_interface_roam.ipaddr._BaseNet.iterhosts | ( | self | ) |
def multi_interface_roam.ipaddr._BaseNet.network | ( | self | ) |
def multi_interface_roam.ipaddr._BaseNet.numhosts | ( | self | ) |
def multi_interface_roam.ipaddr._BaseNet.overlaps | ( | self, | |
other | |||
) |
def multi_interface_roam.ipaddr._BaseNet.prefixlen | ( | self | ) |
def multi_interface_roam.ipaddr._BaseNet.subnet | ( | self, | |
prefixlen_diff = 1 , |
|||
new_prefix = None |
|||
) |
def multi_interface_roam.ipaddr._BaseNet.supernet | ( | self, | |
prefixlen_diff = 1 , |
|||
new_prefix = None |
|||
) |
The supernet containing the current network. Args: prefixlen_diff: An integer, the amount the prefix length of the network should be decreased by. For example, given a /24 network and a prefixlen_diff of 3, a supernet with a /21 netmask is returned. Returns: An IPv4 network object. Raises: ValueError: If self.prefixlen - prefixlen_diff < 0. I.e., you have a negative prefix length. OR If prefixlen_diff and new_prefix are both set or new_prefix is a larger number than the current prefix (larger number means a smaller network)
def multi_interface_roam.ipaddr._BaseNet.version | ( | self | ) |
Reimplemented in multi_interface_roam.ipaddr.IPv6Network, and multi_interface_roam.ipaddr.IPv4Network.