Jesper Dangaard Brouer
8a8e3d84b1
net_sched: restore "linklayer atm" handling
...
commit 56b765b79 ("htb: improved accuracy at high rates")
broke the "linklayer atm" handling.
tc class add ... htb rate X ceil Y linklayer atm
The linklayer setting is implemented by modifying the rate table
which is send to the kernel. No direct parameter were
transferred to the kernel indicating the linklayer setting.
The commit 56b765b79 ("htb: improved accuracy at high rates")
removed the use of the rate table system.
To keep compatible with older iproute2 utils, this patch detects
the linklayer by parsing the rate table. It also supports future
versions of iproute2 to send this linklayer parameter to the
kernel directly. This is done by using the __reserved field in
struct tc_ratespec, to convey the choosen linklayer option, but
only using the lower 4 bits of this field.
Linklayer detection is limited to speeds below 100Mbit/s, because
at high rates the rtab is gets too inaccurate, so bad that
several fields contain the same values, this resembling the ATM
detect. Fields even start to contain "0" time to send, e.g. at
1000Mbit/s sending a 96 bytes packet cost "0", thus the rtab have
been more broken than we first realized.
Signed-off-by: Jesper Dangaard Brouer <[email protected] >
Signed-off-by: David S. Miller <[email protected] >
2013-08-15 01:43:08 -07:00
..
act_api.c
rtnetlink: Remove passing of attributes into rtnl_doit functions
2013-03-22 10:31:16 -04:00
act_csum.c
act_csum: fix possible use after free
2013-04-12 15:25:41 -04:00
act_gact.c
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
act_ipt.c
net_sched: act_ipt forward compat with xtables
2013-05-01 13:19:19 -04:00
act_mirred.c
net: pass info struct via netdevice notifier
2013-05-28 13:11:01 -07:00
act_nat.c
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
act_pedit.c
net: Add skb_unclone() helper function.
2013-02-15 15:10:37 -05:00
act_police.c
net_sched: restore "overhead xxx" handling
2013-06-02 22:22:35 -07:00
act_simple.c
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
act_skbedit.c
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
cls_api.c
net_cls: remove duplicated include from cls_api.c
2013-04-07 17:12:01 -04:00
cls_basic.c
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
cls_cgroup.c
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
cls_flow.c
netlink: rename ssk to sk in struct netlink_skb_params
2013-04-19 14:57:56 -04:00
cls_fw.c
pkt_sched: fix error return code in fw_change_attrs()
2013-04-19 17:34:53 -04:00
cls_route.c
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
cls_rsvp.c
cls_rsvp.h
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
cls_rsvp6.c
cls_tcindex.c
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
cls_u32.c
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
em_canid.c
net: em_canid: Ematch rule to match CAN frames according to their identifiers
2012-07-04 13:07:05 +02:00
em_cmp.c
em_ipset.c
netfilter: ipset: Introduce extensions to elements in the core
2013-04-29 20:08:54 +02:00
em_meta.c
net: use a per task frag allocator
2012-09-24 16:31:37 -04:00
em_nbyte.c
em_text.c
em_u32.c
ematch.c
net: Convert net_ratelimit uses to net_<level>_ratelimited
2012-05-15 13:45:03 -04:00
Kconfig
net: sched: enable CAN Identifier to be build into kernel
2012-11-25 16:06:06 -05:00
Makefile
net: sched: add ipset ematch
2012-07-12 07:54:46 -07:00
sch_api.c
net_sched: restore "linklayer atm" handling
2013-08-15 01:43:08 -07:00
sch_atm.c
net_sched: info leak in atm_tc_dump_class()
2013-07-31 15:04:19 -07:00
sch_blackhole.c
sch_cbq.c
net_sched: Fix stack info leak in cbq_dump_wrr().
2013-07-30 00:16:21 -07:00
sch_choke.c
net/sched: rename random32() to prandom_u32()
2013-04-29 18:28:43 -07:00
sch_codel.c
fq_codel: should use qdisc backlog as threshold
2012-05-16 15:30:26 -04:00
sch_drr.c
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
sch_dsmark.c
net: sched: factorize code (qdisc_drop())
2012-05-04 11:50:05 -04:00
sch_fifo.c
sch_fq_codel.c
net: fq_codel: Fix off-by-one error
2013-03-29 15:32:23 -04:00
sch_generic.c
net_sched: restore "linklayer atm" handling
2013-08-15 01:43:08 -07:00
sch_gred.c
net_sched: gred: actually perform idling in WRED mode
2012-09-13 16:10:13 -04:00
sch_hfsc.c
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
sch_htb.c
net_sched: restore "linklayer atm" handling
2013-08-15 01:43:08 -07:00
sch_ingress.c
sch_mq.c
pkt_sched: avoid requeues if possible
2012-12-12 00:16:47 -05:00
sch_mqprio.c
pkt_sched: avoid requeues if possible
2012-12-12 00:16:47 -05:00
sch_multiq.c
sch_netem.c
netem: fix possible NULL deref in netem_dequeue()
2013-07-03 16:52:10 -07:00
sch_plug.c
sch_prio.c
sch_qfq.c
pkt_sched: sch_qfq: remove a source of high packet delay/jitter
2013-07-18 13:02:00 -07:00
sch_red.c
sch_sfb.c
sch_sfb: Fix missing NULL check
2012-07-12 08:33:18 -07:00
sch_sfq.c
sch_tbf.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-06-05 16:37:30 -07:00
sch_teql.c
sch_teql: Convert over to dev_neigh_lookup_skb().
2012-07-05 01:09:06 -07:00