def add_private_ip(ip_pool_id): private_ip_pool = db.private_ip_pool[ip_pool_id] if private_ip_pool.vlan != HOST_VLAN_ID: mac_address = private_ip_pool.mac_addr if mac_address == None: while True: mac_address = generate_random_mac() if not (db.private_ip_pool(mac_addr=mac_address)):break #Update generated mac address in DB private_ip_pool.update_record(mac_addr=mac_address) create_dhcp_entry(None, mac_address, private_ip_pool.private_ip)
def add_private_ip_range(rangeFrom, rangeTo, vlan): failed = 0 dhcp_info_list = [] for ip_addr in get_ips_in_range(rangeFrom, rangeTo): mac_address = None if vlan != HOST_VLAN_ID: while True: mac_address = generate_random_mac() if not (db.private_ip_pool(mac_addr=mac_address)):break if(db.private_ip_pool(private_ip=ip_addr)): failed += 1 else: db.private_ip_pool.insert(private_ip=ip_addr, mac_addr=mac_address, vlan=vlan) if vlan != HOST_VLAN_ID: dhcp_info_list.append((None, mac_address, ip_addr)) create_dhcp_bulk_entry(dhcp_info_list) return failed