From 4c793014af51a3b6e3a9a0fb3447b8fc4ce4cc80 Mon Sep 17 00:00:00 2001 From: Val Date: Thu, 14 Sep 2023 17:49:53 +0200 Subject: [PATCH] wgengine/magicsock: fix don't fragment setsockopt arg for IPv6 on linux Use IPV6_MTU_DISCOVER for setting don't fragment on IPv6 sockets on Linux (was using IP_MTU_DISCOVER, the IPv4 arg). Updates #311 Signed-off-by: Val --- wgengine/magicsock/peermtu_linux.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wgengine/magicsock/peermtu_linux.go b/wgengine/magicsock/peermtu_linux.go index b803f1a26..2f971e9c9 100644 --- a/wgengine/magicsock/peermtu_linux.go +++ b/wgengine/magicsock/peermtu_linux.go @@ -21,7 +21,7 @@ func setDontFragment(pconn nettype.PacketConn, network string) (err error) { err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_MTU_DISCOVER, syscall.IP_PMTUDISC_DO) } if network == "udp6" { - err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IPV6, syscall.IP_MTU_DISCOVER, syscall.IP_PMTUDISC_DO) + err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IPV6, syscall.IPV6_MTU_DISCOVER, syscall.IP_PMTUDISC_DO) } }) }