$search

multi_interface_roam::ipaddr::IPv4Network Class Reference

Inheritance diagram for multi_interface_roam::ipaddr::IPv4Network:
Inheritance graph
[legend]

List of all members.

Public Member Functions

def __init__

Public Attributes

 ip
 netmask

Static Public Attributes

 IsLinkLocal = lambdaself:self.is_link_local
 IsLoopback = lambdaself:self.is_loopback
 IsMulticast = lambdaself:self.is_multicast
 IsRFC1918 = lambdaself:self.is_private

Private Member Functions

def _is_hostmask
def _is_valid_netmask

Private Attributes

 _ip
 _prefixlen

Static Private Attributes

tuple _valid_mask_octets = set((255, 254, 252, 248, 240, 224, 192, 128, 0))

Detailed Description

This class represents and manipulates 32-bit IPv4 networks.

Attributes: [examples for IPv4Network('1.2.3.4/27')]
    ._ip: 16909060
    .ip: IPv4Address('1.2.3.4')
    .network: IPv4Address('1.2.3.0')
    .hostmask: IPv4Address('0.0.0.31')
    .broadcast: IPv4Address('1.2.3.31')
    .netmask: IPv4Address('255.255.255.224')
    .prefixlen: 27

Definition at line 1156 of file ipaddr.py.


Member Function Documentation

def multi_interface_roam::ipaddr::IPv4Network::__init__ (   self,
  address,
  strict = False 
)
Instantiate a new IPv4 network object.

Args:
    address: A string or integer representing the IP [& network].
      '192.168.1.1/24'
      '192.168.1.1/255.255.255.0'
      '192.168.1.1/0.0.0.255'
      are all functionally the same in IPv4. Similarly,
      '192.168.1.1'
      '192.168.1.1/255.255.255.255'
      '192.168.1.1/32'
      are also functionaly equivalent. That is to say, failing to
      provide a subnetmask will create an object with a mask of /32.

      If the mask (portion after the / in the argument) is given in
      dotted quad form, it is treated as a netmask if it starts with a
      non-zero field (e.g. /255.0.0.0 == /8) and as a hostmask if it
      starts with a zero field (e.g. 0.255.255.255 == /8), with the
      single exception of an all-zero mask which is treated as a
      netmask == /0. If no mask is given, a default of /32 is used.

      Additionally, an integer can be passed, so
      IPv4Network('192.168.1.1') == IPv4Network(3232235777).
      or, more generally
      IPv4Network(int(IPv4Network('192.168.1.1'))) ==
IPv4Network('192.168.1.1')

    strict: A boolean. If true, ensure that we have been passed
      A true network address, eg, 192.168.1.0/24 and not an
      IP address on a network, eg, 192.168.1.1/24.

Raises:
    AddressValueError: If ipaddr isn't a valid IPv4 address.
    NetmaskValueError: If the netmask isn't valid for
      an IPv4 address.
    ValueError: If strict was True and a network address was not
      supplied.

Definition at line 1174 of file ipaddr.py.

def multi_interface_roam::ipaddr::IPv4Network::_is_hostmask (   self,
  ip_str 
) [private]
Test if the IP string is a hostmask (rather than a netmask).

Args:
    ip_str: A string, the potential hostmask.

Returns:
    A boolean, True if the IP string is a hostmask.

Definition at line 1280 of file ipaddr.py.

def multi_interface_roam::ipaddr::IPv4Network::_is_valid_netmask (   self,
  netmask 
) [private]
Verify that the netmask is valid.

Args:
    netmask: A string, either a prefix or dotted decimal
      netmask.

Returns:
    A boolean, True if the prefix represents a valid IPv4
    netmask.

Definition at line 1301 of file ipaddr.py.


Member Data Documentation

Definition at line 1219 of file ipaddr.py.

Reimplemented from multi_interface_roam::ipaddr::_BaseNet.

Definition at line 1221 of file ipaddr.py.

tuple multi_interface_roam::ipaddr::IPv4Network::_valid_mask_octets = set((255, 254, 252, 248, 240, 224, 192, 128, 0)) [static, private]

Definition at line 1172 of file ipaddr.py.

Definition at line 1220 of file ipaddr.py.

multi_interface_roam::ipaddr::IPv4Network::IsLinkLocal = lambdaself:self.is_link_local [static]

Definition at line 1331 of file ipaddr.py.

multi_interface_roam::ipaddr::IPv4Network::IsLoopback = lambdaself:self.is_loopback [static]

Definition at line 1330 of file ipaddr.py.

multi_interface_roam::ipaddr::IPv4Network::IsMulticast = lambdaself:self.is_multicast [static]

Definition at line 1329 of file ipaddr.py.

multi_interface_roam::ipaddr::IPv4Network::IsRFC1918 = lambdaself:self.is_private [static]

Definition at line 1328 of file ipaddr.py.

Definition at line 1222 of file ipaddr.py.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines


multi_interface_roam
Author(s): Blaise Gassend
autogenerated on Fri Mar 1 16:01:35 2013