MCPcopy Index your code
hub / github.com/tailscale/tailscale / sendTSMPDiscoAdvertisement

Method sendTSMPDiscoAdvertisement

wgengine/userspace.go:1486–1507  ·  view source on GitHub ↗
(ip netip.Addr)

Source from the content-addressed store, hash-verified

1484}
1485
1486func (e *userspaceEngine) sendTSMPDiscoAdvertisement(ip netip.Addr) {
1487 srcIP, err := e.mySelfIPMatchingFamily(ip)
1488 if err != nil {
1489 e.logf("getting matching node: %s", err)
1490 return
1491 }
1492 tdka := packet.TSMPDiscoKeyAdvertisement{
1493 Src: srcIP,
1494 Dst: ip,
1495 Key: e.magicConn.DiscoPublicKey(),
1496 }
1497 payload, err := tdka.Marshal()
1498 if err != nil {
1499 e.logf("error generating TSMP Advertisement: %s", err)
1500 metricTSMPDiscoKeyAdvertisementError.Add(1)
1501 } else if err := e.tundev.InjectOutbound(payload); err != nil {
1502 e.logf("error sending TSMP Advertisement: %s", err)
1503 metricTSMPDiscoKeyAdvertisementError.Add(1)
1504 } else {
1505 metricTSMPDiscoKeyAdvertisementSent.Add(1)
1506 }
1507}
1508
1509func (e *userspaceEngine) setTSMPPongCallback(data [8]byte, cb func(packet.TSMPPongReply)) {
1510 e.mu.Lock()

Callers 3

NewUserspaceEngineFunction · 0.95
PingMethod · 0.95
TestTSMPKeyAdvertisementFunction · 0.80

Calls 6

MarshalMethod · 0.95
DiscoPublicKeyMethod · 0.80
InjectOutboundMethod · 0.80
AddMethod · 0.65
logfMethod · 0.45

Tested by 1

TestTSMPKeyAdvertisementFunction · 0.64