From a15113e0123ed7356cf4fe791c4fe100e8543674 Mon Sep 17 00:00:00 2001 From: Flavio Crisciani Date: Mon, 14 Aug 2017 09:20:55 -0700 Subject: [PATCH] Remove useless flags on operations In the peerDelete the updateDB flag was always true In the peerAdd the updateDB flag was always true except for the initSandbox case. But now the initSandbox is handled by the go routing of the peer operations, so we can move that flag down and remove it from the top level functions Signed-off-by: Flavio Crisciani --- libnetwork/drivers/overlay/joinleave.go | 6 +++--- libnetwork/drivers/overlay/ov_network.go | 2 +- libnetwork/drivers/overlay/ov_serf.go | 5 ++--- libnetwork/drivers/overlay/overlay.go | 2 +- libnetwork/drivers/overlay/peerdb.go | 24 +++++++++--------------- 5 files changed, 16 insertions(+), 23 deletions(-) diff --git a/libnetwork/drivers/overlay/joinleave.go b/libnetwork/drivers/overlay/joinleave.go index 39c2056a9b..a07838b760 100644 --- a/libnetwork/drivers/overlay/joinleave.go +++ b/libnetwork/drivers/overlay/joinleave.go @@ -120,7 +120,7 @@ func (d *driver) Join(nid, eid string, sboxKey string, jinfo driverapi.JoinInfo, } } - d.peerAdd(nid, eid, ep.addr.IP, ep.addr.Mask, ep.mac, net.ParseIP(d.advertiseAddress), true, false, false, true) + d.peerAdd(nid, eid, ep.addr.IP, ep.addr.Mask, ep.mac, net.ParseIP(d.advertiseAddress), false, false, true) if err := d.checkEncryption(nid, nil, n.vxlanID(s), true, true); err != nil { logrus.Warn(err) @@ -200,11 +200,11 @@ func (d *driver) EventNotify(etype driverapi.EventType, nid, tableName, key stri } if etype == driverapi.Delete { - d.peerDelete(nid, eid, addr.IP, addr.Mask, mac, vtep, true) + d.peerDelete(nid, eid, addr.IP, addr.Mask, mac, vtep) return } - d.peerAdd(nid, eid, addr.IP, addr.Mask, mac, vtep, true, false, false, false) + d.peerAdd(nid, eid, addr.IP, addr.Mask, mac, vtep, false, false, false) } // Leave method is invoked when a Sandbox detaches from an endpoint. diff --git a/libnetwork/drivers/overlay/ov_network.go b/libnetwork/drivers/overlay/ov_network.go index d12dfc72f7..6dd0ec9d6e 100644 --- a/libnetwork/drivers/overlay/ov_network.go +++ b/libnetwork/drivers/overlay/ov_network.go @@ -767,7 +767,7 @@ func (n *network) watchMiss(nlSock *nl.NetlinkSocket) { logrus.Errorf("could not resolve peer %q: %v", ip, err) continue } - n.driver.peerAdd(n.id, "dummy", ip, IPmask, mac, vtep, true, l2Miss, l3Miss, false) + n.driver.peerAdd(n.id, "dummy", ip, IPmask, mac, vtep, l2Miss, l3Miss, false) } else { // If the gc_thresh values are lower kernel might knock off the neighor entries. // When we get a L3 miss check if its a valid peer and reprogram the neighbor diff --git a/libnetwork/drivers/overlay/ov_serf.go b/libnetwork/drivers/overlay/ov_serf.go index 5b96c515c9..6e034ada46 100644 --- a/libnetwork/drivers/overlay/ov_serf.go +++ b/libnetwork/drivers/overlay/ov_serf.go @@ -120,10 +120,9 @@ func (d *driver) processEvent(u serf.UserEvent) { switch action { case "join": - d.peerAdd(nid, eid, net.ParseIP(ipStr), net.IPMask(net.ParseIP(maskStr).To4()), mac, net.ParseIP(vtepStr), - true, false, false, false) + d.peerAdd(nid, eid, net.ParseIP(ipStr), net.IPMask(net.ParseIP(maskStr).To4()), mac, net.ParseIP(vtepStr), false, false, false) case "leave": - d.peerDelete(nid, eid, net.ParseIP(ipStr), net.IPMask(net.ParseIP(maskStr).To4()), mac, net.ParseIP(vtepStr), true) + d.peerDelete(nid, eid, net.ParseIP(ipStr), net.IPMask(net.ParseIP(maskStr).To4()), mac, net.ParseIP(vtepStr)) } } diff --git a/libnetwork/drivers/overlay/overlay.go b/libnetwork/drivers/overlay/overlay.go index 0b22439ca7..e624aade2e 100644 --- a/libnetwork/drivers/overlay/overlay.go +++ b/libnetwork/drivers/overlay/overlay.go @@ -170,7 +170,7 @@ func (d *driver) restoreEndpoints() error { } n.incEndpointCount() - d.peerAdd(ep.nid, ep.id, ep.addr.IP, ep.addr.Mask, ep.mac, net.ParseIP(d.advertiseAddress), true, false, false, true) + d.peerAdd(ep.nid, ep.id, ep.addr.IP, ep.addr.Mask, ep.mac, net.ParseIP(d.advertiseAddress), false, false, true) } return nil } diff --git a/libnetwork/drivers/overlay/peerdb.go b/libnetwork/drivers/overlay/peerdb.go index 0176abcef4..f953e3c872 100644 --- a/libnetwork/drivers/overlay/peerdb.go +++ b/libnetwork/drivers/overlay/peerdb.go @@ -234,7 +234,6 @@ type peerOperation struct { peerIPMask net.IPMask peerMac net.HardwareAddr vtepIP net.IP - updateDB bool l2Miss bool l3Miss bool localPeer bool @@ -252,9 +251,9 @@ func (d *driver) peerOpRoutine(ctx context.Context, ch chan *peerOperation) { case peerOperationINIT: err = d.peerInitOp(op.networkID) 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) + err = d.peerAddOp(op.networkID, op.endpointID, op.peerIP, op.peerIPMask, op.peerMac, op.vtepIP, op.l2Miss, op.l3Miss, true, op.localPeer) case peerOperationDELETE: - err = d.peerDeleteOp(op.networkID, op.endpointID, op.peerIP, op.peerIPMask, op.peerMac, op.vtepIP, op.updateDB) + err = d.peerDeleteOp(op.networkID, op.endpointID, op.peerIP, op.peerIPMask, op.peerMac, op.vtepIP) } if err != nil { logrus.Warnf("Peer operation failed:%s op:%v", err, op) @@ -279,14 +278,14 @@ func (d *driver) peerInitOp(nid string) error { return false } - d.peerAddOp(nid, pEntry.eid, pKey.peerIP, pEntry.peerIPMask, pKey.peerMac, pEntry.vtep, false, false, false, false) + d.peerAddOp(nid, pEntry.eid, pKey.peerIP, pEntry.peerIPMask, pKey.peerMac, pEntry.vtep, false, false, false, pEntry.isLocal) // return false to loop on all entries return false }) } func (d *driver) peerAdd(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, - peerMac net.HardwareAddr, vtep net.IP, updateDb, l2Miss, l3Miss, localPeer bool) { + peerMac net.HardwareAddr, vtep net.IP, l2Miss, l3Miss, localPeer bool) { callerName := common.CallerName(1) d.peerOpCh <- &peerOperation{ opType: peerOperationADD, @@ -296,7 +295,6 @@ func (d *driver) peerAdd(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, peerIPMask: peerIPMask, peerMac: peerMac, vtepIP: vtep, - updateDB: updateDb, l2Miss: l2Miss, l3Miss: l3Miss, localPeer: localPeer, @@ -305,13 +303,13 @@ func (d *driver) peerAdd(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, } func (d *driver) peerAddOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, - peerMac net.HardwareAddr, vtep net.IP, updateDb, l2Miss, l3Miss, updateOnlyDB bool) error { + peerMac net.HardwareAddr, vtep net.IP, l2Miss, l3Miss, updateDB, updateOnlyDB bool) error { if err := validateID(nid, eid); err != nil { return err } - if updateDb { + if updateDB { d.peerDbAdd(nid, eid, peerIP, peerIPMask, peerMac, vtep, false) if updateOnlyDB { return nil @@ -368,7 +366,7 @@ func (d *driver) peerAddOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask } func (d *driver) peerDelete(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, - peerMac net.HardwareAddr, vtep net.IP, updateDb bool) { + peerMac net.HardwareAddr, vtep net.IP) { callerName := common.CallerName(1) d.peerOpCh <- &peerOperation{ opType: peerOperationDELETE, @@ -378,22 +376,18 @@ func (d *driver) peerDelete(nid, eid string, peerIP net.IP, peerIPMask net.IPMas peerIPMask: peerIPMask, peerMac: peerMac, vtepIP: vtep, - updateDB: updateDb, callerName: callerName, } } func (d *driver) peerDeleteOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, - peerMac net.HardwareAddr, vtep net.IP, updateDb bool) error { + peerMac net.HardwareAddr, vtep net.IP) error { if err := validateID(nid, eid); err != nil { return err } - var pEntry peerEntry - if updateDb { - pEntry = d.peerDbDelete(nid, eid, peerIP, peerIPMask, peerMac, vtep) - } + pEntry := d.peerDbDelete(nid, eid, peerIP, peerIPMask, peerMac, vtep) n := d.network(nid) if n == nil {