host.py 文件源码

python
阅读 47 收藏 0 点赞 0 评论 0

项目:pycroft 作者: agdsn 项目源码 文件源码
def get_free_ip(subnets):
    for subnet in subnets:
        reserved = subnet.reserved_addresses
        net = ipaddr.IPv4Network(subnet.address)
        used_ips = [ip.address for ip in subnet.ips]

        if (net.numhosts -2 - reserved) <= len(used_ips):
            continue

        for ip in net.iterhosts():
            if reserved > 0:
                reserved -= 1
                continue
            if ip.compressed not in used_ips:
                return ip.compressed

    raise SubnetFullException()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号