hotfix(pmtud/icmp): set IPv6 dont fragment options just in case

This commit is contained in:
Quentin McGaw
2026-02-19 16:32:33 +00:00
parent 8d86470905
commit 67b66bba9e
5 changed files with 29 additions and 9 deletions
+7 -3
View File
@@ -4,7 +4,11 @@ import (
"golang.org/x/sys/unix"
)
func setDontFragment(fd uintptr) (err error) {
return unix.SetsockoptInt(int(fd), unix.IPPROTO_IP,
unix.IP_MTU_DISCOVER, unix.IP_PMTUDISC_PROBE)
func setDontFragment(fd uintptr, ipv4 bool) (err error) {
if ipv4 {
return unix.SetsockoptInt(int(fd), unix.IPPROTO_IP,
unix.IP_MTU_DISCOVER, unix.IP_PMTUDISC_PROBE)
}
return unix.SetsockoptInt(int(fd), unix.IPPROTO_IPV6,
unix.IPV6_MTU_DISCOVER, unix.IPV6_PMTUDISC_PROBE)
}