Quentin McGaw
8d86470905
feat(pmtud/tcp): use the TCP server with highest MSS to run MTU tests
2026-02-19 14:03:46 +00:00
Quentin McGaw
fb85ae79d1
chore(pmtud/tcp): move test helpers in helpers_test.go
2026-02-19 13:20:59 +00:00
Quentin McGaw
783616f61d
chore(pmtud/tcp): close connections with an RST packet on context cancelation
2026-02-19 13:20:59 +00:00
Quentin McGaw
bc79901f1e
chore(pmtud/tcp): restrict temp firewall rules to source ip and source port
2026-02-19 13:20:58 +00:00
Quentin McGaw
1c56189abc
hotfix(pmtud/tcp): fix rare race condition
2026-02-18 19:07:31 +00:00
Quentin McGaw
224618337c
hotfix(pmtud/tcp): respect MSS from server into account
2026-02-18 18:32:31 +00:00
Quentin McGaw
183d351b58
chore(pmtud/icmp): do not use net.ErrClosed when inappropriate
2026-02-17 21:46:24 +00:00
Quentin McGaw
04d7cef294
hotfix(pmtud/tcp): block kernel from racing to send RST packets
...
- this makes PMTUD TCP reliable
- this only works on kernels with the mark module
- on kernels without the mark module, the icmp pmtud mtu found is used
2026-02-17 21:46:24 +00:00
Quentin McGaw
5f903d1fbf
chore(pmtud): remove calls to syscall in favor of unix and windows
...
- syscall is deprecated and is not kept up-to-date
- each OS is inherently different hence the syscall being deprecated
2026-02-17 21:46:04 +00:00
Quentin McGaw
36dfd5b631
hotfix(pmtud): do not try every address for ICMP PMTUD
2026-02-16 23:54:38 +00:00
Quentin McGaw
f81b8342d6
hotfix(pmtud/tcp): temporary test fix
2026-02-16 23:54:38 +00:00
Quentin McGaw
cdec25da52
feat(pmtud/tcp): generate MTU test data to mimic TLS if possible to avoid being blocked
2026-02-16 19:57:12 +00:00
Quentin McGaw
201d1041f4
hotfix(pmtud/tcp): send MTU data in first and only ACK packet
...
- less likely to be flagged
- correct using TCP fast-open
2026-02-16 19:56:14 +00:00
Quentin McGaw
be92aa2ac4
Path MTU discovery fixes and improvements ( #3109 )
...
- Existing option `WIREGUARD_MTU` , if set, disables PMTUD and is used
- New option `PMTUD_ICMP_ADDRESSES=1.1.1.1,8.8.8.8` and `PMTUD_TCP_ADDRESSES=1.1.1.1:443,8.8.8.8:443`
- ICMP PMTUD now targets external-by-default IP addresses
- New TCP PMTUD (binary search only) as a second MTU confirmation and fallback mechanism.
- Force set TCP MSS to MTU - IP header - TCP base header - "magic 20 bytes" 🎆
- Fix #3108
2026-02-14 19:40:34 -05:00
Quentin McGaw
fe3d4a94d4
chore(all): make code compilable for other platforms than Linux
2026-01-24 17:56:10 +00:00
Quentin McGaw
de38d759a4
feat(vpn): path MTU discovery to find the best MTU ( #2586 )
2026-01-21 09:02:23 -08:00