conn,device: eval conn.PeerAwareEndpoint per-packet

Peer.SetEndpointFromPacket is not called per-packet. It is
guaranteed to be called at least once per packet batch.

Updates tailscale/corp#30042
Updates tailscale/corp#20732

Signed-off-by: Jordan Whited <jordan@tailscale.com>
This commit is contained in:
Jordan Whited 2025-07-16 08:43:20 -07:00 committed by Jordan Whited
parent 4064566eca
commit 1d0488a3d7
3 changed files with 6 additions and 6 deletions

View file

@ -109,8 +109,9 @@ type InitiationAwareEndpoint interface {
// to learn the identification WireGuard can derive from the session
// or handshake.
//
// wireguard-go never installs a [PeerAwareEndpoint] as the [Endpoint] for a
// [Peer].
// A [PeerAwareEndpoint] may be installed as the [conn.Endpoint] following
// successful decryption unless endpoint roaming has been disabled for
// the peer.
type PeerAwareEndpoint interface {
// FromPeer is called at least once per successfully Cryptokey Routing ID'd
// [ReceiveFunc] packets batch for a given node key. wireguard-go will