From 491f8ab14493babb1c06e240c7a9de64f34827a0 Mon Sep 17 00:00:00 2001 From: Alexander Morozov <lk4d4@docker.com> Date: Mon, 16 Mar 2015 15:34:43 -0700 Subject: [PATCH] Fix IPv6 autoallocation from mac with --ipv6-cidr We used slice globalIPv6Network.IP itself, not its copy as expected. Fixes #10774 Signed-off-by: Alexander Morozov <lk4d4@docker.com> --- daemon/networkdriver/bridge/driver.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/daemon/networkdriver/bridge/driver.go b/daemon/networkdriver/bridge/driver.go index 329052be41..100ed2d79f 100644 --- a/daemon/networkdriver/bridge/driver.go +++ b/daemon/networkdriver/bridge/driver.go @@ -522,7 +522,8 @@ func Allocate(job *engine.Job) engine.Status { // If globalIPv6Network Size is at least a /80 subnet generate IPv6 address from MAC address netmask_ones, _ := globalIPv6Network.Mask.Size() if requestedIPv6 == nil && netmask_ones <= 80 { - requestedIPv6 = globalIPv6Network.IP + requestedIPv6 = make(net.IP, len(globalIPv6Network.IP)) + copy(requestedIPv6, globalIPv6Network.IP) for i, h := range mac { requestedIPv6[i+10] = h }