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 <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-08-15 01:43:08 -07:00
..
9p
9P: Add cancelled() to the transport functions.
2013-07-07 22:18:18 -05:00
bluetooth
Bluetooth: Remove unneeded flag
2013-06-23 00:23:53 +01:00
caif
irda
iucv
netfilter
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
netns
netfilter: {ipt,ebt}_ULOG: rise warning on deprecation
2013-05-23 14:23:16 +02:00
nfc
NFC: netlink: Rename CMD_FW_UPLOAD to CMD_FW_DOWNLOAD
2013-07-31 01:19:43 +02:00
phonet
sctp
net: sctp: prevent checksum.h from double inclusion
2013-07-02 00:23:57 -07:00
tc_act
act_api.h
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
addrconf.h
ipv6,mcast: always hold idev->lock before mca_lock
2013-07-01 23:39:21 -07:00
af_ieee802154.h
af_rxrpc.h
af_unix.h
af_unix: fix a fatal race with bit fields
2013-05-01 15:13:49 -04:00
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
busy_poll.h
net: rename busy poll MIB counter
2013-08-09 11:39:08 -07:00
cfg80211-wext.h
cfg80211.h
cfg80211: require passing BSS struct back to cfg80211_assoc_timeout
2013-06-19 18:55:39 +02:00
checksum.h
cipso_ipv4.h
cls_cgroup.h
codel.h
compat.h
datalink.h
dcbevent.h
dcbnl.h
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dsa.h
dsfield.h
dst.h
dst_ops.h
esp.h
ethoc.h
fib_rules.h
firewire.h
flow.h
flow_keys.h
garp.h
gen_stats.h
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
genetlink.h
genl: Allow concurrent genl callbacks.
2013-04-25 01:43:15 -04:00
gre.h
net: gre: move GSO functions to gre_offload
2013-07-03 14:37:39 -07:00
gro_cells.h
icmp.h
ieee80211_radiotap.h
mac80211: add STBC flag for radiotap
2013-05-24 12:07:25 +02:00
ieee802154.h
ieee802154_netdev.h
if_inet6.h
ipv6: resend MLD report if a link-local address completes DAD
2013-06-28 21:19:17 -07:00
inet6_connection_sock.h
inet6_hashtables.h
inet_common.h
inet_connection_sock.h
inet_ecn.h
net: Correct comparisons and calculations using skb->tail and skb-transport_header
2013-05-28 23:49:07 -07:00
inet_frag.h
net: frag, fix race conditions in LRU list maintenance
2013-05-06 11:06:51 -04:00
inet_hashtables.h
inet_sock.h
ipv4: remove is_data also from ip_options documentation.
2013-06-12 03:13:50 -07:00
inet_timewait_sock.h
inetpeer.h
ip.h
ip6_checksum.h
ip6_fib.h
ipv6: prevent fib6_run_gc() contention
2013-08-01 14:16:20 -07:00
ip6_route.h
ip6_tunnel.h
ip_fib.h
ipv4: remove fib_update_nh_saddrs() declaration.
2013-07-02 00:33:52 -07:00
ip_tunnels.h
ip_tunnel: Do not use inner ip-header-id for tunnel ip-header-id.
2013-08-13 16:52:50 -07:00
ip_vs.h
ipvs: add sync_persist_mode flag
2013-06-26 18:01:46 +09:00
ipcomp.h
ipconfig.h
ipv6.h
ipv6: Convert use of typedef ctl_table to struct ctl_table
2013-06-19 23:18:07 -07:00
ipx.h
iw_handler.h
lapb.h
lib80211.h
hostap: Don't use create_proc_read_entry()
2013-04-29 15:41:56 -04:00
llc.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
mac80211.h
mac80211: track AP's beacon rate and give it to the driver
2013-06-13 11:58:47 +02:00
mac802154.h
mip6.h
mld.h
mrp.h
ndisc.h
ndisc: Add missing inline to ndisc_addr_option_pad
2013-07-31 15:18:17 -07:00
neighbour.h
net_namespace.h
netns: exclude ipvs from struct net when IPVS disabled
2013-06-26 18:01:46 +09:00
net_ratelimit.h
netdma.h
netevent.h
netlabel.h
netlink.h
netprio_cgroup.h
netrom.h
nexthop.h
nl802154.h
p8022.h
ping.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-06-05 16:37:30 -07:00
pkt_cls.h
pkt_sched.h
protocol.h
psnap.h
raw.h
rawv6.h
red.h
regulatory.h
request_sock.h
rose.h
route.h
rtnetlink.h
sch_generic.h
net_sched: restore "linklayer atm" handling
2013-08-15 01:43:08 -07:00
scm.h
secure_seq.h
net: defer net_secret[] initialization
2013-04-29 15:14:02 -04:00
slhc_vj.h
snmp.h
sock.h
net: rename CONFIG_NET_LL_RX_POLL to CONFIG_NET_RX_BUSY_POLL
2013-08-01 15:11:17 -07:00
stp.h
tcp.h
tcp: remove invalid __rcu annotation
2013-06-25 02:44:05 -07:00
tcp_memcontrol.h
tcp_states.h
timewait_sock.h
transp_v6.h
transp_v6.h: style neatening
2013-06-04 16:43:42 -07:00
udp.h
ipv6: call udp_push_pending_frames when uncorking a socket with AF_INET pending data
2013-07-02 12:44:18 -07:00
udplite.h
wext.h
wimax.h
wpan-phy.h
x25.h
x25device.h
xfrm.h
xfrm: force a garbage collection after deleting a policy
2013-05-31 17:30:07 -07:00