wireguard-go/conn
Jordan Whited 2fcdaf9799 conn: fix StdNetBind fallback on Windows
If RIO is unavailable, NewWinRingBind() falls back to StdNetBind.
StdNetBind uses x/net/ipv{4,6}.PacketConn for sending and receiving
datagrams, specifically via the {Read,Write}Batch methods.
These methods are unimplemented on Windows and will return runtime
errors as a result. Additionally, only Linux benefits from these
x/net types for reading and writing, so we update StdNetBind to fall
back to the standard library net package for all platforms other than
Linux.

Reviewed-by: James Tucker <james@tailscale.com>
Signed-off-by: Jordan Whited <jordan@tailscale.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-03-10 14:52:24 +01:00
..
bindtest conn, device, tun: implement vectorized I/O plumbing 2023-03-10 14:52:13 +01:00
winrio global: bump copyright year 2023-02-07 20:39:29 -03:00
bind_std_test.go conn: fix StdNetBind fallback on Windows 2023-03-10 14:52:24 +01:00
bind_std.go conn: fix StdNetBind fallback on Windows 2023-03-10 14:52:24 +01:00
bind_windows.go conn: inch BatchSize toward being non-dynamic 2023-03-10 14:52:22 +01:00
boundif_android.go conn, device, tun: implement vectorized I/O on Linux 2023-03-10 14:52:17 +01:00
conn_test.go conn, device, tun: implement vectorized I/O plumbing 2023-03-10 14:52:13 +01:00
conn.go conn: inch BatchSize toward being non-dynamic 2023-03-10 14:52:22 +01:00
controlfns_linux.go conn: set SO_{SND,RCV}BUF to 7MB on the Bind UDP socket 2023-03-10 14:52:20 +01:00
controlfns_unix.go conn: set SO_{SND,RCV}BUF to 7MB on the Bind UDP socket 2023-03-10 14:52:20 +01:00
controlfns_windows.go conn: set SO_{SND,RCV}BUF to 7MB on the Bind UDP socket 2023-03-10 14:52:20 +01:00
controlfns.go conn: set SO_{SND,RCV}BUF to 7MB on the Bind UDP socket 2023-03-10 14:52:20 +01:00
default.go conn, device, tun: implement vectorized I/O on Linux 2023-03-10 14:52:17 +01:00
mark_default.go conn, device, tun: implement vectorized I/O on Linux 2023-03-10 14:52:17 +01:00
mark_unix.go conn, device, tun: implement vectorized I/O on Linux 2023-03-10 14:52:17 +01:00
sticky_default.go conn, device, tun: implement vectorized I/O on Linux 2023-03-10 14:52:17 +01:00
sticky_linux_test.go conn, device, tun: implement vectorized I/O on Linux 2023-03-10 14:52:17 +01:00
sticky_linux.go conn, device, tun: implement vectorized I/O on Linux 2023-03-10 14:52:17 +01:00