tailcfg, controlclient, magicsock: request IPv6 endpoints, but ignore them

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
reviewable/pr200/r1
Brad Fitzpatrick 4 years ago committed by Brad Fitzpatrick
parent 12a6626a94
commit 94024355ed

@ -449,6 +449,7 @@ func (c *Direct) PollNetMap(ctx context.Context, maxPolls int, cb func(*NetworkM
request := tailcfg.MapRequest{
Version: 4,
IncludeIPv6: true,
KeepAlive: c.keepAlive,
NodeKey: tailcfg.NodeKey(persist.PrivateNodeKey.Public()),
Endpoints: ep,

@ -395,7 +395,8 @@ type MapRequest struct {
Compress string // "zstd" or "" (no compression)
KeepAlive bool // server sends keep-alives
NodeKey NodeKey
Endpoints []string
Endpoints []string // caller's endpoints (IPv4 or IPv6)
IncludeIPv6 bool // include IPv6 endpoints in returned Node Endpoints
Stream bool // if true, multiple MapResponse objects are returned
Hostinfo *Hostinfo
}

@ -1456,6 +1456,10 @@ func (c *Conn) CreateEndpoint(key [32]byte, addrs string) (conn.Endpoint, error)
}
if ip4 := addr.IP.To4(); ip4 != nil {
addr.IP = ip4
} else {
// TODO(bradfitz): stop skipping IPv6 ones for now.
c.logf("magicsock: CreateEndpoint: ignoring IPv6 addr %v for now", addr)
continue
}
a.addrs = append(a.addrs, *addr)
}

Loading…
Cancel
Save