control/controlclient: add temporary mechanism to force derp on

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
pull/93/head
Brad Fitzpatrick 4 years ago
parent 525bf1f3d2
commit c02f4b5a1f

@ -18,6 +18,7 @@ import (
"net/http" "net/http"
"os" "os"
"runtime" "runtime"
"strconv"
"strings" "strings"
"sync" "sync"
"time" "time"
@ -538,6 +539,14 @@ func (c *Direct) PollNetMap(ctx context.Context, maxPolls int, cb func(*NetworkM
Hostinfo: resp.Node.Hostinfo, Hostinfo: resp.Node.Hostinfo,
PacketFilter: resp.PacketFilter, 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 { for _, profile := range resp.UserProfiles {
nm.UserProfiles[profile.ID] = profile nm.UserProfiles[profile.ID] = profile
} }

@ -13,6 +13,8 @@ import (
"fmt" "fmt"
"log" "log"
"net" "net"
"os"
"strconv"
"strings" "strings"
"sync" "sync"
"sync/atomic" "sync/atomic"
@ -376,6 +378,8 @@ func shouldSprayPacket(b []byte) bool {
return false return false
} }
var logPacketDests, _ = strconv.ParseBool(os.Getenv("DEBUG_LOG_PACKET_DESTS"))
// appendDests appends to dsts the destinations that b should be // appendDests appends to dsts the destinations that b should be
// written to in order to reach as. Some of the returned UDPAddrs may // written to in order to reach as. Some of the returned UDPAddrs may
// be fake addrs representing DERP servers. // be fake addrs representing DERP servers.
@ -403,6 +407,9 @@ func appendDests(dsts []*net.UDPAddr, as *AddrSet, b []byte) (_ []*net.UDPAddr,
break break
} }
} }
if logPacketDests {
log.Printf("spray=%v; roam=%v; dests=%v", spray, roamAddr, dsts)
}
return dsts, roamAddr return dsts, roamAddr
} }

Loading…
Cancel
Save