On Thu, Oct 15, 2015 at 3:55 PM, Kevin Darbyshire-Bryant < kevin@darbyshire-bryant.me.uk> wrote: > Hi list, > > Jonathan has been slaving over the oven (again) and produced a fresh > batch of commits, this time for the iproute2/tc userland side of things > (announced in another email on this list) This means that the cake > qdisc module & tc will talk to one another again with a few new whizzy > features (and sprinkles!) > > I've just merged those changes into Dave's 'tc-adv' repo, compiled & > run(ning) then here on an Archer C7. I've not *yet* updated the > ceropackages repo to point to the latest sch-cake & tc-adv so it's not > 'openwrt' wide at this time. > > Warning: Since the ABI/API changed, you'll likely need to update both > the kernel module & userland tc - nothing should burst into flames but > 'missing stats' output from tc is a sure sign that cake tray & tin are > not in alignment. > > > Note the new 'rtt' parameter: > > # tc qdisc change cake help > Usage: ... cake [ bandwidth RATE | unlimited* ] > [ rtt TIME | datacentre | lan | metro | regional | > internet* | oceanic | satellite | interplanetary ] > [ besteffort | squash | precedence | diffserv8 | > diffserv4* ] > [ flowblind | srchost | dsthost | hosts | flows* ] > [ atm | noatm* ] [ overhead N | conservative | raw* ] > (* marks defaults) > > > And the stats: > > # tc -s qdisc show dev eth0 > qdisc cake 800a: root refcnt 2 bandwidth 9800Kbit diffserv4 flows rtt > 100.0ms noatm overhead 12 > Sent 1580471 bytes 15158 pkt (dropped 0, overlimits 627 requeues 0) > backlog 0b 0p requeues 0 > Tin 0 Tin 1 Tin 2 Tin 3 > thresh 9800Kbit 9187Kbit 7350Kbit 2450Kbit > target 5.0ms 5.0ms 5.0ms 7.4ms > interval 100.0ms 100.0ms 100.0ms 102.4ms > Pk-delay 0us 381us 2us 1us > Av-delay 0us 10us 0us 0us > Sp-delay 0us 1us 0us 0us > pkts 0 15053 66 39 > bytes 0 1565352 5940 9179 > way-inds 0 43 0 0 > way-miss 0 900 66 11 > way-cols 0 0 0 0 > drops 0 0 0 0 > marks 0 0 0 0 > Sp-flows 0 0 1 0 > Bk-flows 0 2 0 2 > last-len 0 82 90 225 > max-len 0 1514 90 485 > > qdisc ingress ffff: parent ffff:fff1 ---------------- > Sent 12901461 bytes 20356 pkt (dropped 0, overlimits 0 requeues 0) > backlog 0b 0p requeues 0 > > > Note how traffic is classified into Tins, not Classes or Bins :-) > > Enjoy! > > > Building the latest tc-adv causes issues with gcc. gcc -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wformat=2 -O2 -I../include -DRESOLVE_HOSTNAMES -DLIBDIR=\"/usr/lib\" -DCONFDIR=\"/etc/iproute2\" -D_GNU_SOURCE -DHAVE_SETNS -DHAVE_ELF -DCONFIG_GACT -DCONFIG_GACT_PROB -DIPT_LIB_DIR=\"/usr/lib/iptables\" -DYY_NO_INPUT -c -o q_cake0.o q_cake0.c In file included from q_cake.c:48:0: q_cake.c: In function ‘cake_print_xstats’:../include/utils.h:177:55: error: expected expression before ‘)’ token # define offsetof(type, member) ( (size_t) & ( (type *) 0 )->member ) ^q_cake.c:500:31: note: in expansion of macro ‘offsetof’ && RTA_PAYLOAD(xstats) >= offsetof(*stnc, capacity_estimate)) GCC version: gcc version 5.2.0 (GCC)