Class Antfarm::IPAddrExt
In: lib/antfarm.rb
Parent: IPAddr

Some explanation to having @netmask and such:

  If you create a new IPAddr object and you include
  the network information for the IP address, IPAddr
  doesn't keep track of the actual address, and
  instead just keeps track of the network.  For
  example, if you were to create a new IPAddr object
  using the following code:

  IPAddr.new("192.168.101.5/24")

  the resulting object would be of the form:

  <IPAddr: IPv4:192.168.101.0/255.255.255.0>

  and there would be no way to retrieve the original
  address (192.168.101.5).  By creating this class,
  Michael has made it possible to keep track of both
  the address and the network information.  This is
  useful in the case of creating a new IPInterface
  object.

TODO: If a netmask is given, should we somehow check

      to see if an address is being given with network
      information or if a network is being specified,
      and if it is a network, should we validate that
      the network address is valid with the given
      netmask?  This may be done automatically... I
      need to look more into how IPAddr works.

Methods

Attributes

netmask  [RW] 

Public Class methods

Public Instance methods

TODO: track down IPv6 localnet mask (guessing /10 for now)

Need to verify the IPv4 multicast addrs (couldn‘t find the whole block, only the currently assigned ranges within the block)

Decides if the given network is a subset of this network. This method was added since SQLite3 cannot handle CIDR‘s ‘natively’ like PostgreSQL can. Note that this method also works if the network given is actually a host.

TODO: track down the IPv6 private use ranges and include them

[Validate]