Lines Matching refs:pPacket

578 static VOID vboxNetFltWinPtSendComplete(IN NDIS_HANDLE hProtocolBindingContext, IN PNDIS_PACKET pPacket, IN NDIS_STATUS Status)
581 PVBOXNETFLT_PKTRSVD_PT pSendInfo = (PVBOXNETFLT_PKTRSVD_PT)pPacket->ProtocolReserved;
584 LogFlow(("==>"__FUNCTION__": pNetFlt (0x%p), pPacket (0x%p), Status (0x%x)\n", pNetFlt, pPacket, Status));
589 vboxNetFltWinLbRemoveSendPacket(pNetFlt, pPacket);
594 NdisIMCopySendCompletePerPacketInfo(pOrigPacket, pPacket);
595 NdisFreePacket(pPacket);
603 vboxNetFltWinFreeSGNdisPacket(pPacket, !pBufToFree);
613 LogFlow(("<=="__FUNCTION__": pNetFlt (0x%p), pPacket (0x%p), Status (0x%x)\n", pNetFlt, pPacket, Status));
620 static bool vboxNetFltWinRemovePacketFromList(PVBOXNETFLT_INTERLOCKED_SINGLE_LIST pList, PNDIS_PACKET pPacket)
622 PVBOXNETFLT_PKTRSVD_TRANSFERDATA_PT pTDR = (PVBOXNETFLT_PKTRSVD_TRANSFERDATA_PT)pPacket->ProtocolReserved;
629 static void vboxNetFltWinPutPacketToList(PVBOXNETFLT_INTERLOCKED_SINGLE_LIST pList, PNDIS_PACKET pPacket, PNDIS_BUFFER pOrigBuffer)
631 PVBOXNETFLT_PKTRSVD_TRANSFERDATA_PT pTDR = (PVBOXNETFLT_PKTRSVD_TRANSFERDATA_PT)pPacket->ProtocolReserved;
636 static bool vboxNetFltWinPtTransferDataCompleteActive(PVBOXNETFLTINS pNetFltIf, PNDIS_PACKET pPacket, NDIS_STATUS Status)
641 if (!vboxNetFltWinRemovePacketFromList(&pNetFltIf->u.s.WinIf.TransferDataList, pPacket))
644 pTDR = (PVBOXNETFLT_PKTRSVD_TRANSFERDATA_PT)pPacket->ProtocolReserved;
650 NdisUnchainBufferAtFront(pPacket, &pBuffer);
658 NdisChainBufferAtBack(pPacket, pBuffer);
670 if (vboxNetFltWinIsLoopedBackPacket(pPacket))
676 PNDIS_PACKET pLb = vboxNetFltWinLbSearchLoopBack(pNetFltIf, pPacket, false);
686 NdisMIndicateReceivePacket(pNetFltIf->u.s.WinIf.hMiniport, &pPacket, 1);
697 PVBOXNETFLT_PKTRSVD_MP pRecvInfo = (PVBOXNETFLT_PKTRSVD_MP)pPacket->MiniportReserved;
699 VBOXNETFLT_LBVERIFY(pNetFltIf, pPacket);
704 NdisGetPacketFlags(pPacket) = 0;
706 if (vboxNetFltWinPostIntnet(pNetFltIf, pPacket, 0))
709 vboxNetFltWinFreeSGNdisPacket(pPacket, true);
714 NdisMIndicateReceivePacket(pNetFltIf->u.s.WinIf.hMiniport, &pPacket, 1);
719 Status = vboxNetFltWinQuEnqueuePacket(pNetFltIf, pPacket, PACKET_MINE);
733 vboxNetFltWinFreeSGNdisPacket(pPacket, true);
742 IN PNDIS_PACKET pPacket,
747 LogFlow(("==>"__FUNCTION__": pNetFlt (0x%p), pPacket (0x%p), Status (0x%x), cbTransfered (%d)\n", pNetFlt, pPacket, Status, cbTransferred));
748 if (!vboxNetFltWinPtTransferDataCompleteActive(pNetFlt, pPacket, Status))
753 pPacket,
762 LogFlow(("<=="__FUNCTION__": pNetFlt (0x%p), pPacket (0x%p), Status (0x%x), cbTransfered (%d)\n", pNetFlt, pPacket, Status, cbTransferred));
765 static INT vboxNetFltWinRecvPacketPassThru(PVBOXNETFLTINS pNetFlt, PNDIS_PACKET pPacket, BOOLEAN bForceIndicate)
770 NDIS_STATUS Status = vboxNetFltWinPrepareRecvPacket(pNetFlt, pPacket, &pMyPacket, true);
792 static NDIS_STATUS vboxNetFltWinRecvPassThru(PVBOXNETFLTINS pNetFlt, PNDIS_PACKET pPacket)
803 vboxNetFltWinCopyPacketInfoOnRecv(pMyPacket, pPacket, true /* force NDIS_STATUS_RESOURCES */);
972 PNDIS_PACKET pPacket;
980 NdisAllocatePacket(&Status, &pPacket, pNetFlt->u.s.WinIf.hRecvPacketPool);
987 VBOXNETFLT_OOB_INIT(pPacket);
991 NdisGetPacketFlags(pPacket) = g_VBoxNetFltGlobalsWin.fPacketDontLoopBack;
993 NdisGetPacketFlags(pPacket) = 0;
1000 NdisFreePacket(pPacket);
1008 NdisFreePacket(pPacket);
1019 NdisFreePacket(pPacket);
1024 NdisChainBufferAtBack(pPacket, pTransferBuffer);
1028 vboxNetFltWinPutPacketToList(&pNetFlt->u.s.WinIf.TransferDataList, pPacket, pOrigBuffer);
1045 cbPacket, pPacket, &cbTransferred);
1050 vboxNetFltWinPtTransferDataComplete(pNetFlt, pPacket, Status, cbTransferred);
1067 PNDIS_PACKET pPacket = NULL;
1080 pPacket = NdisGetReceivedPacket(pNetFlt->u.s.WinIf.hBinding, MacReceiveContext);
1081 if (pPacket)
1086 if (vboxNetFltWinIsLoopedBackPacket(pPacket))
1090 //NdisReturnPackets(&pPacket, 1);
1095 VBOXNETFLT_LBVERIFY(pNetFlt, pPacket);
1101 pLb = vboxNetFltWinLbSearchLoopBack(pNetFlt, pPacket, false);
1105 VBOXNETFLT_LBVERIFY(pNetFlt, pPacket);
1108 if (vboxNetFltWinPostIntnet(pNetFlt, pPacket, 0))
1114 Status = vboxNetFltWinQuEnqueuePacket(pNetFlt, pPacket, PACKET_COPY);
1118 //NdisReturnPackets(&pPacket, 1);
1129 //NdisReturnPackets(&pPacket, 1);
1144 Status = vboxNetFltWinRecvPassThru(pNetFlt, pPacket);
1271 static INT vboxNetFltWinPtReceivePacket(NDIS_HANDLE hProtocolBindingContext, PNDIS_PACKET pPacket)
1286 if (vboxNetFltWinIsLoopedBackPacket(pPacket))
1293 //NdisReturnPackets(&pPacket, 1);
1297 VBOXNETFLT_LBVERIFY(pNetFlt, pPacket);
1303 PNDIS_PACKET pLb = vboxNetFltWinLbSearchLoopBack(pNetFlt, pPacket, false);
1310 bool bResources = NDIS_GET_PACKET_STATUS(pPacket) == NDIS_STATUS_RESOURCES;
1312 VBOXNETFLT_LBVERIFY(pNetFlt, pPacket);
1321 if (vboxNetFltWinPostIntnet(pNetFlt, pPacket, 0))
1329 fStatus = vboxNetFltWinQuEnqueuePacket(pNetFlt, pPacket, bResources ? PACKET_COPY : 0);
1337 //NdisReturnPackets(&pPacket, 1);
1358 //NdisReturnPackets(&pPacket, 1);
1364 cRefCount = vboxNetFltWinRecvPacketPassThru(pNetFlt, pPacket, bNetFltActive);
1389 //NdisReturnPackets(&pPacket, 1);