VirtualBox

Ticket #7908: qdisc_debug.patch

File qdisc_debug.patch, 2.2 KB (added by Aleksey Ilyushin, 14 years ago)

Updated debug patch

  • src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.

    old new  
    193193
    194194
    195195#ifdef VBOXNETFLT_WITH_QDISC
    196 //#define QDISC_LOG(x) printk x
    197 # define QDISC_LOG(x) do { } while (0)
     196#define QDISC_LOG(x) printk x
     197//# define QDISC_LOG(x) do { } while (0)
    198198
    199199# if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
    200200#  define QDISC_CREATE(dev, queue, ops, parent) qdisc_create_dflt(dev, ops)
     
    283283        }
    284284    }
    285285# endif /* VBOXNETFLT_QDISC_ENQUEUE */
     286    if (!pPriv->pChild->enqueue)
     287        return NET_XMIT_DROP;
    286288    rc = pPriv->pChild->enqueue(skb, pPriv->pChild);
    287289    if (rc == NET_XMIT_SUCCESS)
    288290    {
     
    307309    PINTNETTRUNKSWPORT   pSwitchPort;
    308310    struct sk_buff      *pSkb;
    309311
    310     QDISC_LOG(("vboxNetFltDequeue: Enter pThis=%p\n", pPriv->pVBoxNetFlt));
     312    QDISC_LOG(("vboxNetFltDequeue: Enter pThis=%p pChild=%p\n", pPriv->pVBoxNetFlt, pPriv->pChild));
    311313
    312314    while ((pSkb = pPriv->pChild->dequeue(pPriv->pChild)) != NULL)
    313315    {
     
    604606        qdisc_destroy(pPriv->pChild);
    605607        pPriv->pChild = QDISC_GET(pDev);
    606608        atomic_inc(&pPriv->pChild->refcnt);
     609        QDISC_LOG(("vboxNetFltLinuxInstallQdisc: about to replace %s (%p)\n",
     610                   pPriv->pChild->ops->id, pPriv->pChild));
    607611        /*
    608612         * There is no need in deactivating the device or acquiring any locks
    609613         * prior changing qdiscs since we do not destroy the old qdisc.
     
    692696        while (QDISC_IS_BUSY(pDev, pQdisc))
    693697            yield();
    694698        qdisc_destroy(pQdisc); /* Destroy reference */
     699        QDISC_LOG(("vboxNetFltLinuxQdiscRemove: restored %s\n", pDev->qdisc_sleeping->ops->id));
    695700    }
    696701# else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) */
    697702    for (i = 0; i < pDev->num_tx_queues; i++)
     
    707712                yield();
    708713            qdisc_destroy(pQdisc); /* Destroy reference */
    709714        }
     715        QDISC_LOG(("vboxNetFltLinuxQdiscRemove: restored %s (#%d)\n", pQueue->qdisc_sleeping->ops->id, i));
    710716    }
    711717    /* Newer kernels store root qdisc in netdev structure as well. */
    712718#  if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)

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