| 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_) |
nothing calls this directly
no test coverage detected