summaryrefslogtreecommitdiff
path: root/libnetwork
diff options
context:
space:
mode:
Diffstat (limited to 'libnetwork')
-rw-r--r--libnetwork/drivers/overlay/ov_network.go19
-rw-r--r--libnetwork/network.go3
2 files changed, 19 insertions, 3 deletions
diff --git a/libnetwork/drivers/overlay/ov_network.go b/libnetwork/drivers/overlay/ov_network.go
index ec3876b8f5..3961538b07 100644
--- a/libnetwork/drivers/overlay/ov_network.go
+++ b/libnetwork/drivers/overlay/ov_network.go
@@ -216,6 +216,25 @@ func (d *driver) DeleteNetwork(nid string) error {
doPeerFlush = true
delete(d.networks, nid)
+ if n.secure {
+ for _, s := range n.subnets {
+ if err := programMangle(s.vni, false); err != nil {
+ logrus.WithFields(logrus.Fields{
+ logrus.ErrorKey: err,
+ "network_id": n.id,
+ "subnet": s.subnetIP,
+ }).Warn("Failed to clean up iptables rules during overlay network deletion")
+ }
+ if err := programInput(s.vni, false); err != nil {
+ logrus.WithFields(logrus.Fields{
+ logrus.ErrorKey: err,
+ "network_id": n.id,
+ "subnet": s.subnetIP,
+ }).Warn("Failed to clean up iptables rules during overlay network deletion")
+ }
+ }
+ }
+
return nil
}
diff --git a/libnetwork/network.go b/libnetwork/network.go
index 498c5566d5..b32984419e 100644
--- a/libnetwork/network.go
+++ b/libnetwork/network.go
@@ -1061,9 +1061,6 @@ func (n *network) delete(force bool, rmLBEndpoint bool) error {
}
n.ipamRelease()
- if err = c.updateToStore(n); err != nil {
- logrus.Warnf("Failed to update store after ipam release for network %s (%s): %v", n.Name(), n.ID(), err)
- }
// We are about to delete the network. Leave the gossip
// cluster for the network to stop all incoming network