when allocating IP addresses, correctly roll over to the next block, #42406
authorMark Wells <mark@freeside.biz>
Fri, 5 Aug 2016 07:24:43 +0000 (00:24 -0700)
committerMark Wells <mark@freeside.biz>
Fri, 5 Aug 2016 18:15:03 +0000 (11:15 -0700)
FS/FS/IP_Mixin.pm

index d492046..beb41d2 100644 (file)
@@ -153,14 +153,14 @@ sub assign_ip_addr {
     # don't exit early on assigning a free address--check the rest of 
     # the blocks to see if the current address is in one of them.
     if (!$new_addr) {
-      $new_addr = $block->next_free_addr->addr;
+      $new_addr = $block->next_free_addr;
       $new_block = $block;
     }
   }
  
   return 'No IP address available on this router' unless $new_addr;
 
-  $self->ip_addr($new_addr);
+  $self->ip_addr($new_addr->addr);
   $self->addr_block($new_block);
   '';
 }