[Bloat] Cake "out of tree" on Debian

Kristian Kielhofner kris at kriskinc.com
Sat Jan 28 21:48:16 EST 2017


Hello All,

  Having enjoyed great success with codel in various places I'm
finally getting around to dipping my toes in the water with Cake.

  Router in this case is a Debian 8.7 machine running the provided
3.16.0-4-amd64 kernel. Following the instructions here:

https://www.bufferbloat.net/projects/codel/wiki/Cake/#installing-cake-out-of-tree-on-linux

  I wrote myself a quick and dirty script:

#!/bin/bash

WAN="eth2"
DOWN="117mbit"
UP="22mbit"

if [ -n "$1" ]; then
  echo "DOWN:"
  tc -s qdisc show dev "$WAN"
  echo
  echo "UP:"
  tc -s qdisc show dev ifb4"$WAN"
  exit
fi

tc qdisc del dev "$WAN" root
tc qdisc del dev ifb4"$WAN" root

modprobe sch_cake
modprobe act_mirred
modprobe ifb
tc qdisc add dev "$WAN" root cake bandwidth "$DOWN"

ip link add name ifb4"$WAN" type ifb
tc qdisc del dev "$WAN" ingress
tc qdisc add dev "$WAN" handle ffff: ingress
tc qdisc del dev ifb4"$WAN" root
tc qdisc add dev ifb4"$WAN" root cake bandwidth "$UP" besteffort
ifconfig ifb4"$WAN" up

tc filter add dev "$WAN" parent ffff: protocol all prio 10 u32 match
u32 0 0 flowid 1:1 action mirred egress redirect dev ifb4"$WAN"

status shows:

DOWN:
qdisc cake 8003: root refcnt 9 bandwidth 117Mbit (?diffserv?)
triple-isolate rtt 100.0ms noatm overhead 14
 Sent 6280 bytes 27 pkt (dropped 0, overlimits 4 requeues 0)
 backlog 0b 0p requeues 0
memory used: 4736b of 5850000b
capacity estimate: 117Mbit
             Tin 0       Tin 1       Tin 2
  thresh    7312Kbit     117Mbit   29250Kbit
  target       5.0ms       5.0ms       5.0ms
interval     100.0ms     100.0ms      10.0ms
Pk-delay         0us        86us         0us
Av-delay         0us         1us         0us
Sp-delay         0us         0us         0us
  pkts             0          27           0
  bytes            0        6280           0
way-inds           0           0           0
way-miss           0           5           0
way-cols           0           0           0
  drops            0           0           0
  marks            0           0           0
Sp-flows           0           1           0
Bk-flows           0           1           0
last-len           0           0           0
max-len            0        1412           0

qdisc ingress ffff: parent ffff:fff1 ----------------
 Sent 31023 bytes 32 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0

UP:
qdisc cake 8004: root refcnt 2 bandwidth 22Mbit besteffort
triple-isolate rtt 100.0ms noatm overhead 14
 Sent 29861 bytes 30 pkt (dropped 1, overlimits 42 requeues 0)
 backlog 0b 0p requeues 0
memory used: 53888b of 4Mb
capacity estimate: 22Mbit
             Tin 0
  thresh      22Mbit
  target       5.0ms
interval     100.0ms
Pk-delay       6.9ms
Av-delay       349us
Sp-delay       198us
  pkts            31
  bytes        31273
way-inds           0
way-miss           4
way-cols           0
  drops            1
  marks            0
Sp-flows           1
Bk-flows           1
last-len           0
max-len         1412

  From what I've tested to far everything works exactly as expected
(upstream throughput, downstream throughput, etc) until the last line.
When the egress traffic is redirected through the IFB device test
downstream drops to the same rate specified by upstream.

  Hardware is Rangeley C2758, eth2 is an Intel I354 using Debian
provided igb. What am I missing here?

  Thanks!

-- 
Kristian Kielhofner


More information about the Bloat mailing list