net_sched: add classful multiqueue dummy scheduler
authorDavid S. Miller <davem@davemloft.net>
Sun, 6 Sep 2009 08:58:51 +0000 (01:58 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 6 Sep 2009 09:07:05 +0000 (02:07 -0700)
commit6ec1c69a8f6492fd25722f4762721921da074c12
treea78323d1f7f84acbe08c25d7300b935ae4bb7c62
parent589983cd21f4a2e4ed74a958805a90fa676845c5
net_sched: add classful multiqueue dummy scheduler

This patch adds a classful dummy scheduler which can be used as root qdisc
for multiqueue devices and exposes each device queue as a child class.

This allows to address queues individually and graft them similar to regular
classes. Additionally it presents an accumulated view of the statistics of
all real root qdiscs in the dummy root.

Two new callbacks are added to the qdisc_ops and qdisc_class_ops:

- cl_ops->select_queue selects the tx queue number for new child classes.

- qdisc_ops->attach() overrides root qdisc device grafting to attach
  non-shared qdiscs to the queues.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sch_generic.h
net/sched/Makefile
net/sched/sch_api.c
net/sched/sch_generic.c
net/sched/sch_mq.c [new file with mode: 0644]