control/controlclient: add temporary mechanism to force derp on
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
525bf1f3d2
commit
c02f4b5a1f
|
@ -18,6 +18,7 @@ import (
|
|||
"net/http"
|
||||
"os"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
@ -538,6 +539,14 @@ func (c *Direct) PollNetMap(ctx context.Context, maxPolls int, cb func(*NetworkM
|
|||
Hostinfo: resp.Node.Hostinfo,
|
||||
PacketFilter: resp.PacketFilter,
|
||||
}
|
||||
// Temporary (2020-02-21) knob to force debug, during DERP testing:
|
||||
if ok, _ := strconv.ParseBool(os.Getenv("DEBUG_FORCE_DERP")); ok {
|
||||
c.logf("debug: adding DERP endpoints to all peers")
|
||||
for i := range nm.Peers {
|
||||
peer := &nm.Peers[i]
|
||||
peer.Endpoints = append(peer.Endpoints, "127.3.3.40:1")
|
||||
}
|
||||
}
|
||||
for _, profile := range resp.UserProfiles {
|
||||
nm.UserProfiles[profile.ID] = profile
|
||||
}
|
||||
|
|
|
@ -13,6 +13,8 @@ import (
|
|||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
|
@ -376,6 +378,8 @@ func shouldSprayPacket(b []byte) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
var logPacketDests, _ = strconv.ParseBool(os.Getenv("DEBUG_LOG_PACKET_DESTS"))
|
||||
|
||||
// appendDests appends to dsts the destinations that b should be
|
||||
// written to in order to reach as. Some of the returned UDPAddrs may
|
||||
// be fake addrs representing DERP servers.
|
||||
|
@ -403,6 +407,9 @@ func appendDests(dsts []*net.UDPAddr, as *AddrSet, b []byte) (_ []*net.UDPAddr,
|
|||
break
|
||||
}
|
||||
}
|
||||
if logPacketDests {
|
||||
log.Printf("spray=%v; roam=%v; dests=%v", spray, roamAddr, dsts)
|
||||
}
|
||||
return dsts, roamAddr
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue