[Cerowrt-devel] some kernel updates

Jesper Dangaard Brouer jbrouer at redhat.com
Tue Aug 27 06:42:46 EDT 2013


On Fri, 23 Aug 2013 21:38:10 +0200
Sebastian Moeller <moeller0 at gmx.de> wrote:

> On Aug 23, 2013, at 07:13 , Dave Taht <dave.taht at gmail.com> wrote:
> 
> > On Thu, Aug 22, 2013 at 5:52 PM, Sebastian Moeller <moeller0 at gmx.de> wrote:
> > Hi List, hi Jesper,
[...]
> > It's my hope that the atm code works but is misconfigured. You can output the tc commands by overriding the TC variable with TC="echo tc" and paste here.
> 
> 	So I went for TC="logger tc" and used log read to harvest as I could not find the echo output, but I guess that should not matter. So here is the result (slightly edited to get rid of the log timestamps and log level):
> 
>   tc qdisc del dev ge00 root
>   tc qdisc add dev ge00 root handle 1: htb default 12
>   tc class add dev ge00 parent 1: classid 1:1 htb quantum 1500 rate 2430kbit ceil 2430kbit mpu 0 linklayer adsl overhead 40 mtu 2047
>   tc class add dev ge00 parent 1:1 classid 1:10 htb quantum 1500 rate 2430kbit ceil 2430kbit prio 0 mpu 0 linklayer adsl overhead 40 mtu 2047
>   tc class add dev ge00 parent 1:1 classid 1:11 htb quantum 1500 rate 128kbit ceil 810kbit prio 1 mpu 0 linklayer adsl overhead 40 mtu 2047
>   tc class add dev ge00 parent 1:1 classid 1:12 htb quantum 1500 rate 405kbit ceil 2366kbit prio 2 mpu 0 linklayer adsl overhead 40 mtu 2047
>   tc class add dev ge00 parent 1:1 classid 1:13 htb quantum 1500 rate 405kbit ceil 2366kbit prio 3 mpu 0 linklayer adsl overhead 40 mtu 2047
[...]

Looks good.

>   tc qdisc del dev ifb0 root
>   tc qdisc add dev ifb0 root handle 1: htb default 12
>   tc class add dev ifb0 parent 1: classid 1:1 htb quantum 1500 rate 15494kbit ceil 15494kbit
>   tc class add dev ifb0 parent 1:1 classid 1:10 htb quantum 1500 rate 15494kbit ceil 15494kbit prio 0
>   tc class add dev ifb0 parent 1:1 classid 1:11 htb quantum 1500 rate 32kbit ceil 5164kbit prio 1
>   tc class add dev ifb0 parent 1:1 classid 1:12 htb quantum 1500 rate 2582kbit ceil 15430kbit prio 2
>   tc class add dev ifb0 parent 1:1 classid 1:13 htb quantum 1500 rate 2582kbit ceil 15430kbit prio 3
[...]

Looks like the "linklayer adsl" is missing here.

> I notice it seem this only shows up for egress(), but looking at
> simple.qos ingress() is not addend ${ADSLL} at all so that is to be
> expected. There is nothing in dmesg at all.

You should also shape the downstream direction, as an atm/adsl link, or
else you will not be the bottleneck in this direction, and thus cannot
control the delay.  (and yes I do know, that we can be overloaded
downstream by UDP packets, and we depend on TCP to make shaping in this
direction work, but this is the best we can do, when not controlling
the DSLAM).


> So I am off to add ADSLL to ingress() as well and then test RRUL again...
> 
> 
> Jesper please let me know if this looks reasonable, at least to my eye it seems to fit with what "tc disc add htb help" tells me. I tried your:
> echo "func __detect_linklayer +p" /sys/kernel/debug/dynamic_debug/control
> but got no output even though debugs was already mounted…

That sounds weird!  Perhaps the kernel were simply not compiled with
CONFIG_DYNAMIC_DEBUG=y, or else my detection code is flawed.

The expected output should have been something like:

 ./tc_htb_linklayer01.sh eth2 atm 2430 0; dmesg -c | grep "TC linklayer:"
BW limit on dev eth2 at rate:2430kbit/s and ceil:2430kbit/s
tc qdisc del dev eth2 root
tc qdisc add dev eth2 root handle 1: htb default 50
tc class add dev eth2 parent 1: classid 1:1 htb rate 2430kbit ceil 2430kbit burst 1600 cburst 1600 linklayer atm mpu 0
tc class add dev eth2 parent 1:3 classid 1:50 htb rate 2430kbit ceil 2430kbit prio 5 burst 1600 cburst 1600 linklayer atm mpu 0
tc class add dev eth2 parent 1:3 classid 1:60 htb rate 2430kbit ceil 2430kbit prio 5 burst 1600 cburst 1600 linklayer atm mpu 0
tc qdisc add dev eth2 parent 1:50 handle 4250: fq_codel
[109653.174322] TC linklayer: Detected ATM, low(0)=high(5)=2718
[109653.174327] TC linklayer: Detected ATM, low(0)=high(5)=2718
[109653.181403] TC linklayer: Detected ATM, low(0)=high(5)=2718
[109653.181408] TC linklayer: Detected ATM, low(0)=high(5)=2718
[109653.190105] TC linklayer: Detected ATM, low(0)=high(5)=2718
[109653.190108] TC linklayer: Detected ATM, low(0)=high(5)=2718



-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Sr. Network Kernel Developer at Red Hat
  Author of http://www.iptv-analyzer.org
  LinkedIn: http://www.linkedin.com/in/brouer



More information about the Cerowrt-devel mailing list