From 4770c7af51ec27af8cf8491a3a5358bad3b4c8b7 Mon Sep 17 00:00:00 2001 From: Andrew Hsu Date: Wed, 16 Aug 2017 21:22:27 -0700 Subject: [PATCH] vndr libnetwork to bring in fix for overlay network ip reuse Signed-off-by: Andrew Hsu --- components/engine/vendor.conf | 2 +- .../docker/libnetwork/drivers/overlay/ov_network.go | 5 +++++ .../github.com/docker/libnetwork/drivers/overlay/peerdb.go | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/components/engine/vendor.conf b/components/engine/vendor.conf index 03b63b59d13..e365a9a4971 100644 --- a/components/engine/vendor.conf +++ b/components/engine/vendor.conf @@ -27,7 +27,7 @@ github.com/imdario/mergo 0.2.1 golang.org/x/sync de49d9dcd27d4f764488181bea099dfe6179bcf0 #get libnetwork packages -github.com/docker/libnetwork 21026683470a66bf752e3d61e660ab07813cdc61 +github.com/docker/libnetwork 93976265048377e7644acfbfae2178a17fb04087 github.com/docker/go-events 18b43f1bc85d9cdd42c05a6cd2d444c7a200a894 github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80 github.com/armon/go-metrics eb0af217e5e9747e41dd5303755356b62d28e3ec diff --git a/components/engine/vendor/github.com/docker/libnetwork/drivers/overlay/ov_network.go b/components/engine/vendor/github.com/docker/libnetwork/drivers/overlay/ov_network.go index 2e3f90b1b2a..f23edd850e7 100644 --- a/components/engine/vendor/github.com/docker/libnetwork/drivers/overlay/ov_network.go +++ b/components/engine/vendor/github.com/docker/libnetwork/drivers/overlay/ov_network.go @@ -8,6 +8,7 @@ import ( "os" "os/exec" "path/filepath" + "runtime" "strconv" "strings" "sync" @@ -81,6 +82,10 @@ func setDefaultVlan() { logrus.Error("insufficient number of arguments") os.Exit(1) } + + runtime.LockOSThread() + defer runtime.UnlockOSThread() + nsPath := os.Args[1] ns, err := netns.GetFromPath(nsPath) if err != nil { diff --git a/components/engine/vendor/github.com/docker/libnetwork/drivers/overlay/peerdb.go b/components/engine/vendor/github.com/docker/libnetwork/drivers/overlay/peerdb.go index 4b41bf76585..b22f93570db 100644 --- a/components/engine/vendor/github.com/docker/libnetwork/drivers/overlay/peerdb.go +++ b/components/engine/vendor/github.com/docker/libnetwork/drivers/overlay/peerdb.go @@ -254,7 +254,7 @@ func (d *driver) peerOpRoutine(ctx context.Context, ch chan *peerOperation) { case peerOperationADD: err = d.peerAddOp(op.networkID, op.endpointID, op.peerIP, op.peerIPMask, op.peerMac, op.vtepIP, op.updateDB, op.l2Miss, op.l3Miss, op.localPeer) case peerOperationDELETE: - err = d.peerDeleteOp(op.networkID, op.endpointID, op.peerIP, op.peerIPMask, op.peerMac, op.vtepIP, op.localPeer) + err = d.peerDeleteOp(op.networkID, op.endpointID, op.peerIP, op.peerIPMask, op.peerMac, op.vtepIP, op.updateDB) } if err != nil { logrus.Warnf("Peer operation failed:%s op:%v", err, op)