Thread (31 messages) 31 messages, 9 authors, 2013-06-07

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

From: Jussi Kivilinna <hidden>
Date: 2013-05-30 16:36:08

On 30.05.2013 18:55, Jesper Dangaard Brouer wrote:
On Thu, 30 May 2013 07:39:10 -0700
Eric Dumazet [off-list ref] wrote:
quoted
On Thu, 2013-05-30 at 09:51 +0200, Jesper Dangaard Brouer wrote:
quoted
On Wed, 29 May 2013 08:52:04 -0700
Eric Dumazet [off-list ref] wrote:
quoted
quoted
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).
Maybe change qdisc_pkt_len_init() to take the additional overhead value as
input and change __qdisc_calculate_pkt_len() use

	qdisc_pkt_len_init(skb, stab->szopts.overhead);

instead of

	pkt_len = skb->len + stab->szopts.overhead;

-Jussi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help