mirror of
https://github.com/slackhq/nebula.git
synced 2025-11-08 22:13:57 +01:00
Try rehandshaking a main hostinfo after releasing hostmap locks (#863)
This commit is contained in:
parent
31ed9269d7
commit
d1f786419c
@ -17,11 +17,12 @@ import (
|
|||||||
type trafficDecision int
|
type trafficDecision int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
doNothing trafficDecision = 0
|
doNothing trafficDecision = 0
|
||||||
deleteTunnel trafficDecision = 1 // delete the hostinfo on our side, do not notify the remote
|
deleteTunnel trafficDecision = 1 // delete the hostinfo on our side, do not notify the remote
|
||||||
closeTunnel trafficDecision = 2 // delete the hostinfo and notify the remote
|
closeTunnel trafficDecision = 2 // delete the hostinfo and notify the remote
|
||||||
swapPrimary trafficDecision = 3
|
swapPrimary trafficDecision = 3
|
||||||
migrateRelays trafficDecision = 4
|
migrateRelays trafficDecision = 4
|
||||||
|
tryRehandshake trafficDecision = 5
|
||||||
)
|
)
|
||||||
|
|
||||||
type connectionManager struct {
|
type connectionManager struct {
|
||||||
@ -193,6 +194,9 @@ func (n *connectionManager) doTrafficCheck(localIndex uint32, p, nb, out []byte,
|
|||||||
|
|
||||||
case migrateRelays:
|
case migrateRelays:
|
||||||
n.migrateRelayUsed(hostinfo, primary)
|
n.migrateRelayUsed(hostinfo, primary)
|
||||||
|
|
||||||
|
case tryRehandshake:
|
||||||
|
n.tryRehandshake(hostinfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
n.resetRelayTrafficCheck(hostinfo)
|
n.resetRelayTrafficCheck(hostinfo)
|
||||||
@ -321,7 +325,8 @@ func (n *connectionManager) makeTrafficDecision(localIndex uint32, p, nb, out []
|
|||||||
delete(n.pendingDeletion, hostinfo.localIndexId)
|
delete(n.pendingDeletion, hostinfo.localIndexId)
|
||||||
|
|
||||||
if mainHostInfo {
|
if mainHostInfo {
|
||||||
n.tryRehandshake(hostinfo)
|
decision = tryRehandshake
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if n.shouldSwapPrimary(hostinfo, primary) {
|
if n.shouldSwapPrimary(hostinfo, primary) {
|
||||||
decision = swapPrimary
|
decision = swapPrimary
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user