summaryrefslogtreecommitdiff
path: root/FS/FS/addr_block.pm
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2012-10-30 12:16:17 -0700
committerMark Wells <mark@freeside.biz>2012-10-30 12:16:17 -0700
commit87f255507af9f14dfbccd37eefd71a148f9af344 (patch)
tree7467e87ff6a27cdbe67fa60f4261e2d07a61f4b7 /FS/FS/addr_block.pm
parentd77fe06b27410a41855e1425114ab8d9cdae4ff0 (diff)
IP address management for svc_acct, #19567
Diffstat (limited to 'FS/FS/addr_block.pm')
-rwxr-xr-xFS/FS/addr_block.pm7
1 files changed, 3 insertions, 4 deletions
diff --git a/FS/FS/addr_block.pm b/FS/FS/addr_block.pm
index 686bdbd..6a62777 100755
--- a/FS/FS/addr_block.pm
+++ b/FS/FS/addr_block.pm
@@ -6,6 +6,7 @@ use FS::Record qw( qsearchs qsearch dbh );
use FS::router;
use FS::svc_broadband;
use FS::Conf;
+use FS::IP_Mixin;
use NetAddr::IP;
use Carp qw( carp );
use List::Util qw( first );
@@ -238,7 +239,7 @@ sub next_free_addr {
my $self = shift;
my $selfaddr = $self->NetAddr;
- return if $self->manual_flag;
+ return () if $self->manual_flag;
my $conf = new FS::Conf;
my @excludeaddr = $conf->config('exclude_ip_addr');
@@ -249,9 +250,7 @@ sub next_free_addr {
$selfaddr->addr,
$selfaddr->network->addr,
$selfaddr->broadcast->addr,
- (map { $_->NetAddr->addr }
- qsearch('svc_broadband', { blocknum => $self->blocknum })
- ), @excludeaddr
+ FS::IP_Mixin->used_addresses($self)
);
# just do a linear search of the block