diff options
Diffstat (limited to 'kpov_judge/kpov_random_helpers.py')
-rwxr-xr-x | kpov_judge/kpov_random_helpers.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/kpov_judge/kpov_random_helpers.py b/kpov_judge/kpov_random_helpers.py index d26c5c6..9775224 100755 --- a/kpov_judge/kpov_random_helpers.py +++ b/kpov_judge/kpov_random_helpers.py @@ -59,15 +59,16 @@ def IPv4_net_gen(r, min_hosts=254, local=True, multicast=False): '172.16.0.0/12']) if multicast: if local: - net = "239.0.0.0/8" + net = "239.255.0.0/16" else: net = "224.0.0.0/4" return IPv4_subnet_gen(r, net, mask) -def IPv4_addr_gen(r, network, n_generated=1): +def IPv4_addr_gen(r, network, n_generated=1, reserve_top=1, reserve_bottom=1): net, mask = _net_to_int(network) hosts = [] - l = r.sample(xrange(1, 2**(32 - mask)-1), n_generated) + l = r.sample(xrange(reserve_bottom, + 2**(32 - mask)-reserve_top), n_generated) for i in l: hosts.append(socket.inet_ntoa(struct.pack('>I', net | i))) return hosts |