linux/net/sched
Patrick McHardy af356afa01 net_sched: reintroduce dev->qdisc for use by sch_api
Currently the multiqueue integration with the qdisc API suffers from
a few problems:

- with multiple queues, all root qdiscs use the same handle. This means
  they can't be exposed to userspace in a backwards compatible fashion.

- all API operations always refer to queue number 0. Newly created
  qdiscs are automatically shared between all queues, its not possible
  to address individual queues or restore multiqueue behaviour once a
  shared qdisc has been attached.

- Dumps only contain the root qdisc of queue 0, in case of non-shared
  qdiscs this means the statistics are incomplete.

This patch reintroduces dev->qdisc, which points to the (single) root qdisc
from userspace's point of view. Currently it either points to the first
(non-shared) default qdisc, or a qdisc shared between all queues. The
following patches will introduce a classful dummy qdisc, which will be used
as root qdisc and contain the per-queue qdiscs as children.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-06 02:07:03 -07:00
..
act_api.c
act_gact.c
act_ipt.c
act_mirred.c
act_nat.c
act_pedit.c
act_police.c
act_simple.c
act_skbedit.c
cls_api.c net_sched: reintroduce dev->qdisc for use by sch_api 2009-09-06 02:07:03 -07:00
cls_basic.c
cls_cgroup.c
cls_flow.c
cls_fw.c
cls_route.c
cls_rsvp6.c
cls_rsvp.c
cls_rsvp.h
cls_tcindex.c
cls_u32.c
em_cmp.c
em_meta.c
em_nbyte.c
em_text.c
em_u32.c
ematch.c
Kconfig
Makefile
sch_api.c net_sched: reintroduce dev->qdisc for use by sch_api 2009-09-06 02:07:03 -07:00
sch_atm.c
sch_blackhole.c
sch_cbq.c net_sched: remove some unnecessary checks in classful schedulers 2009-09-06 02:07:02 -07:00
sch_drr.c
sch_dsmark.c
sch_fifo.c
sch_generic.c net_sched: reintroduce dev->qdisc for use by sch_api 2009-09-06 02:07:03 -07:00
sch_gred.c
sch_hfsc.c net_sched: remove some unnecessary checks in classful schedulers 2009-09-06 02:07:02 -07:00
sch_htb.c net_sched: remove some unnecessary checks in classful schedulers 2009-09-06 02:07:02 -07:00
sch_ingress.c net_sched: make cls_ops->change and cls_ops->delete optional 2009-09-06 02:07:02 -07:00
sch_multiq.c net_sched: remove some unnecessary checks in classful schedulers 2009-09-06 02:07:02 -07:00
sch_netem.c
sch_prio.c net_sched: remove some unnecessary checks in classful schedulers 2009-09-06 02:07:02 -07:00
sch_red.c net_sched: remove some unnecessary checks in classful schedulers 2009-09-06 02:07:02 -07:00
sch_sfq.c net_sched: make cls_ops->change and cls_ops->delete optional 2009-09-06 02:07:02 -07:00
sch_tbf.c net_sched: remove some unnecessary checks in classful schedulers 2009-09-06 02:07:02 -07:00
sch_teql.c netdev: convert pseudo-devices to netdev_tx_t 2009-09-01 01:13:07 -07:00