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 17:55:59 +0200

On Thu, 30 May 2013 07:39:10 -0700
Eric Dumazet <[email-masked]> wrote:

> On Thu, 2013-05-30 at 09:51 +0200, Jesper Dangaard Brouer wrote:
> > On Wed, 29 May 2013 08:52:04 -0700
> > Eric Dumazet <[email-masked]> wrote:
> 
> > > 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.
> 
> This part is now done properly in qdisc_pkt_len_init() since linux-3.9

Thanks for the pointer, but qdisc_pkt_len_init() only adds the
EthMAC+IP+TCP header size for each GSO segment (stored in
qdisc_skb_cb(skb)->pkt_len).
It is still missing the AAL5 encapsulation overhead per GSO segment.

Besides I can see that __qdisc_calculate_pkt_len() "forgets" this
information and overwrites qdisc_skb_cb(skb)->pkt_len (iif a stab is
defined on the qdisc).

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