VirtualBox

Changeset 10763 in vbox for trunk/src/VBox/Devices/Network


Ignore:
Timestamp:
Jul 19, 2008 12:22:51 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
33521
Message:

logging changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/SrvIntNetR0.cpp

    r10748 r10763  
    593593typedef struct INTNETETHERHDR
    594594{
    595     PDMMAC  MacDst;
    596     PDMMAC  MacSrc;
     595    PDMMAC      MacDst;
     596    PDMMAC      MacSrc;
     597    uint16_t    EtherType;
    597598} INTNETETHERHDR;
    598599#pragma pack()
     
    610611static void intnetR0IfSend(PINTNETIF pIf, PINTNETIF pIfSender, PINTNETSG pSG)
    611612{
    612     LogFlow(("intnetR0IfSend: pIf=%p:{.hIf=%RX32}\n", pIf, pIf->hIf));
     613//    LogFlow(("intnetR0IfSend: pIf=%p:{.hIf=%RX32}\n", pIf, pIf->hIf));
    613614    int rc = intnetR0RingWriteFrame(pIf->pIntBuf, &pIf->pIntBuf->Recv, pSG);
    614615    if (RT_SUCCESS(rc))
     
    620621        return;
    621622    }
     623
     624    Log(("intnetR0IfSend: overflow cb=%d hIf=%#x\n", pSG->cbTotal, pIf->hIf));
    622625
    623626#if 0 /* This is bad stuff now as we're blocking while locking down the network.
     
    737740
    738741    /** @todo failure statistics? */
     742    Log2(("intnetR0TrunkIfSend: %Rrc fDst=%d\n", rc, fDst));
    739743}
    740744
     
    761765     * Write the packet to all the interfaces and signal them.
    762766     */
    763     Log2(("Broadcast\n"));
    764767    for (PINTNETIF pIf = pNetwork->pIFs; pIf; pIf = pIf->pNext)
    765768        if (pIf != pIfSender)
     
    816819     * Only send to the interfaces with matching a MAC address.
    817820     */
    818     Log2(("Dst=%.6Rhxs\n", &pEthHdr->MacDst));
    819821    bool fExactIntNetRecipient = false;
    820822    for (PINTNETIF pIf = pNetwork->pIFs; pIf; pIf = pIf->pNext)
    821823    {
    822         Log2(("Dst=%.6Rhxs ?==? %.6Rhxs\n", &pEthHdr->MacDst, &pIf->Mac));
    823824        bool fIt = false;
    824825        if (    (   !pIf->fMacSet
     
    828829                 && pIf != pIfSender /* promiscuous mode: omit the sender */))
    829830        {
     831            Log2(("Dst=%.6Rhxs => %.6Rhxs\n", &pEthHdr->MacDst, &pIf->Mac));
    830832            fExactIntNetRecipient |= fIt;
    831833            intnetR0IfSend(pIf, pIfSender, pSG);
     
    838840     * frame will hit the wire.
    839841     */
     842    uint32_t fDst = 0;
    840843    PINTNETTRUNKIF pTrunkIf = pNetwork->pTrunkIF;
    841844    if (    pIfSender
     
    843846        &&  pTrunkIf->pIfPort)
    844847    {
    845         uint32_t fDst = 0;
    846 
    847848        /* promiscuous checks first as they are cheaper than pfnIsHostMac. */
    848849        if (    pTrunkIf->fPromiscuousWire
     
    865866            intnetR0TrunkIfSend(pTrunkIf, pNetwork, fDst, pSG, fTrunkLocked);
    866867    }
     868
     869    /* log it */
     870    if (    !fExactIntNetRecipient
     871        &&  !fDst
     872        &&  (   (pEthHdr->MacDst.au8[0] == 0x08 && pEthHdr->MacDst.au8[1] == 0x00 && pEthHdr->MacDst.au8[2] == 0x27)
     873             || (pEthHdr->MacSrc.au8[0] == 0x08 && pEthHdr->MacSrc.au8[1] == 0x00 && pEthHdr->MacSrc.au8[2] == 0x27)))
     874        Log2(("Dst=%.6Rhxs ??\n", &pEthHdr->MacDst));
    867875
    868876    return fExactIntNetRecipient;
     
    930938        AssertReturn(!cbLeft, false);
    931939    }
     940    if (    (EthHdr.MacDst.au8[0] == 0x08 && EthHdr.MacDst.au8[1] == 0x00 && EthHdr.MacDst.au8[2] == 0x27)
     941        ||  (EthHdr.MacSrc.au8[0] == 0x08 && EthHdr.MacSrc.au8[1] == 0x00 && EthHdr.MacSrc.au8[2] == 0x27)
     942        ||  (EthHdr.MacDst.au8[0] == 0x00 && EthHdr.MacDst.au8[1] == 0x16 && EthHdr.MacDst.au8[2] == 0xcb)
     943        ||  (EthHdr.MacSrc.au8[0] == 0x00 && EthHdr.MacSrc.au8[1] == 0x16 && EthHdr.MacSrc.au8[2] == 0xcb)
     944        ||  EthHdr.MacDst.au8[0] == 0xff
     945        ||  EthHdr.MacSrc.au8[0] == 0xff)
     946        Log2(("D=%.6Rhxs  S=%.6Rhxs  T=%04x f=%x z=%x\n",
     947              &EthHdr.MacDst, &EthHdr.MacSrc, RT_BE2H_U16(EthHdr.EtherType), fSrc, pSG->cbTotal));
    932948
    933949    /*
     
    974990INTNETR0DECL(int) INTNETR0IfSend(PINTNET pIntNet, INTNETIFHANDLE hIf, const void *pvFrame, unsigned cbFrame)
    975991{
    976     LogFlow(("INTNETR0IfSend: pIntNet=%p hIf=%RX32 pvFrame=%p cbFrame=%u\n", pIntNet, hIf, pvFrame, cbFrame));
     992//    LogFlow(("INTNETR0IfSend: pIntNet=%p hIf=%RX32 pvFrame=%p cbFrame=%u\n", pIntNet, hIf, pvFrame, cbFrame));
    977993
    978994    /*
     
    13861402INTNETR0DECL(int) INTNETR0IfWait(PINTNET pIntNet, INTNETIFHANDLE hIf, uint32_t cMillies)
    13871403{
    1388     LogFlow(("INTNETR0IfWait: pIntNet=%p hIf=%RX32 cMillies=%u\n", pIntNet, hIf, cMillies));
     1404//    LogFlow(("INTNETR0IfWait: pIntNet=%p hIf=%RX32 cMillies=%u\n", pIntNet, hIf, cMillies));
    13891405
    13901406    /*
     
    14291445    else
    14301446        rc = VERR_SEM_DESTROYED;
    1431     LogFlow(("INTNETR0IfWait: returns %Rrc\n", rc));
     1447//    LogFlow(("INTNETR0IfWait: returns %Rrc\n", rc));
    14321448    return rc;
    14331449}
     
    15031519static DECLCALLBACK(void) intnetR0IfDestruct(void *pvObj, void *pvUser1, void *pvUser2)
    15041520{
    1505     LogFlow(("intnetR0IfDestruct: pvObj=%p pvUser1=%p pvUser2=%p\n", pvObj, pvUser1, pvUser2));
    15061521    PINTNETIF pIf = (PINTNETIF)pvUser1;
    15071522    PINTNET   pIntNet = (PINTNET)pvUser2;
     1523    Log(("intnetR0IfDestruct: pvObj=%p pIf=%p pIntNet=%p hIf=%#x\n", pvObj, pIf, pIntNet, pIf->hIf));
    15081524
    15091525    RTSemFastMutexRequest(pIntNet->FastMutex);
     
    17171733
    17181734                        *phIf = pIf->hIf;
    1719                         LogFlow(("intnetR0NetworkCreateIf: returns VINF_SUCCESS *phIf=%p\n", *phIf));
     1735                        Log(("intnetR0NetworkCreateIf: returns VINF_SUCCESS *phIf=%p cbSend=%u cbRecv=%u cbBuf=%u\n",
     1736                             *phIf, pIf->pIntBufDefault->cbSend, pIf->pIntBufDefault->cbRecv, pIf->pIntBufDefault->cbBuf));
    17201737                        return VINF_SUCCESS;
    17211738                    }
     
    21082125static DECLCALLBACK(void) intnetR0NetworkDestruct(void *pvObj, void *pvUser1, void *pvUser2)
    21092126{
    2110     LogFlow(("intnetR0NetworkDestruct: pvObj=%p pvUser1=%p pvUser2=%p\n", pvObj, pvUser1, pvUser2));
    21112127    PINTNETNETWORK  pNetwork = (PINTNETNETWORK)pvUser1;
    21122128    PINTNET         pIntNet = (PINTNET)pvUser2;
     2129    Log(("intnetR0NetworkDestruct: pvObj=%p pNetwork=%p pIntNet=%p %s\n", pvObj, pNetwork, pIntNet, pNetwork->szName));
    21132130    Assert(pNetwork->pIntNet == pIntNet);
    21142131
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette