class IPAddr

Constants

AF_INET6_FULL_MASK
AF_INET_FULL_MASK

Attributes

mask_addr[R]

Public Instance Methods

cidr_mask() click to toggle source

Converts network mask to CIDR format.

@return [Integer] CIDR representation of address mask

# File lib/occi/monkey_island/ipaddr.rb, line 11
def cidr_mask
  case family
  when Socket::AF_INET
    AF_INET_FULL_MASK - Math.log2((1 << AF_INET_FULL_MASK) - mask_addr).to_i
  when Socket::AF_INET6
    AF_INET6_FULL_MASK - Math.log2((1 << AF_INET6_FULL_MASK) - mask_addr).to_i
  else
    raise AddressFamilyError, 'unsupported address family'
  end
end