tailscale/net/interfaces
Denton Gentry ad288baaea net/interfaces: use IPv4 link local if nothing better
The only connectivity an AWS Lambda container has is an IPv4 link-local
169.254.x.x address using NAT:
12: vtarget_1@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
                    qdisc noqueue state UP group default qlen 1000
     link/ether 7e:1c:3f:00:00:00 brd ff:ff:ff:ff:ff:ff link-netnsid 1
     inet 169.254.79.1/32 scope global vtarget_1
     valid_lft forever preferred_lft forever

If there are no other IPv4/v6 addresses available, and we are running
in AWS Lambda, allow IPv4 169.254.x.x addresses to be used.

----

Similarly, a Google Cloud Run container's only connectivity is
a Unique Local Address fddf:3978:feb1:d745::c001/128.
If there are no other addresses available then allow IPv6
Unique Local Addresses to be used.
We actually did this in an earlier release, but now refactor it to
work the same way as the IPv4 link-local support is being done.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2021-06-18 21:52:47 -07:00
..
interfaces_darwin_test.go net/interfaces: work around race fetching routing table 2021-04-23 13:23:19 -07:00
interfaces_darwin.go net/interface: remove darwin fetchRoutingTable workaround 2021-05-10 08:24:11 -07:00
interfaces_default_route_test.go net/{interfaces,netns}: change which build tag means mac/ios Network/System Extension 2021-06-03 08:29:22 -07:00
interfaces_defaultrouteif_todo.go net/interfaces: merge darwin files for DefaultRouteInterface in sandbox 2021-03-02 21:15:25 -08:00
interfaces_linux_test.go net/{interfaces,netns}: change which build tag means mac/ios Network/System Extension 2021-06-03 08:29:22 -07:00
interfaces_linux.go interfaces: check correct error /proc/net/route 2021-03-31 14:37:26 -07:00
interfaces_test.go net/{interfaces,netcheck}: rename some fields, funcs 2021-06-17 17:50:13 -07:00
interfaces_windows_test.go net/interfaces: quiet PAC detection logging in no-PAC case, add benchmark 2020-10-01 22:02:39 -07:00
interfaces_windows.go net/interfaces: use windows API to get the default route instead of parsing route print output 2021-03-19 14:07:36 +01:00
interfaces.go net/interfaces: use IPv4 link local if nothing better 2021-06-18 21:52:47 -07:00
route.h net/interfaces: use syscalls to find private gateway IP address 2020-08-04 15:45:56 -07:00