Lines Matching defs:pTrunk

134     struct INTNETTRUNKIF   *pTrunk;
147 struct INTNETTRUNKIF *pTrunk;
741 * @param pTrunk The trunk.
743 DECLINLINE(void) intnetR0BusyDecTrunk(PINTNETTRUNKIF pTrunk)
745 if (pTrunk)
746 intnetR0BusyDec(pTrunk->pNetwork, &pTrunk->cBusy);
770 * @param pTrunk The trunk.
772 DECLINLINE(void) intnetR0BusyIncTrunk(PINTNETTRUNKIF pTrunk)
774 if (!pTrunk) return;
775 uint32_t cNewBusy = ASMAtomicIncU32(&pTrunk->cBusy);
1497 pDstTab->pTrunk = 0;
1567 PINTNETTRUNKIF pTrunk = pTab->pTrunk;
1568 pDstTab->pTrunk = pTrunk;
1569 intnetR0BusyIncTrunk(pTrunk);
1659 pDstTab->pTrunk = 0;
1737 PINTNETTRUNKIF pTrunk = pTab->pTrunk;
1738 pDstTab->pTrunk = pTrunk;
1739 intnetR0BusyIncTrunk(pTrunk);
1771 pDstTab->pTrunk = 0;
1799 PINTNETTRUNKIF pTrunk = pTab->pTrunk;
1800 pDstTab->pTrunk = pTrunk;
1801 intnetR0BusyIncTrunk(pTrunk);
1832 pDstTab->pTrunk = 0;
1860 PINTNETTRUNKIF pTrunk = pTab->pTrunk;
1861 pDstTab->pTrunk = pTrunk;
1862 intnetR0BusyIncTrunk(pTrunk);
1891 pDstTab->pTrunk = 0;
1902 PINTNETTRUNKIF pTrunk = pTab->pTrunk;
1903 pDstTab->pTrunk = pTrunk;
1904 intnetR0BusyIncTrunk(pTrunk);
1981 && pNetwork->MacTab.pTrunk)
1984 PINTNETTRUNKIF pTrunk = pNetwork->MacTab.pTrunk;
1985 PINTNETDSTTAB * const ppEndDstTab = &pTrunk->apIntDstTabs[pTrunk->cIntDstTabs];
1986 for (PINTNETDSTTAB *ppDstTab = &pTrunk->apTaskDstTabs[0];
1997 RTSpinlockAcquire(pTrunk->hDstTabSpinlock);
2001 RTSpinlockRelease(pTrunk->hDstTabSpinlock);
2007 intnetR0BusyWait(pNetwork, &pTrunk->cBusy);
3217 if (pNetwork->MacTab.pTrunk)
3218 MacAddrTrunk = pNetwork->MacTab.pTrunk->MacAddr;
3396 PINTNETTRUNKIF pTrunk = pDstTab->pTrunk;
3397 if (pTrunk && (fTrunkDst & pTrunk->fNoPreemptDsts) == fTrunkDst)
3432 PINTNETTRUNKIF pTrunk = pNetwork->MacTab.pTrunk;
3434 bool fRc = !pTrunk
3435 || pTrunk->fNoPreemptDsts == (INTNETTRUNKDIR_HOST | INTNETTRUNKDIR_WIRE)
3436 || ( (!pNetwork->MacTab.fHostActive || (pTrunk->fNoPreemptDsts & INTNETTRUNKDIR_HOST) )
3437 && (!pNetwork->MacTab.fWireActive || (pTrunk->fNoPreemptDsts & INTNETTRUNKDIR_WIRE) ) );
3641 PINTNETTRUNKIF pTrunk = pDstTab->pTrunk;
3642 if (pTrunk)
3643 intnetR0BusyDec(pNetwork, &pTrunk->cBusy);
3644 pDstTab->pTrunk = NULL;
3699 PINTNETTRUNKIF pTrunk = pDstTab->pTrunk;
3700 if (pTrunk)
3703 intnetR0TrunkIfSend(pTrunk, pNetwork, pIfSender, pDstTab->fTrunkDst, pSG);
3704 intnetR0BusyDec(pNetwork, &pTrunk->cBusy);
3706 pDstTab->pTrunk = NULL;
4214 PINTNETTRUNKIF pTrunk = NULL;
4231 pTrunk = pNetwork->MacTab.pTrunk;
4232 if (pTrunk)
4233 intnetR0BusyIncTrunk(pTrunk);
4238 if (pTrunk)
4241 PINTNETTRUNKIFPORT pIfPort = pTrunk->pIfPort;
4244 intnetR0BusyDecTrunk(pTrunk);
4295 PINTNETTRUNKIF pTrunk = NULL;
4314 pTrunk = pNetwork->MacTab.pTrunk;
4315 if (pTrunk)
4327 pTrunk = pNetwork->MacTab.pTrunk;
4341 if (pTrunk && pTrunk->pIfPort)
4344 intnetR0BusyWait(pNetwork, &pTrunk->cBusy);
4346 pTrunk->pIfPort->pfnSetState(pTrunk->pIfPort, fActive ? INTNETTRUNKIFSTATE_ACTIVE : INTNETTRUNKIFSTATE_INACTIVE);
4738 PINTNETTRUNKIF pTrunk = pNetwork->MacTab.pTrunk;
4743 if (pTrunk && pTrunk->pIfPort)
4744 pTrunk->pIfPort->pfnDisconnectInterface(pTrunk->pIfPort, pIf->pvIfData);
4962 PINTNETTRUNKIF pTrunk = pNetwork->MacTab.pTrunk;
4963 if (pTrunk)
4964 intnetR0BusyIncTrunk(pTrunk);
4968 if (pTrunk)
4971 if (pTrunk->pIfPort)
4972 rc = pTrunk->pIfPort->pfnConnectInterface(pTrunk->pIfPort, pIf, &pIf->pvIfData);
4973 intnetR0BusyDecTrunk(pTrunk);
5136 Assert(pNetwork->MacTab.pTrunk == pThis); /* Must be valid as long as tehre are no concurrent calls to this method. */
5146 pNetwork->MacTab.pTrunk = NULL;
5498 PINTNETTRUNKIF pTrunk = (PINTNETTRUNKIF)RTMemAllocZ(RT_OFFSETOF(INTNETTRUNKIF, apIntDstTabs[cCpus]));
5499 if (!pTrunk)
5504 pTrunk->cIntDstTabs = cCpus;
5506 rc = intnetR0AllocDstTab(pNetwork->MacTab.cEntriesAllocated, &pTrunk->apIntDstTabs[i]);
5507 for (unsigned i = 0; i < RT_ELEMENTS(pTrunk->apTaskDstTabs) && RT_SUCCESS(rc); i++)
5508 rc = intnetR0AllocDstTab(pNetwork->MacTab.cEntriesAllocated, &pTrunk->apTaskDstTabs[i]);
5512 pTrunk->SwitchPort.u32Version = INTNETTRUNKSWPORT_VERSION;
5513 pTrunk->SwitchPort.pfnPreRecv = intnetR0TrunkIfPortPreRecv;
5514 pTrunk->SwitchPort.pfnRecv = intnetR0TrunkIfPortRecv;
5515 pTrunk->SwitchPort.pfnSGRetain = intnetR0TrunkIfPortSGRetain;
5516 pTrunk->SwitchPort.pfnSGRelease = intnetR0TrunkIfPortSGRelease;
5517 pTrunk->SwitchPort.pfnSetSGPhys = intnetR0TrunkIfPortSetSGPhys;
5518 pTrunk->SwitchPort.pfnReportMacAddress = intnetR0TrunkIfPortReportMacAddress;
5519 pTrunk->SwitchPort.pfnReportPromiscuousMode = intnetR0TrunkIfPortReportPromiscuousMode;
5520 pTrunk->SwitchPort.pfnReportGsoCapabilities = intnetR0TrunkIfPortReportGsoCapabilities;
5521 pTrunk->SwitchPort.pfnReportNoPreemptDsts = intnetR0TrunkIfPortReportNoPreemptDsts;
5522 pTrunk->SwitchPort.pfnDisconnect = intnetR0TrunkIfPortDisconnect;
5523 pTrunk->SwitchPort.u32VersionEnd = INTNETTRUNKSWPORT_VERSION;
5524 //pTrunk->pIfPort = NULL;
5525 pTrunk->pNetwork = pNetwork;
5526 pTrunk->MacAddr.au8[0] = 0xff;
5527 pTrunk->MacAddr.au8[1] = 0xff;
5528 pTrunk->MacAddr.au8[2] = 0xff;
5529 pTrunk->MacAddr.au8[3] = 0xff;
5530 pTrunk->MacAddr.au8[4] = 0xff;
5531 pTrunk->MacAddr.au8[5] = 0xff;
5532 //pTrunk->fPhysSG = false;
5533 //pTrunk->fUnused = false;
5534 //pTrunk->cBusy = 0;
5535 //pTrunk->fNoPreemptDsts = 0;
5536 //pTrunk->fWireGsoCapabilites = 0;
5537 //pTrunk->fHostGsoCapabilites = 0;
5538 //pTrunk->abGsoHdrs = {0};
5539 pTrunk->hDstTabSpinlock = NIL_RTSPINLOCK;
5540 //pTrunk->apTaskDstTabs = above;
5541 //pTrunk->cIntDstTabs = above;
5542 //pTrunk->apIntDstTabs = above;
5547 rc = RTSpinlockCreate(&pTrunk->hDstTabSpinlock, RTSPINLOCK_FLAGS_INTERRUPT_SAFE, "hDstTabSpinlock");
5556 pNetwork->MacTab.pTrunk = pTrunk;
5557 pNetwork->MacTab.HostMac = pTrunk->MacAddr;
5577 &pTrunk->SwitchPort,
5581 &pTrunk->pIfPort);
5585 Assert(pTrunk->pIfPort);
5597 pNetwork->MacTab.pTrunk = NULL;
5601 RTSpinlockDestroy(pTrunk->hDstTabSpinlock);
5604 for (unsigned i = 0; i < RT_ELEMENTS(pTrunk->apTaskDstTabs); i++)
5605 RTMemFree(pTrunk->apTaskDstTabs[i]);
5606 for (unsigned i = 0; i < pTrunk->cIntDstTabs; i++)
5607 RTMemFree(pTrunk->apIntDstTabs[i]);
5608 RTMemFree(pTrunk);
5639 PINTNETTRUNKIF pTrunk = pNetwork->MacTab.pTrunk;
5640 if (pTrunk)
5641 pTrunk->pIfPort->pfnSetState(pTrunk->pIfPort, INTNETTRUNKIFSTATE_DISCONNECTING);
5667 if (pTrunk)
5668 intnetR0BusyWait(pNetwork, &pTrunk->cBusy);
5697 pNetwork->MacTab.pTrunk = NULL;
5701 if (pTrunk)
5702 intnetR0TrunkIfDestroy(pTrunk, pNetwork);
5848 bool fActiveTrunk = pNetwork->MacTab.pTrunk
6081 pNetwork->MacTab.pTrunk = NULL;