Changeset 49745 in vbox
- Timestamp:
- Dec 2, 2013 11:40:35 PM (11 years ago)
- File:
-
- 1 edited
-
trunk/src/VBox/NetworkServices/NAT/pxping.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/NetworkServices/NAT/pxping.c
r49715 r49745 80 80 int ttl; 81 81 int tos; 82 int df; 82 83 83 84 SOCKET sock6; … … 262 263 g_pxping.ttl = -1; 263 264 g_pxping.tos = 0; 265 g_pxping.df = -1; 264 266 265 267 g_pxping.pmhdl4.callback = pxping_pmgr_pump; … … 481 483 } 482 484 } 485 486 #if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS) || defined(RT_OS_WINDOWS) 487 { 488 const int df_flag = IPH_OFFSET(iph) & PP_HTONS(IP_DF); 489 490 #if defined(RT_OS_LINUX) 491 const char * const dfoptname = "IP_MTU_DISCOVER"; 492 const int dfopt = IP_MTU_DISCOVER; 493 int df = df_flag ? IP_PMTUDISC_PROBE : IP_PMTUDISC_DONT; 494 #elif defined(RT_OS_SOLARIS) 495 const char * const dfoptname = "IP_DONTFRAG"; 496 const int dfopt = IP_DONTFRAG; 497 int df = !!df_flag; 498 #elif defined(RT_OS_WINDOWS) 499 const char * const dfoptname = "IP_DONTFRAGMENT"; 500 const int dfopt = IP_DONTFRAGMENT; 501 DWORD df = !!df_flag; 502 #endif 503 if (df != pxping->df) { 504 status = setsockopt(pxping->sock4, IPPROTO_IP, dfopt, 505 (char *)&df, sizeof(df)); 506 if (status == 0) { 507 pxping->df = df; 508 } 509 else { 510 perror(dfoptname); 511 } 512 } 513 } 514 #endif /* don't fragment */ 483 515 484 516 proxy_sendto(pxping->sock4, p,
Note:
See TracChangeset
for help on using the changeset viewer.

