mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-02 06:25:37 +00:00
wip
This commit is contained in:
parent
66c416a0a5
commit
c3b5ae55e6
@ -5928,12 +5928,18 @@ func (b *LocalBackend) SuggestExitNode() (*tailcfg.StableNodeID, error) {
|
||||
if online := peer.Online(); online != nil && !*online {
|
||||
continue
|
||||
}
|
||||
if tsaddr.ContainsExitRoutes(peer.AllowedIPs()) /*&& strings.HasPrefix(peer.DERP(), derpPrefix)*/ {
|
||||
if peer.Hostinfo().Location() != nil {
|
||||
b.logf("location %v %v", peer.Hostinfo().Location().Longitude, peer.Hostinfo().Location().Latitude)
|
||||
}
|
||||
if tsaddr.ContainsExitRoutes(peer.AllowedIPs()) {
|
||||
ipp, _ := netip.ParseAddrPort(peer.DERP())
|
||||
regionID := int(ipp.Port())
|
||||
regionLatency, ok := lastReport.RegionLatency[regionID]
|
||||
peerRegionMap[regionID] = append(peerRegionMap[regionID], peer)
|
||||
if regionID != 0 {
|
||||
b.logf("region %d latency %v(%v) node id %v", regionID, regionLatency, ok, peer.Name())
|
||||
}
|
||||
//b.logf("region %d latency %v(%v) node id %v", regionID, regionLatency, ok, peer.Name())
|
||||
if ok && regionLatency < fastestRegionLatency {
|
||||
fastestRegionLatency = lastReport.RegionLatency[regionID]
|
||||
preferredExitNodeID = peer.StableID()
|
||||
@ -5950,7 +5956,6 @@ func (b *LocalBackend) SuggestExitNode() (*tailcfg.StableNodeID, error) {
|
||||
if ok {
|
||||
preferredExitNodeID = balancedPick(netMap.SelfNode, sameRegionNodes).StableID()
|
||||
}
|
||||
//b.logf("peer region map %v", peerRegionMap)
|
||||
b.logf("chosen exit node id %v", preferredExitNodeID)
|
||||
if preferredExitNodeID.IsZero() {
|
||||
return &preferredExitNodeID, fmt.Errorf("Unable to choose exit node")
|
||||
@ -5969,7 +5974,3 @@ func balancedPick(selfNode tailcfg.NodeView, candidates []tailcfg.NodeView) tail
|
||||
return chosen
|
||||
}
|
||||
}
|
||||
|
||||
/*func measureLatency(ctx context.Context, derpRegion *DERPRegion, p *ping.Pinger) (time.Duration, error) {
|
||||
node := derpRegion.Nodes[0]
|
||||
} */
|
||||
|
Loading…
Reference in New Issue
Block a user