Method: NetAddr.ipv4_prefix_len

Defined in:
lib/netaddr.rb

.ipv4_prefix_len(size) ⇒ Object

ipv4_prefix_len returns the prefix length needed to hold the number of IP addresses specified by “size”.



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/netaddr.rb', line 26

def ipv4_prefix_len(size)
	prefix_len = 32
	32.downto(0) do |i|
		hostbits = 32 - prefix_len
		max = 1 << hostbits
		if (size <= max)
			break
		end
		prefix_len -= 1
	end
	return prefix_len
end