Hello, We know, VQs are used in Gred to offer different schedulers, in order to make clear what the VQs are, I have read the sch_gred.c in net/sched/. In the function gred_enqueue(), at first it will find the VQ(q) according to the lower four bits of the skb->tc_index, then some parameters of the q is modified, such as q->packetsin and q->bytesin. At last the packet was put into the physical Queue using __skb_queue_tail(). When dequeue the packet, only the function __skb_dequeue() is called, and the VQ parameters are modified. Then the packets from all VQS will enter and store in the physical queue (sch->q), and be dequeued from there. HOW does the Gred schedule packets of differnet priorities? Thanks, _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/