Skip to content

Commit 4b1c123

Browse files
committed
libnetwork/d/overlay: peerdb: drop isLocal param
Drop the isLocal boolean parameters from the peerDB functions. Local peers have vtep == netip.Addr{}. Signed-off-by: Cory Snider <[email protected]>
1 parent 48e0b24 commit 4b1c123

2 files changed

Lines changed: 29 additions & 29 deletions

File tree

libnetwork/drivers/overlay/joinleave.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func (d *driver) Join(ctx context.Context, nid, eid string, sboxKey string, jinf
119119
}
120120
}
121121

122-
d.peerAdd(nid, eid, ep.addr, ep.mac, d.advertiseAddress, true)
122+
d.peerAdd(nid, eid, ep.addr, ep.mac, netip.Addr{})
123123

124124
if err = d.checkEncryption(nid, netip.Addr{}, true, true); err != nil {
125125
log.G(ctx).Warn(err)
@@ -197,11 +197,11 @@ func (d *driver) EventNotify(etype driverapi.EventType, nid, tableName, key stri
197197
}
198198

199199
if etype == driverapi.Delete {
200-
d.peerDelete(nid, eid, addr, mac, vtep, false)
200+
d.peerDelete(nid, eid, addr, mac, vtep)
201201
return
202202
}
203203

204-
d.peerAdd(nid, eid, addr, mac, vtep, false)
204+
d.peerAdd(nid, eid, addr, mac, vtep)
205205
}
206206

207207
// Leave method is invoked when a Sandbox detaches from an endpoint.
@@ -221,7 +221,7 @@ func (d *driver) Leave(nid, eid string) error {
221221
return types.InternalMaskableErrorf("could not find endpoint with id %s", eid)
222222
}
223223

224-
d.peerDelete(nid, eid, ep.addr, ep.mac, d.advertiseAddress, true)
224+
d.peerDelete(nid, eid, ep.addr, ep.mac, netip.Addr{})
225225

226226
n.leaveSandbox()
227227

libnetwork/drivers/overlay/peerdb.go

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ func (d *driver) peerDbSearch(nid string, peerIP netip.Addr) (netip.Addr, net.Ha
9393
return peerIPMatched, peerMacMatched, pEntryMatched, nil
9494
}
9595

96-
func (d *driver) peerDbAdd(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr, isLocal bool) (bool, int) {
96+
func (d *driver) peerDbAdd(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr) (bool, int) {
9797
d.peerDb.Lock()
9898
pMap, ok := d.peerDb.mp[nid]
9999
if !ok {
@@ -109,9 +109,6 @@ func (d *driver) peerDbAdd(nid, eid string, peerIP netip.Prefix, peerMac net.Har
109109
vtep: vtep,
110110
prefixBits: peerIP.Bits(),
111111
}
112-
if isLocal {
113-
pEntry.vtep = netip.Addr{}
114-
}
115112

116113
pMap.Lock()
117114
defer pMap.Unlock()
@@ -124,7 +121,7 @@ func (d *driver) peerDbAdd(nid, eid string, peerIP netip.Prefix, peerMac net.Har
124121
return b, i
125122
}
126123

127-
func (d *driver) peerDbDelete(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr, isLocal bool) (bool, int) {
124+
func (d *driver) peerDbDelete(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr) (bool, int) {
128125
d.peerDb.Lock()
129126
pMap, ok := d.peerDb.mp[nid]
130127
if !ok {
@@ -140,9 +137,6 @@ func (d *driver) peerDbDelete(nid, eid string, peerIP netip.Prefix, peerMac net.
140137
vtep: vtep,
141138
prefixBits: peerIP.Bits(),
142139
}
143-
if isLocal {
144-
pEntry.vtep = netip.Addr{}
145-
}
146140

147141
pMap.Lock()
148142
defer pMap.Unlock()
@@ -181,38 +175,41 @@ func (d *driver) peerInitOp(nid string) error {
181175
return false
182176
}
183177

184-
d.peerAddOp(nid, pEntry.eid, netip.PrefixFrom(peerIP, pEntry.prefixBits), peerMac, pEntry.vtep, false, pEntry.isLocal())
178+
d.peerAddOp(nid, pEntry.eid, netip.PrefixFrom(peerIP, pEntry.prefixBits), peerMac, pEntry.vtep, false)
185179
// return false to loop on all entries
186180
return false
187181
})
188182
}
189183

190-
func (d *driver) peerAdd(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr, localPeer bool) {
184+
// peerAdd adds a new entry to the peer database.
185+
//
186+
// Local peers are signified by an invalid vtep (i.e. netip.Addr{}).
187+
func (d *driver) peerAdd(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr) {
191188
d.peerOpMu.Lock()
192189
defer d.peerOpMu.Unlock()
193-
err := d.peerAddOp(nid, eid, peerIP, peerMac, vtep, true, localPeer)
190+
err := d.peerAddOp(nid, eid, peerIP, peerMac, vtep, true)
194191
if err != nil {
195192
log.G(context.TODO()).WithError(err).Warn("Peer add operation failed")
196193
}
197194
}
198195

199-
func (d *driver) peerAddOp(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr, updateDB, localPeer bool) error {
196+
func (d *driver) peerAddOp(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr, updateDB bool) error {
200197
if err := validateID(nid, eid); err != nil {
201198
return err
202199
}
203200

204201
var dbEntries int
205202
var inserted bool
206203
if updateDB {
207-
inserted, dbEntries = d.peerDbAdd(nid, eid, peerIP, peerMac, vtep, localPeer)
204+
inserted, dbEntries = d.peerDbAdd(nid, eid, peerIP, peerMac, vtep)
208205
if !inserted {
209-
log.G(context.TODO()).Warnf("Entry already present in db: nid:%s eid:%s peerIP:%v peerMac:%v isLocal:%t vtep:%v",
210-
nid, eid, peerIP, peerMac, localPeer, vtep)
206+
log.G(context.TODO()).Warnf("Entry already present in db: nid:%s eid:%s peerIP:%v peerMac:%v vtep:%v",
207+
nid, eid, peerIP, peerMac, vtep)
211208
}
212209
}
213210

214211
// Local peers do not need any further configuration
215-
if localPeer {
212+
if !vtep.IsValid() {
216213
return nil
217214
}
218215

@@ -261,24 +258,27 @@ func (d *driver) peerAddOp(nid, eid string, peerIP netip.Prefix, peerMac net.Har
261258
return nil
262259
}
263260

264-
func (d *driver) peerDelete(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr, localPeer bool) {
261+
// peerDelete removes an entry from the peer database.
262+
//
263+
// Local peers are signified by an invalid vtep (i.e. netip.Addr{}).
264+
func (d *driver) peerDelete(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr) {
265265
d.peerOpMu.Lock()
266266
defer d.peerOpMu.Unlock()
267-
err := d.peerDeleteOp(nid, eid, peerIP, peerMac, vtep, localPeer)
267+
err := d.peerDeleteOp(nid, eid, peerIP, peerMac, vtep)
268268
if err != nil {
269269
log.G(context.TODO()).WithError(err).Warn("Peer delete operation failed")
270270
}
271271
}
272272

273-
func (d *driver) peerDeleteOp(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr, localPeer bool) error {
273+
func (d *driver) peerDeleteOp(nid, eid string, peerIP netip.Prefix, peerMac net.HardwareAddr, vtep netip.Addr) error {
274274
if err := validateID(nid, eid); err != nil {
275275
return err
276276
}
277277

278-
deleted, dbEntries := d.peerDbDelete(nid, eid, peerIP, peerMac, vtep, localPeer)
278+
deleted, dbEntries := d.peerDbDelete(nid, eid, peerIP, peerMac, vtep)
279279
if !deleted {
280-
log.G(context.TODO()).Warnf("Entry was not in db: nid:%s eid:%s peerIP:%v peerMac:%v isLocal:%t vtep:%v",
281-
nid, eid, peerIP, peerMac, localPeer, vtep)
280+
log.G(context.TODO()).Warnf("Entry was not in db: nid:%s eid:%s peerIP:%v peerMac:%v vtep:%v",
281+
nid, eid, peerIP, peerMac, vtep)
282282
}
283283

284284
n := d.network(nid)
@@ -291,12 +291,12 @@ func (d *driver) peerDeleteOp(nid, eid string, peerIP netip.Prefix, peerMac net.
291291
return nil
292292
}
293293

294-
if err := d.checkEncryption(nid, vtep, localPeer, false); err != nil {
294+
if err := d.checkEncryption(nid, vtep, !vtep.IsValid(), false); err != nil {
295295
log.G(context.TODO()).Warn(err)
296296
}
297297

298298
// Local peers do not have any local configuration to delete
299-
if !localPeer {
299+
if vtep.IsValid() {
300300
s := n.getSubnetforIP(peerIP)
301301
if s == nil {
302302
return fmt.Errorf("could not find the subnet %q in network %q", peerIP.String(), n.id)
@@ -329,7 +329,7 @@ func (d *driver) peerDeleteOp(nid, eid string, peerIP netip.Prefix, peerMac net.
329329
log.G(context.TODO()).Errorf("peerDeleteOp unable to restore a configuration for nid:%s ip:%v mac:%v err:%s", nid, peerIP, peerMac, err)
330330
return err
331331
}
332-
return d.peerAddOp(nid, peerEntry.eid, netip.PrefixFrom(peerIPAddr, peerEntry.prefixBits), peerMac, peerEntry.vtep, false, peerEntry.isLocal())
332+
return d.peerAddOp(nid, peerEntry.eid, netip.PrefixFrom(peerIPAddr, peerEntry.prefixBits), peerMac, peerEntry.vtep, false)
333333
}
334334

335335
func (d *driver) peerFlush(nid string) {

0 commit comments

Comments
 (0)