Subject: Re: tc linklayer ADSL calc broken after commit 56b765b79 (htb: improved accuracy at high rates)

From: Jesper Dangaard Brouer <[email-masked]>
Date: Thu, 30 May 2013 09:51:17 +0200

On Wed, 29 May 2013 08:52:04 -0700
Eric Dumazet <[email-masked]> wrote:

> On Wed, 2013-05-29 at 15:13 +0200, Jesper Dangaard Brouer wrote:
> > I recently discovered that the (traffic control) tc linklayer
> > calculations for ATM/ADSL have been broken by:
> >  commit 56b765b79 (htb: improved accuracy at high rates).
> > 
> > Thus, people shaping on ADSL links, using e.g.:
> >  tc class add ... htb rate X ceil Y linklayer atm overhead 10
> > 
> > Will no-longer get ATM cell tax/overhead adjusted.
> > 
> > How can we solve/fix this?
> > Perhaps we can change to use the "stab" system instead (as it does
> > not seem to be broken by the commit).
> > 
[...]
> 
> stab suffers from the same problem : its table driven, so works only
> for packet smaller than a given size.

You are referring to GSO/GRO packets. Yes, one must disable GSO for
this to work. Regardless ATM/ADSL, you should disable GSO when shaping
at low speeds.  Sending 64000 byte on a 512Kbit/s takes approx 1 sec.

http://netoptimizer.blogspot.dk/2010/12/buffer-bloat-calculations.html

> I am not sure it will solve the ATM logic (with the 5 bytes overhead
> per 48 bytes cell)

Are you talking about, that for GSO frames we are not adding a encap
overhead to each "sub" skb.

-- 
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