diff --git a/daemon/libnetwork/drivers/overlay/joinleave.go b/daemon/libnetwork/drivers/overlay/joinleave.go index dcbe99e706..9013687780 100644 --- a/daemon/libnetwork/drivers/overlay/joinleave.go +++ b/daemon/libnetwork/drivers/overlay/joinleave.go @@ -174,8 +174,7 @@ func (d *driver) EventNotify(nid, tableName, key string, prev, value []byte) { prevPeer, err = UnmarshalPeerRecord(prev) if err != nil { log.G(context.TODO()).WithError(err).Error("Failed to unmarshal previous peer record") - } - if prevPeer.TunnelEndpointIP == d.advertiseAddress { + } else if prevPeer.TunnelEndpointIP == d.advertiseAddress { // Ignore local peers. We don't add them to the VXLAN // FDB so don't need to remove them. prevPeer = nil @@ -186,8 +185,7 @@ func (d *driver) EventNotify(nid, tableName, key string, prev, value []byte) { newPeer, err = UnmarshalPeerRecord(value) if err != nil { log.G(context.TODO()).WithError(err).Error("Failed to unmarshal peer record") - } - if newPeer.TunnelEndpointIP == d.advertiseAddress { + } else if newPeer.TunnelEndpointIP == d.advertiseAddress { newPeer = nil } } diff --git a/daemon/libnetwork/drivers/windows/overlay/joinleave_windows.go b/daemon/libnetwork/drivers/windows/overlay/joinleave_windows.go index 358f4a72c1..a014cd90df 100644 --- a/daemon/libnetwork/drivers/windows/overlay/joinleave_windows.go +++ b/daemon/libnetwork/drivers/windows/overlay/joinleave_windows.go @@ -74,8 +74,7 @@ func (d *driver) EventNotify(nid, tableName, key string, prev, value []byte) { prevPeer, err = overlay.UnmarshalPeerRecord(prev) if err != nil { log.G(context.TODO()).WithError(err).Error("Failed to unmarshal previous peer record") - } - if prevPeer.TunnelEndpointIP.String() == n.providerAddress { + } else if prevPeer.TunnelEndpointIP.String() == n.providerAddress { // Ignore local peers. We don't add them to the VXLAN // FDB so don't need to remove them. prevPeer = nil @@ -86,8 +85,7 @@ func (d *driver) EventNotify(nid, tableName, key string, prev, value []byte) { newPeer, err = overlay.UnmarshalPeerRecord(value) if err != nil { log.G(context.TODO()).WithError(err).Error("Failed to unmarshal peer record") - } - if prevPeer.TunnelEndpointIP.String() == n.providerAddress { + } else if newPeer.TunnelEndpointIP.String() == n.providerAddress { newPeer = nil } }