diff --git a/prober/derp.go b/prober/derp.go index 2609dba73..f342ef723 100644 --- a/prober/derp.go +++ b/prober/derp.go @@ -273,6 +273,17 @@ func derpProbeNodePair(ctx context.Context, dm *tailcfg.DERPMap, from, to *tailc time.Sleep(100 * time.Millisecond) // pretty arbitrary } + latency, err = runDerpProbeNodePair(ctx, from, to, fromc, toc) + if err != nil { + // Record pubkeys on failed probes to aid investigation. + err = fmt.Errorf("%s -> %s: %w", + fromc.SelfPublicKey().ShortString(), + toc.SelfPublicKey().ShortString(), err) + } + return latency, err +} + +func runDerpProbeNodePair(ctx context.Context, from, to *tailcfg.DERPNode, fromc, toc *derphttp.Client) (latency time.Duration, err error) { // Make a random packet pkt := make([]byte, 8) crand.Read(pkt)