control/controlclient: add temporary mechanism to force derp on

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick 2020-02-21 14:01:51 -08:00
parent 525bf1f3d2
commit c02f4b5a1f
2 changed files with 16 additions and 0 deletions

View File

@ -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
}

View File

@ -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
}