[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