Changeset 24190 in vbox for trunk/src/VBox/HostDrivers/VBoxNetFlt
- Timestamp:
- Oct 30, 2009 2:03:30 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 54137
- Location:
- trunk/src/VBox/HostDrivers/VBoxNetFlt/win
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.c
r23927 r24190 1715 1715 PNDIS_BUFFER pBuffer; 1716 1716 PVOID pMemBuf; 1717 1718 /* @todo: generally we do not always need to zero-initialize the complete OOB data here, reinitialize only when/what we need, 1719 * however we DO need to reset the status for the packets we indicate via NdisMIndicateReceivePacket to avoid packet loss 1720 * in case the status contains NDIS_STATUS_RESOURCES */ 1721 VBOXNETFLT_OOB_INIT(pPacket); 1717 1722 1718 1723 if(bCopyMemory) -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.h
r23927 r24190 998 998 #endif 999 999 1000 #if !defined(VBOX_NETFLT_ONDEMAND_BIND) && !defined(VBOXNETADP)1001 1002 1000 /************************************************************** 1003 1001 * utility methofs for ndis packet creation/initialization * 1004 1002 **************************************************************/ 1003 1004 #define VBOXNETFLT_OOB_INIT(_p) \ 1005 { \ 1006 NdisZeroMemory(NDIS_OOB_DATA_FROM_PACKET(_p), sizeof(NDIS_PACKET_OOB_DATA)); \ 1007 NDIS_SET_PACKET_HEADER_SIZE(_p, ETH_HEADER_SIZE); \ 1008 } 1009 1010 #if !defined(VBOX_NETFLT_ONDEMAND_BIND) && !defined(VBOXNETADP) 1011 1005 1012 DECLINLINE(NDIS_STATUS) vboxNetFltWinCopyPacketInfoOnRecv(PNDIS_PACKET pDstPacket, PNDIS_PACKET pSrcPacket) 1006 1013 { -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFltMp-win.c
r23927 r24190 479 479 RTSPINLOCKTMP Tmp = RTSPINLOCKTMP_INITIALIZER; 480 480 uint64_t NanoTS = RTTimeSystemNanoTS(); 481 int cPPUsage; 481 482 482 483 Assert(vboxNetFltWinGetOpState(&pAdapt->MPState) == kVBoxNetDevOpState_Initialized); … … 496 497 497 498 vboxNetFltWinWaitDereference(&pAdapt->MPState); 499 500 /* check packet pool is empty */ 501 cPPUsage = NdisPacketPoolUsage(pAdapt->hRecvPacketPoolHandle); 502 Assert(cPPUsage == 0); 503 /* for debugging only, ignore the err in release */ 504 NOREF(cPPUsage); 498 505 499 506 vboxNetFltWinSetOpState(&pAdapt->MPState, kVBoxNetDevOpState_Deinitialized); -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFltPt-win.c
r24044 r24190 291 291 uint64_t NanoTS = RTTimeSystemNanoTS(); 292 292 #endif 293 int cPPUsage; 293 294 294 295 LogFlow(("==> vboxNetFltWinPtDoUnbinding: Adapt %p\n", pAdapt)); … … 355 356 356 357 vboxNetFltWinWaitDereference(&pAdapt->PTState); 358 359 /* check packet pool is empty */ 360 cPPUsage = NdisPacketPoolUsage(pAdapt->hSendPacketPoolHandle); 361 Assert(cPPUsage == 0); 362 cPPUsage = NdisPacketPoolUsage(pAdapt->hRecvPacketPoolHandle); 363 Assert(cPPUsage == 0); 364 /* for debugging only, ignore the err in release */ 365 NOREF(cPPUsage); 357 366 358 367 while (ASMAtomicUoReadBool((volatile bool *)&pAdapt->bOutstandingRequests)) … … 1407 1416 } 1408 1417 1418 VBOXNETFLT_OOB_INIT(pPacket); 1419 1409 1420 #ifdef VBOX_LOOPBACK_USEFLAGS 1410 1421 /* set "don't loopback" flags */ 1411 1422 NdisSetPacketFlags(pPacket, g_fPacketDontLoopBack); 1423 #else 1424 NdisSetPacketFlags(pPacket, 0); 1412 1425 #endif 1413 1426 … … 2159 2172 PVBOXNETFLTINS pNetFlt = PADAPT_2_PVBOXNETFLTINS(pAdapt); 2160 2173 RTSPINLOCKTMP Tmp = RTSPINLOCKTMP_INITIALIZER; 2174 int cPPUsage; 2161 2175 2162 2176 ReturnStatus = NDIS_STATUS_SUCCESS; … … 2219 2233 #endif 2220 2234 2221 Assert(NdisPacketPoolUsage(pAdapt->hSendPacketPoolHandle) == 0); 2235 /* check packet pool is empty */ 2236 cPPUsage = NdisPacketPoolUsage(pAdapt->hSendPacketPoolHandle); 2237 Assert(cPPUsage == 0); 2238 cPPUsage = NdisPacketPoolUsage(pAdapt->hRecvPacketPoolHandle); 2239 Assert(cPPUsage == 0); 2240 /* for debugging only, ignore the err in release */ 2241 NOREF(cPPUsage); 2242 2222 2243 #ifndef VBOX_NETFLT_ONDEMAND_BIND 2223 Assert(NdisPacketPoolUsage(pAdapt->hRecvPacketPoolHandle) == 0);2224 2244 Assert(pAdapt->bOutstandingRequests == FALSE); 2225 2245 #endif
Note:
See TracChangeset
for help on using the changeset viewer.