opkid
August 26, 2017, 3:18pm
1
I'm using WNDR4300 with Openwrt v15.05.01. When it connects to the 500Mbps cable, the maximum speed of LAN is around 200Mbps. How about the new version of LEDE? Is the maximum speed better than the Openwrt?
Thanks!
LEDE routing speed isn't any faster than OpenWRT. But your WNDR4300 will gain benefit from the shortcut FE patches for LEDE in this thread:
I have successfully ported Qualcomm OpenSourced Fast Path for LEDEN
Fast Path will work on ALL hardware
You don't need to configure any additional settings for Fast Path as long as modules are loaded successfully it will work
From my testing Fast Path improves Wireless and Wired Throughput
On my WDR4300v1 running at 730MHZ I can achieve Wire Speeds
https://wiki.openwrt.org/doc/howto/benchmark.nat
Client connecting to 10.1.1.2, TCP port 5001
TCP window size: 0.08 MByte (default)
[ 3] loc…
opkid
August 26, 2017, 3:44pm
3
Great! I'll try that patch.
Thank you for the information!
I looked at this thread for the FE patches and it isn't clear how you have to apply it and if you need to compile it yourself? Any idea when it will be incorporated in the main tree of code if any?
This is basically what I run to get the patch applies on the current LEDE code base, before running menuconfig:
git clone -b v17.01.2 git://git.lede-project.org/source.git lede
cd lede/
wget -o sfe.patch https://github.com/dissent1/r7800/commit/4ed549dc60f984891fce43d163b77462f07dc025.patch
patch -p1 < sfe.patch
./scripts/feeds update -a
./scripts/feeds install -a
I hope that helps.
@dissent1 has submitted a pull request to merge the SFE drivers into LEDE main tree. You can follow that here:
lede-project:master
← dissent1:sfe
opened 10:15AM - 02 Aug 17 UTC
Add an opensource Qualcomm Shortcut FE driver.
The driver consists of:
- sfe… (core modules): shortcut-fe (ipv4) and shortcut-fe-ipv6 - modules that actually do the offloading
- shortcut-fe-cm - simple shortcut-fe connection manager - a module that creates offloading rules and passes to sfe
- fast-classifier - advanced connection manager - a module that creates offloading rules and passes to sfe. Comparing to sfe-cm has additional checks, connection statistics and creates an offloading rule only when a connection hits 128 packets flowed (can be adjusted through /sys/fast_classifier/offload_at_pkts)
- userspace-fast-classifier - a fast-classifier user-space tool to manually add connections one want to offload
Both sfe-cm and fast-classifier get information about connections through netfilter. And after some checks it creates an offloading rule that is passed to sfe. After that sfe marks a connection as fast-forwarded and routes the flow.
Kernel parses this mark and bypasses its network stack taps for a specific connection in favor of sfe.
There are 3 patches added with this commit:
950 - adds a hook into network stack, sets no tcp window check to 0 (according to sfe readme).
951 - because fast-classifier also supports bridge offloading (echo 1 > /sys/fast_classifier/skip_to_bridge_ingress) and offloaded connections do not naturally update bridge statistics, fast-classifier will do that.
952 - allow multiple listeners for conntrack events, it is requied for netlink and sfe coexistance (for example)
All these patches are filled with ifdefs so the sfe code path is engaged only when these modules are compiled. It allows to keep kernel code untouched in case of no sfe compiled in.
Because sfe-cm and fast-classifier are competing modules, It's recommended to keep loaded only one of them. If both are loaded then in a race condition sfe-cm always comes first.
The driver is a merger of https://source.codeaurora.org/quic/qsdk/oss/lklm/shortcut-fe/log/?h=release/endive_cc with https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.18/drivers/net/ethernet/qualcomm/sfe/
I've also added missing function to update udp statistics by fast-classifier and some more small fixes.
Patches are taken from QSDK and that chromeos-3.18 repo and a bit adjusted.
After reading through the above, I noticed that there are additional patches for SQM to work properly; so you might want to add them. I don't use SQM myself.
I would also suggest for you to post additional questions to the main SFE thread here:
Thanks for the hint, but isn't this working with 'lede-17.01' branch? (I just tried out and there's no such option in Kernel config.)