From 9054c5c79068da8d2583b23dca9464293c36901a Mon Sep 17 00:00:00 2001 From: database64128 Date: Tue, 4 Mar 2025 13:21:40 +0800 Subject: [PATCH] windows: add constants for PMTUD socket options Related documentation: - https://learn.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options - https://learn.microsoft.com/en-us/windows/win32/winsock/ipproto-ipv6-socket-options --- windows/types_windows.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/windows/types_windows.go b/windows/types_windows.go index 9d138de5fe..fac0309d08 100644 --- a/windows/types_windows.go +++ b/windows/types_windows.go @@ -1074,6 +1074,7 @@ const ( IP_ADD_MEMBERSHIP = 0xc IP_DROP_MEMBERSHIP = 0xd IP_PKTINFO = 0x13 + IP_MTU_DISCOVER = 0x47 IPV6_V6ONLY = 0x1b IPV6_UNICAST_HOPS = 0x4 @@ -1083,6 +1084,7 @@ const ( IPV6_JOIN_GROUP = 0xc IPV6_LEAVE_GROUP = 0xd IPV6_PKTINFO = 0x13 + IPV6_MTU_DISCOVER = 0x47 MSG_OOB = 0x1 MSG_PEEK = 0x2 @@ -1132,6 +1134,15 @@ const ( WSASYS_STATUS_LEN = 128 ) +// enum PMTUD_STATE from ws2ipdef.h +const ( + IP_PMTUDISC_NOT_SET = 0 + IP_PMTUDISC_DO = 1 + IP_PMTUDISC_DONT = 2 + IP_PMTUDISC_PROBE = 3 + IP_PMTUDISC_MAX = 4 +) + type WSABuf struct { Len uint32 Buf *byte