Skip to content

Commit

Permalink
Fix for default-addr-pool-mask-length param max value check
Browse files Browse the repository at this point in the history
We check for max value for -default-addr-pool-mask-length param as 32.
But There won't be enough addresses on the  overlay network. Hence we are
keeping it 29 so that we would be having atleast 8 addresses in /29 network.

Signed-off-by: selansen <elango.siva@docker.com>
  • Loading branch information
selansen committed Oct 4, 2018
1 parent 148ff00 commit d25c5df
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion daemon/cluster/listen_addr.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,12 @@ func validateDefaultAddrPool(defaultAddrPool []string, size uint32) error {
if size == 0 {
size = 24
}
if size > 32 {
// We allow max value as 29. We can have 8 IP addresses for max value 29
// If we allow 30, then we will get only 4 IP addresses. But with latest
// libnetwork LB scale implementation, we use total of 4 IP addresses for internal use.
// Hence keeping 29 as max value, we will have 8 IP addresses. This will be
// smallest subnet that can be used in overlay network.
if size > 29 {
return fmt.Errorf("subnet size is out of range: %d", size)
}
for i := range defaultAddrPool {
Expand Down

0 comments on commit d25c5df

Please sign in to comment.