On Wed, 24 Apr 2002, Varun Varma wrote: > Amit, > > Check out the function dev_queue_xmit in net/core/dev.c. If there isn't > a queuing discipline attatched to a network device, the packets are not > queued anywhere, but sent to the device directly. > > Regards, > -Varun Thanks Varun. I figured this one out yesterday after a complete walk through of net_bh(), qdisc_run_queues(), qdisc_restart() and dev_queue_xmit() Now my only question is: What happens in case of a device to which none of the well-known qdiscs (cbq, sfq, wrr etc.) is attached? In that case, the device is 'stuck' with the noop_qdisc which it gets during its registration - register_netdevice(), right? And the enqueue function for the noop_qdisc is noop_enqueue() which just frees the skb! So where is the actual packet kicked out from? TIA. ciao, Amit > On Tue, Apr 23, 2002 at 11:18:26PM -0500, Amit Kucheria spoke out thus: > > Hi, > > > > Where are packets queued for a network device? > > > > I see 3 members in 'struct device' called qdisc, qdisc_sleeping & > > qdisc_list which are initialized to noop_qdisc, noop_qdisc and NULL > > respectively when calling register_netdevice(). > > > > So how & where are incoming/outgoing packets queued then? -- I'm an angel!!! Honest! The horns are just there to hold the halo up straight. ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^ Amit Kucheria EECS Grad. Research Assistant University of Kansas @ Lawrence (R)+1-(785)-830 8521 ||| (O)+1-(785)-864 7774 ____________________________________________________ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/