+=item assign_router
+
+Assign an address block and router matching the selected IP address.
+Does nothing if IP address is null.
+
+=cut
+
+sub assign_router {
+ my $self = shift;
+ return '' if !$self->ip_addr;
+ #warn "assigning router/block for ".$self->ip_addr."\n";
+ foreach my $router ($self->allowed_routers) {
+ foreach my $block ($router->addr_block) {
+ if ( $block->NetAddr->contains($self->NetAddr) ) {
+ $self->blocknum($block->blocknum);
+ $self->routernum($block->routernum);
+ return '';
+ }
+ }
+ }
+ return $self->ip_addr.' is not in an allowed block.';
+}
+