<div dir="ltr">Hi Sebastian,<div><br></div><div>Only now I noticed your message, it seems we were writing at the same time.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">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).</span></blockquote><div><br></div><div>Thanks for your help, will definitely use them. Just wondering if I use "pppoe-vcmux/bridged-llcsnap" on eth0 or "pppoe-llcsnap" on pppoe0 would have the same effect? Or are there some other "under-the-hood" changes when using them?</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">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?</span></blockquote><div><br></div><div>Actually did more testing about this and it seems that as far I have set the bandwidth to ~15Mbps (so ~15% less of my max speed) and use the "nat" parameter, the per-host fairness works even without the "dual-host" and "overhead" parameters. I definitely find this very interesting, is this behaviour caused by the way Steam downloads games?</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">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.</span></blockquote><div><br></div><div>Yeah, with further testing it seems the interface wasn't the culprit but I'll still do all my testing on pppoe0 just to be safe.</div><div><br></div><div>Anyway I was wondering if there's some kind of manual for Cake and the various parameters, I'm looking to set it up best way possible but there are some parameters which I'm not sure what they do (one of them being "ingress"). Also while reading on the <a href="http://bufferbloat.net">bufferbloat.net</a> Cake page I noticed a possible "fix" for BitTorrent (by setting it as "background", <a href="https://www.bufferbloat.net/projects/codel/wiki/Cake/#diffserv-support">https://www.bufferbloat.net/projects/codel/wiki/Cake/#diffserv-support</a>), I'm wondering if this can be done with Steam too?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 21 April 2017 at 15:27, Dendari Marini <span dir="ltr"><<a href="mailto:dendari92@gmail.com" target="_blank">dendari92@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello, I have an update.<div><br></div><div>The download test (PC1 downloading Steam game, PC2 downloading a file) seems to work fine now, even while using higher bandwidth value. So that seems resolved, probably the interface change was the fix.</div><div><br></div><div>Now about the gaming test (PC1 downloading Steam game, PC2 online gaming), this is the one I'm mostly looking forward to fix and the main reason I bought the ER-X. Unfortunately Cake doesn't seem to do much in this case, specifically I'm still getting high latency spikes and packet loss on PC2. One weird thing: starting a download on PC2 will decrease the lantecy/p.loss issues, not sure if it's because of the Steam speed being halved on PC1 or something else.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On 21 April 2017 at 10:34, Dendari Marini <span dir="ltr"><<a href="mailto:dendari92@gmail.com" target="_blank">dendari92@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello, thanks for all of your replies.<div><br></div><div>First of all, my connection <span style="font-size:12.8px">encapsulation should be ATM LLC and it</span> 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).</div><div><span style="font-size:12.8px"><br></span></div><div>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.<br></div><div><br></div><div>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.</div><div><br></div><div>Anyway more testing needed, will report if I notice any consistent result.</div><div><br></div><div>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): <a href="https://community.ubnt.com/t5/EdgeMAX/Smart-Queue-seemingly-not-working-for-Steam-downloads/td-p/1890405" target="_blank">https://community.ubnt.com/t5/<wbr>EdgeMAX/Smart-Queue-seemingly-<wbr>not-working-for-Steam-download<wbr>s/td-p/1890405</a></div><div>Also the thread where I got Cake for the ER-X from: <a href="https://community.ubnt.com/t5/EdgeMAX/Cake-and-FQ-PIE-compiled-for-the-EdgeRouter-devices/td-p/1679844" target="_blank">https://community.ubnt.c<wbr>om/t5/EdgeMAX/Cake-and-FQ-PIE-<wbr>compiled-for-the-EdgeRouter-<wbr>devices/td-p/1679844</a></div></div><div class="m_-1543183545942245704HOEnZb"><div class="m_-1543183545942245704h5"><div class="gmail_extra"><br><div class="gmail_quote">On 20 April 2017 at 20:36, Sebastian Moeller <span dir="ltr"><<a href="mailto:moeller0@gmx.de" target="_blank">moeller0@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="m_-1543183545942245704m_-4999799476973301398im m_-1543183545942245704m_-4999799476973301398HOEnZb"><br>
> On Apr 20, 2017, at 18:05, Dendari Marini <<a href="mailto:dendari92@gmail.com" target="_blank">dendari92@gmail.com</a>> wrote:<br>
><br>
</span><span class="m_-1543183545942245704m_-4999799476973301398im m_-1543183545942245704m_-4999799476973301398HOEnZb">> Hello, thanks for your reply.<br>
><br>
> 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:<br>
><br>
> … bandwidth 850Kbit conservative dual-srchost nat<br>
><br>
> … bandwidth 15Mbit conservative dual-dsthost nat ingress<br>
><br>
> That should give you correct operation, and you can fine-tune from there.<br>
><br>
> 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?<br>
<br>
</span><span class="m_-1543183545942245704m_-4999799476973301398im m_-1543183545942245704m_-4999799476973301398HOEnZb">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?<br>
<br>
Best Regards<br>
<br>
<br>
<br>
<br>
><br>
</span><div class="m_-1543183545942245704m_-4999799476973301398HOEnZb"><div class="m_-1543183545942245704m_-4999799476973301398h5">> On 20 April 2017 at 17:32, Jonathan Morton <<a href="mailto:chromatix99@gmail.com" target="_blank">chromatix99@gmail.com</a>> wrote:<br>
><br>
>> On 20 Apr, 2017, at 18:23, Dendari Marini <<a href="mailto:dendari92@gmail.com" target="_blank">dendari92@gmail.com</a>> wrote:<br>
>><br>
>>> 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<br>
><br>
>> qdisc cake 8001: dev eth0 root refcnt 2 bandwidth 900Kbit diffserv3 dual-srchost nat rtt 100.0ms raw<br>
><br>
>> qdisc cake 8002: dev ifb4eth0 root refcnt 2 bandwidth 16Mbit diffserv3 dual-dsthost nat ingress rtt 100.0ms raw<br>
><br>
> 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:<br>
><br>
> … bandwidth 850Kbit conservative dual-srchost nat<br>
><br>
> … bandwidth 15Mbit conservative dual-dsthost nat ingress<br>
><br>
> That should give you correct operation, and you can fine-tune from there.<br>
><br>
> - Jonathan Morton<br>
><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>