Index: net/udp/udp_socket_win.cc |
diff --git a/net/udp/udp_socket_win.cc b/net/udp/udp_socket_win.cc |
index 42cb05af9d24bc6aace1f09918d9881ffdfc8666..2a06645e61fad4518176cea1ec64d81b5c58f066 100644 |
--- a/net/udp/udp_socket_win.cc |
+++ b/net/udp/udp_socket_win.cc |
@@ -538,6 +538,15 @@ int UDPSocketWin::SetSendBufferSize(int32_t size) { |
return ERR_SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE; |
} |
+int UDPSocketWin::SetDoNotFragment() { |
+ DCHECK_NE(socket_, INVALID_SOCKET); |
+ DCHECK(CalledOnValidThread()); |
+ DWORD val = 1; |
+ int rv = setsockopt(socket_, IPPROTO_IP, IP_DONTFRAGMENT, |
+ reinterpret_cast<const char*>(&val), sizeof(val)); |
+ return rv == 0 ? OK : MapSystemError(WSAGetLastError()); |
+} |
+ |
int UDPSocketWin::AllowAddressReuse() { |
DCHECK_NE(socket_, INVALID_SOCKET); |
DCHECK(CalledOnValidThread()); |