Hi Dendari,

> On Apr 21, 2017, at 10:34, Dendari Marini <dendar...@gmail.com> wrote:
> 
> Hello, thanks for all of your replies.
> 
> First of all, my connection encapsulation should be ATM LLC and it can 
> actually reach up to 17.5/1 Mbps, but that's kinda best case scenario which 
> is why I wanted to play it safe with just 16/.9 (which I should reach more 
> consistently).

        Okay, I read ATM LLC together with the fact that you have a choice of 
et0 and pppoe0 that you hace 32 bytes of overhead (well including the 8 byte 
pppoe header it would be 40):

        case 40
                disp('Connection: PPPoE, LLC/SNAP RFC-2684');
                disp('Protocol (bytes): PPP (2), PPPoE (6), Ethernet Header 
(14), ATM LLC (3), ATM SNAP (5), ATM pad (2), ATM AAL5 SAR (8) : Total 40');
                overhead_bytes_around_MTU = 32;
                overhead_bytes_in_MTU = 8;

So please add “atm overhead 32" to cake on eth0 or “atm overhead 40” to cake 
instances on pppoe (these packets do not have the PPPoE header added yet and 
hence appear 8 bytes to small).

With that information you can expect the following maximum TCP/IPv4 goodput:
17.5 * (48/53) * ((1500 - 8 - 20 -20)/(1500 + 32)) = 15.02 Mbps 
or 
(17.5 * (48/53) * ((1500 - 8 - 20 -20)/(1500 + 32))) * 1000^2/1024^2 = 14.32  
Mibps or 1.79 MBps, still pretty close to the 1.75MBps you seem to measure. 
Please note that if you do not specify the “atm” keyword your shaper will not 
account for the static 100-100*48/53 = 9.43 % rate increase going from ethernet 
frames to atm’s AAL5, so to account for that part alone you would need to set 
your shaper to 17.5*0.9 = 15.75 Mbps, but that completely ignores the other 
overhead (and the interger atm cell per ethernet frame rule that AAL5 insists 
upon)


> Back to the Steam issue. Unfortunately I can't seem to get really consistent 
> results, mainly because sometimes it's downloading the game from just a few 
> connections and other times it's downloading from dozens and dozens 
> connections. The latter is the one giving me more issues both in terms of 
> latency/packet loss and in terms of evenly splitting the bandwidth across the 
> hosts.

        Question: if you set the shaper’s to 50% of line rate (8.75/0.5?) do 
you still see that unfairness? And if you add “atm overhead 40” to cake on 
pppoe0 and set the shaper to 90% of line rates (15.75/0.9) how does the Steam 
affect per-host fairness? Also how transient are these connections team uses?

> 
> One thing that seems to give better results is changing the interface where 
> Cake is used from eth0 to pppoe0. When I used fq_codel it seemed to give 
> better results when using eth0 and so I went ahead and did the same with Cake.

        As far as I can tell cake can drill down to the required IP/TCP/UDP 
fields independent of whether there are VLAN tags or PPPoE headers so cake 
should not care (except for the different overhead specifications you need to 
add as stated above). BUT if instantiated on eth0 cake will see pppoe LCP 
packets and might decide to drop them, which can take down the link, so out of 
caution I would still instantiate on pppoe in your case.


> 
> Anyway more testing needed, will report if I notice any consistent result.
> 
> By the way this is the thread I opened on the Ubiquiti forums talking about 
> this issue (not sure if it can give you some more info): 
> https://community.ubnt.com/t5/EdgeMAX/Smart-Queue-seemingly-not-working-for-Steam-downloads/td-p/1890405
> Also the thread where I got Cake for the ER-X from: 
> https://community.ubnt.com/t5/EdgeMAX/Cake-and-FQ-PIE-compiled-for-the-EdgeRouter-devices/td-p/1679844
> 
> On 20 April 2017 at 20:36, Sebastian Moeller <moell...@gmx.de> wrote:
> 
> > On Apr 20, 2017, at 18:05, Dendari Marini <dendar...@gmail.com> wrote:
> >
> > Hello, thanks for your reply.
> >
> > Looks like most of your options are okay, including the correct “dual” 
> > modes and “ingress” mode in the right place.  However, I think you need to 
> > adjust your bandwidth and overhead settings, otherwise Cake isn’t reliably 
> > in control of the bottleneck queues.  Try these to begin with:
> >
> > … bandwidth 850Kbit conservative dual-srchost nat
> >
> > … bandwidth 15Mbit conservative dual-dsthost nat ingress
> >
> > That should give you correct operation, and you can fine-tune from there.
> >
> > Just did quick test with your settings. First thing I noticed is my final 
> > download bandwidth is about 12Mbps, Steam on PC1 downloads at 1.4-1.5MB/s 
> > while downloading a file on PC2 seems to max out at ~250KB/s. From my 
> > understanding I should see each PC download at ~700KB/s, or am I mistaken?
> 
> Assuming you measured good put in [M|K]iBytes this adds up to  1.5+0.25 = 
> 1.75 * 1024^2 * 8 = 14680064 Bits or (1.4+0.25) * 8 *1024^2 / 1000^2 = 13.84 
> Mbps which seems a bit high for a 16Mbps ADSL link. I would ecpext something 
> like 16 * (48/53)  * ((1500 - 8 - 20 -20) / (1500 + 32)) = 13.73 Mbps 
> TCP/IPv4 goodput… so you seem to be running close to theoretical maximum of 
> your link (assuming I am not totally off with the overhead (estimated ADSL 
> overhead on top of MTU: 6 destination MAC + 6 source MAC + 2 ethertype + 3 
> ATM LLC + 5 ATM SNAP + 2 ATM pad + 8 ATM AAL5 SAR 32 bytes). But with your 
> shaper set at 15Mbps without the atm option you will actually accept up to 15 
> * (53/48) = 16.5625 Mbps on the wire, which probably is above your link 
> bandwidth. This fits well with the really low number of drops in your cake 
> stats, you simply never have cake feel that shaping is needed?
> 
> Best Regards
> 
> 
> 
> 
> >
> > On 20 April 2017 at 17:32, Jonathan Morton <chromati...@gmail.com> wrote:
> >
> >> On 20 Apr, 2017, at 18:23, Dendari Marini <dendar...@gmail.com> wrote:
> >>
> >>> Could you post the output of calling “tc -s qdisc” here on the list 
> >>> please? That should allow to figure out what you actually told cake to do 
> >>> ;0
> >
> >> qdisc cake 8001: dev eth0 root refcnt 2 bandwidth 900Kbit diffserv3 
> >> dual-srchost nat rtt 100.0ms raw
> >
> >> qdisc cake 8002: dev ifb4eth0 root refcnt 2 bandwidth 16Mbit diffserv3 
> >> dual-dsthost nat ingress rtt 100.0ms raw
> >
> > Looks like most of your options are okay, including the correct “dual” 
> > modes and “ingress” mode in the right place.  However, I think you need to 
> > adjust your bandwidth and overhead settings, otherwise Cake isn’t reliably 
> > in control of the bottleneck queues.  Try these to begin with:
> >
> > … bandwidth 850Kbit conservative dual-srchost nat
> >
> > … bandwidth 15Mbit conservative dual-dsthost nat ingress
> >
> > That should give you correct operation, and you can fine-tune from there.
> >
> > - Jonathan Morton
> >
> >
> >
> 
> 

_______________________________________________
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake

Reply via email to