Quentin McGaw
1d29f1f517
hotfix(pmtud): only set MSS on non-local VPN routes
2026-03-10 11:51:59 +00:00
Quentin McGaw
069cde8a85
hotfix(pmtud): set mss on all VPN routes
...
- fix behavior for OpenVPN splitting default route in multiple routes
- fix behavior for Wireguard if user specifies AllowedIPs
2026-03-08 23:27:04 +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
facc6df3be
chore(all): replace netlink library for more flexibility ( #3107 )
2026-01-27 01:11:39 -08:00
Quentin McGaw
fe3d4a94d4
chore(all): make code compilable for other platforms than Linux
2026-01-24 17:56:10 +00:00
Quentin McGaw
01fa9934bc
hotfix(routing): detect vpn local gateway with new routes listing
2024-08-25 07:01:33 +00:00
Quentin McGaw
76a92b90e3
fix(routing): VPNLocalGatewayIP Wireguard support
2023-06-28 14:23:34 +00:00
Quentin McGaw
9b39a301a8
chore(routing): remove unused VPNDestinationIP
2023-06-08 09:17:27 +00:00
Quentin McGaw
cade2b99bf
chore(routing): unexport IPIsPrivate as ipIsPrivate
2023-06-08 09:14:17 +00:00
Quentin McGaw
40cdb4f662
fix(netlink): RouteList list routes from all tables
...
- Do not filter by link anymore
- IPv6 detection simplified
2023-06-08 09:12:46 +00:00
Quentin McGaw
38ddcfa756
chore(netlink): define own types with minimal fields
...
- Allow to swap `github.com/vishvananda/netlink`
- Allow to add build tags for each platform
- One step closer to development on non-Linux platforms
2023-05-29 06:44:58 +00:00
Quentin McGaw
0a29337c3b
chore(all): replace net.IP with netip.Addr
2023-05-20 20:06:12 +00:00
Quentin McGaw
4ba159e483
chore(all): review error wrappings
...
- remove repetitive `cannot` and `failed` prefixes
- rename `unmarshaling` to `decoding`
2023-04-01 16:57:18 +00:00
Quentin McGaw
578ef768ab
chore(all): return concrete types, accept interfaces
...
- Remove exported interfaces unused locally
- Define interfaces to accept arguments
- Return concrete types, not interfaces
2022-06-11 01:34:30 +00:00
Quentin McGaw
920ad8b54b
chore(errors): review all errors in codebase
2022-02-20 02:58:16 +00:00
Quentin McGaw (desktop)
d6659552df
Maint: refactor internal/routing
...
- Split Go files better
- Reduce public API for exported errors
2021-08-25 17:52:05 +00:00