MCPcopy Create free account
hub / github.com/catboost/catboost / ForbidFragmentation

Method ForbidFragmentation

library/cpp/netliba/socket/socket.cpp:299–315  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

297 }
298
299 void TAbstractSocket::ForbidFragmentation() {
300 // do not fragment ping packets
301#if defined(_win_)
302 DWORD flag = 1;
303 SetSockOpt(IPPROTO_IP, IP_DONTFRAGMENT, (const char*)&flag, sizeof(flag));
304#elif defined(_linux_)
305 int flag = IP_PMTUDISC_DO;
306 SetSockOpt(IPPROTO_IP, IP_MTU_DISCOVER, (const char*)&flag, sizeof(flag));
307
308 flag = IPV6_PMTUDISC_DO;
309 SetSockOpt(IPPROTO_IPV6, IPV6_MTU_DISCOVER, (const char*)&flag, sizeof(flag));
310#elif !defined(_darwin_)
311 int flag = 1;
312 //SetSockOpt(IPPROTO_IP, IP_DONTFRAG, (const char*)&flag, sizeof(flag));
313 SetSockOpt(IPPROTO_IPV6, IPV6_DONTFRAG, (const char*)&flag, sizeof(flag));
314#endif
315 }
316
317 void TAbstractSocket::EnableFragmentation() {
318#if defined(_win_)

Callers

nothing calls this directly

Calls 1

SetSockOptFunction · 0.85

Tested by

no test coverage detected