[Cake] overheads or rate calculation changed?

Andy Furniss adf.lists at gmail.com
Fri Dec 22 18:38:56 EST 2017


Jonathan Morton wrote:
>> On 21 Dec, 2017, at 2:54 am, Andy Furniss <adf.lists at gmail.com> wrote:
>>
>>     refactor cake_advance_shaper and ack_filter
>>
>>     cake_advance_shaper now returns a modified len argument to
>>     reflect cake_overhead.
>>     skb_ack_filter variable replaced with ack
> 
> Fixed.  At one point cake_advance_shaper() was still getting a packet length with overhead correction already applied, and was then applying it a second time.

Thanks, seems good now, well, as it was before anyway :-)

Still a bit confusing for users having to look at max_len in stats to 
judge what overhead to use if they know what over ip they want.

Maybe some hint in the man page about turn off gro and look at max_len 
would help when using raw.

IIRC this was discussed before, I think conclusion was it's the 
kernel/ppp being different/wrong sometimes in what it reports to cake.

My specific case is pppoe where I need IP + 34. I can see 1500 as 
max_len, which = IP length so raw overhead 34 is correct.

On a pure eth to get the same I need raw overhead 20 as max_len is 1514.

This is the (confusing) output from pppoe

./tc qdisc add dev ppp0 handle 1:0 root cake bandwidth 19690kbit raw 
overhead 34 diffserv4 dual-srchost nat rtt 200ms

qdisc cake 1: dev ppp0 root refcnt 2 bandwidth 19690Kbit diffserv4 
dual-srchost nat rtt 200.0ms noatm overhead 56 via-ethernet 
total_overhead 56 hard_header_len 22
  Sent 776346756 bytes 883288 pkt (dropped 284882, overlimits 1429302 
requeues 0)
  backlog 0b 0p requeues 0
  memory used: 4196096b of 4Mb
  capacity estimate: 19690Kbit
                    Bulk  Best Effort        Video        Voice
   thresh       1230Kbit    19690Kbit     9845Kbit     4922Kbit
   target         14.8ms       10.0ms       10.0ms       10.0ms
   interval      204.8ms      200.0ms      200.0ms      200.0ms
   pk_delay        186us        1.6ms          0us        112us
   av_delay         11us         94us          0us          4us
   sp_delay          1us          4us          0us          4us
   pkts             1160      1166876            0          134
   bytes          457795   1202631653            0        10176
   way_inds            0         3813            0            0
   way_miss         1126        10503            0            3
   way_cols            0            0            0            0
   drops               0       284882            0            0
   marks               0            0            0            0
   ack_drop            0            0            0            0
   sp_flows            0            1            0            0
   bk_flows            0            1            0            0
   un_flows            0            0            0            0
   max_len           746         1500            0           76



On eth raw overhead 34 gives different results, only seeing max_len 
gives the clue to take 14 to get IP + 34.

tc qdisc add dev enp6s0 handle 1:0 root cake bandwidth 19690kbit raw 
overhead 34

qdisc cake 1: dev enp6s0 root refcnt 2 bandwidth 19690Kbit diffserv3 
triple-isolate rtt 100.0ms noatm overhead 48 via-ethernet total_overhead 
48 hard_header_len 14
  Sent 24102094 bytes 15934 pkt (dropped 1, overlimits 31841 requeues 0)
  backlog 0b 0p requeues 0
  memory used: 27Kb of 4Mb
  capacity estimate: 19690Kbit
                    Bulk  Best Effort        Voice
   thresh       1230Kbit    19690Kbit     4922Kbit
   target         14.8ms        5.0ms        5.0ms
   interval      109.8ms      100.0ms      100.0ms
   pk_delay          0us        1.7ms          0us
   av_delay          0us        1.7ms          0us
   sp_delay          0us        229us          0us
   pkts                0        15935            0
   bytes               0     24103608            0
   way_inds            0            0            0
   way_miss            0            4            0
   way_cols            0            0            0
   drops               0            1            0
   marks               0            0            0
   ack_drop            0            0            0
   sp_flows            0            0            0
   bk_flows            0            1            0
   un_flows            0            0            0
   max_len             0         1514            0


More information about the Cake mailing list