<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 28, 2018, at 11:07 PM, Jonathan Morton <<a href="mailto:chromatix99@gmail.com" class="">chromatix99@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">On 28 Dec, 2018, at 11:22 pm, Pete Heist <<a href="mailto:pete@heistp.net" class="">pete@heistp.net</a>> wrote:<br class=""><br class="">This smells of a bug Toke fixed on Sep 12, 2018 in 42e87f12ea5c390bf5eeb658c942bc810046160a, but then reverted in the next commit because it was fixed upstream. However, if I re-apply that commit, it still doesn’t fix it.<br class=""><br class="">Perhaps there are more cases where skb_reset_mac_len(skb) needs to be called somewhere for VLAN support?<br class=""></blockquote><br class="">I did wonder if there was something about the old kernel messing things up.<br class=""><br class="">Do you still get acceptable throughput if you disable GRO/GSO at the interfaces?<br class=""></div></div></blockquote></div><br class=""><div class="">Turning off GRO does avoid the problem, but unlimited throughput through the one-armed router gets slashed:</div><div class=""><br class=""></div><div class="">GRO on: 920mbit up / 935mbit down</div><div class="">GRO off: 510mbit / 534mbit down</div><div class=""><br class=""></div><div class="">Incidentally, for those using the v1 PCEngines APU, turning off rx-vlan-offload provides much better throughput for traffic routed from VLANs (presumably a quirk of the Realtek r8169 driver):</div><div class=""><br class=""></div><div class="">ethtool -K eth0 rxvlan on: 494mbit</div><div class="">ethtool -K eth0 rxvlan off: 936mbit</div><div class=""><br class=""></div><div class="">It would be great if there’s a way to work around this in cake on older kernels, but I’m not holding my breath. It’s also very possible that the current fix in newer kernels takes care of this case, even if the original workaround in cake does not. This was the kernel change:</div><div class=""><br class=""></div><div class=""><a href="https://patchwork.ozlabs.org/patch/968734/" class="">https://patchwork.ozlabs.org/patch/968734/</a></div><div class=""><br class=""></div><div class="">So far, I’ll just use prio for this at lower throughputs and htb or drr if the CPU is taxed. This works well enough on 3.16, all things considered…</div><div class=""><br class=""></div></body></html>