1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

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 <flavio.crisciani@docker.com>
This commit is contained in:
Flavio Crisciani 2017-08-14 09:20:55 -07:00
parent 5de16c2168
commit a15113e012
5 changed files with 16 additions and 23 deletions

View file

@ -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 { if err := d.checkEncryption(nid, nil, n.vxlanID(s), true, true); err != nil {
logrus.Warn(err) logrus.Warn(err)
@ -200,11 +200,11 @@ func (d *driver) EventNotify(etype driverapi.EventType, nid, tableName, key stri
} }
if etype == driverapi.Delete { 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 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. // Leave method is invoked when a Sandbox detaches from an endpoint.

View file

@ -767,7 +767,7 @@ func (n *network) watchMiss(nlSock *nl.NetlinkSocket) {
logrus.Errorf("could not resolve peer %q: %v", ip, err) logrus.Errorf("could not resolve peer %q: %v", ip, err)
continue 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 { } else {
// If the gc_thresh values are lower kernel might knock off the neighor entries. // 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 // When we get a L3 miss check if its a valid peer and reprogram the neighbor

View file

@ -120,10 +120,9 @@ func (d *driver) processEvent(u serf.UserEvent) {
switch action { switch action {
case "join": case "join":
d.peerAdd(nid, eid, net.ParseIP(ipStr), net.IPMask(net.ParseIP(maskStr).To4()), mac, net.ParseIP(vtepStr), d.peerAdd(nid, eid, net.ParseIP(ipStr), net.IPMask(net.ParseIP(maskStr).To4()), mac, net.ParseIP(vtepStr), false, false, false)
true, false, false, false)
case "leave": 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))
} }
} }

View file

@ -170,7 +170,7 @@ func (d *driver) restoreEndpoints() error {
} }
n.incEndpointCount() 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 return nil
} }

View file

@ -234,7 +234,6 @@ type peerOperation struct {
peerIPMask net.IPMask peerIPMask net.IPMask
peerMac net.HardwareAddr peerMac net.HardwareAddr
vtepIP net.IP vtepIP net.IP
updateDB bool
l2Miss bool l2Miss bool
l3Miss bool l3Miss bool
localPeer bool localPeer bool
@ -252,9 +251,9 @@ func (d *driver) peerOpRoutine(ctx context.Context, ch chan *peerOperation) {
case peerOperationINIT: case peerOperationINIT:
err = d.peerInitOp(op.networkID) err = d.peerInitOp(op.networkID)
case peerOperationADD: 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: 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 { if err != nil {
logrus.Warnf("Peer operation failed:%s op:%v", err, op) logrus.Warnf("Peer operation failed:%s op:%v", err, op)
@ -279,14 +278,14 @@ func (d *driver) peerInitOp(nid string) error {
return false 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 to loop on all entries
return false return false
}) })
} }
func (d *driver) peerAdd(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, 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) callerName := common.CallerName(1)
d.peerOpCh <- &peerOperation{ d.peerOpCh <- &peerOperation{
opType: peerOperationADD, opType: peerOperationADD,
@ -296,7 +295,6 @@ func (d *driver) peerAdd(nid, eid string, peerIP net.IP, peerIPMask net.IPMask,
peerIPMask: peerIPMask, peerIPMask: peerIPMask,
peerMac: peerMac, peerMac: peerMac,
vtepIP: vtep, vtepIP: vtep,
updateDB: updateDb,
l2Miss: l2Miss, l2Miss: l2Miss,
l3Miss: l3Miss, l3Miss: l3Miss,
localPeer: localPeer, 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, 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 { if err := validateID(nid, eid); err != nil {
return err return err
} }
if updateDb { if updateDB {
d.peerDbAdd(nid, eid, peerIP, peerIPMask, peerMac, vtep, false) d.peerDbAdd(nid, eid, peerIP, peerIPMask, peerMac, vtep, false)
if updateOnlyDB { if updateOnlyDB {
return nil 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, 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) callerName := common.CallerName(1)
d.peerOpCh <- &peerOperation{ d.peerOpCh <- &peerOperation{
opType: peerOperationDELETE, opType: peerOperationDELETE,
@ -378,22 +376,18 @@ func (d *driver) peerDelete(nid, eid string, peerIP net.IP, peerIPMask net.IPMas
peerIPMask: peerIPMask, peerIPMask: peerIPMask,
peerMac: peerMac, peerMac: peerMac,
vtepIP: vtep, vtepIP: vtep,
updateDB: updateDb,
callerName: callerName, callerName: callerName,
} }
} }
func (d *driver) peerDeleteOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, 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 { if err := validateID(nid, eid); err != nil {
return err return err
} }
var pEntry peerEntry pEntry := d.peerDbDelete(nid, eid, peerIP, peerIPMask, peerMac, vtep)
if updateDb {
pEntry = d.peerDbDelete(nid, eid, peerIP, peerIPMask, peerMac, vtep)
}
n := d.network(nid) n := d.network(nid)
if n == nil { if n == nil {