Skip to content

Commit 4ba0ec7

Browse files
authored
fix: performance for get__available_ips for prefix (#15041)
1 parent 93edf74 commit 4ba0ec7

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

netbox/ipam/models/ip.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -427,10 +427,10 @@ def get_available_ips(self):
427427

428428
prefix = netaddr.IPSet(self.prefix)
429429
child_ips = netaddr.IPSet([ip.address.ip for ip in self.get_child_ips()])
430-
child_ranges = netaddr.IPSet()
430+
child_ranges = []
431431
for iprange in self.get_child_ranges():
432-
child_ranges.add(iprange.range)
433-
available_ips = prefix - child_ips - child_ranges
432+
child_ranges.append(iprange.range)
433+
available_ips = prefix - child_ips - netaddr.IPSet(child_ranges)
434434

435435
# IPv6 /127's, pool, or IPv4 /31-/32 sets are fully usable
436436
if (self.family == 6 and self.prefix.prefixlen >= 127) or self.is_pool or (self.family == 4 and self.prefix.prefixlen >= 31):

0 commit comments

Comments
 (0)