[Cake] Upstream submission of dual-mode fairness patch

Pete Heist pete at heistp.net
Sun Mar 3 07:06:34 EST 2019


As another clue, the un-fairness goes away when ECN is enabled on the client (both results with ingress keyword in use):

sysctl -w net.ipv4.tcp_ecn=2

IP1, 1 up: 46.7 Mbit
IP2, 16 up: 46.7 Mbit
IP1, 16 down: 41.0 Mbit
IP2, 1 down: 49.3 Mbit

sysctl -w net.ipv4.tcp_ecn=1

IP1, 1 up: 47.0 Mbit
IP2, 16 up: 47.0 Mbit
IP1, 16 down: 46.1 Mbit
IP2, 1 down: 46.1 Mbit

Also, this is probably just academic, but here are pcaps of "IP1, 16 down", with and without “ingress” and ECN enabled, along with some throughput and RTT graphs of one of the 16 flows for each: https://www.heistp.net/downloads/ingress_fairness/ <https://www.heistp.net/downloads/ingress_fairness/>

I find the different TCP RTT “slots” interesting (see the rtt graphs, all times in ms):

no ingress: 4, 8.5, 13, 17
no ingress+ecn: 8, 12, 16 (a few outliers at 20)
ingress: 4, 8, 12, 16, 20
ingress+ecn: 8, 12, 16 (outliers at 4 and 20 later in test)

> On Mar 3, 2019, at 8:19 AM, Pete Heist <pete at heistp.net> wrote:
> 
> Oops, sorry I didn’t notice this before but it’s the ingress keyword that makes the difference:
> 
> qdisc cake 802c: dev ifbLink2 parent 1:1 bandwidth unlimited besteffort dual-dsthost nonat nowash ingress no-ack-filter no-split-gso rtt 100.0ms raw overhead 0 
> 
> IP1, 1 up: 46.8 Mbit
> IP2, 16 up: 46.8 Mbit
> IP1, 16 down: 41.9 Mbit
> IP2, 1 down: 51.1 Mbit
> 
> qdisc cake 803a: dev ifbLink2 parent 1:1 bandwidth unlimited besteffort dual-dsthost nonat nowash no-ack-filter no-split-gso rtt 100.0ms raw overhead 0 
> 
> IP1, 1 up: 46.6 Mbit
> IP2, 16 up: 46.5 Mbit
> IP1, 16 down: 46.4 Mbit
> IP2, 1 down: 46.5 Mbit
> 
> Also, my setup is different in that I use cake as a leaf to either hfsc or htb. But, it’s adding the ingress keyword that causes the imbalance for me.
> 
>> On Mar 2, 2019, at 11:20 AM, Pete Heist <pete at heistp.net <mailto:pete at heistp.net>> wrote:
>> 
>> Great, thanks for trying it. That strongly suggests a problem with the kernel (or driver) I’m using. Feels better to know it works as it should in recent kernels though...
>> 
>>> On Mar 2, 2019, at 5:47 AM, George Amanakis <gamanakis at gmail.com <mailto:gamanakis at gmail.com>> wrote:
>>> 
>>> On Fri, 2019-03-01 at 22:02 -0500, George Amanakis wrote:
>>>> 
>>>> I will setup a vlan and try again.
>>>> 
>>> 
>>> I replicated Pete's VLAN setup, and I am getting fairness:
>>> 
>>> IP1,2 <---> router enp1s0 / router enp1s0.100 <---> server
>>> 
>>> IP1, 1 up:      46.73 mbit/s
>>> IP2, 32 up:     46.91
>>> IP1, 32 down:   46.70
>>> IP2, 1 down:    46.89
>>> 
>>> qdisc cake 8006: dev enp1s0.100 root refcnt 2 bandwidth 100Mbit
>>> diffserv3 dual-srchost nonat nowash no-ack-filter split-gso nofwmark
>>> rtt 100.0ms noatm overhead 4
>>> 
>>> qdisc cake 8002: dev ifb0 root refcnt 2 bandwidth 100Mbit diffserv3
>>> dual-dsthost nonat nowash no-ack-filter split-gso nofwmark rtt 100.0ms
>>> noatm overhead 4
>>> 
>>> 
>>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20190303/5416199e/attachment.html>


More information about the Cake mailing list