Queues: between user & hardware Applications send data to the kernel. Kernel enqueues data to the queuing discipline and immediately tries to run the queue ('kick') to the hardware. queue_run() dequeue()s as much packets as the network adapter will accept, or until the queue is empty, or no longer wants to send - This is what we call 'shaping'