Flow Acceleration missing in latest builds

Post new topic   Reply to topic    DD-WRT Forum Index -> Broadcom SoC based Hardware
Goto page 1, 2, 3  Next
Author Message
tedm
DD-WRT Guru


Joined: 13 Mar 2009
Posts: 554

PostPosted: Wed Jul 28, 2021 15:15    Post subject: Flow Acceleration missing in latest builds Reply with quote
Linksys EA6200
Netgear AC1450

Both had Flow Acceleration as an option in build 47040

And it worked - and worked really well.

In build 47090 - the option is now missing.

Yes, I saw ticket 7444. But, that ticket was for FA broken on ASUS RT-AC56U not for broken FA on my routers, R8000, R6300, etc. etc.

Before we clutter up that ticket with routers other than the ASUS model in question perhaps the original change that fixed FA on the RT-AC56U and broke FA on all the other routers should be reverted?? Seems to me this was a non-critical bug on the RT-AC56U anyway since the workaround is to reset it and then just not turn FA on, right?

Or perhaps a new TT should be opened?

Just trying to find out how best to prioritize this one since it's a good option that was working until the RT-AC56U fix broke it. It's kind of like giving the dog a big piece of juicy bacon then yanking it away once he's had a few delicious mouthfuls!
Sponsor
kernel-panic69
DD-WRT Guru


Joined: 08 May 2018
Posts: 14102
Location: Texas, USA

PostPosted: Wed Jul 28, 2021 15:52    Post subject: Reply with quote
I contacted BrainSlayer; leave it all in one ticket.

https://svn.dd-wrt.com/ticket/7444

_________________
"Life is but a fleeting moment, a vapor that vanishes quickly; All is vanity"
Contribute To DD-WRT
Pogo - A minimal level of ability is expected and needed...
DD-WRT Releases 2023 (PolitePol)
DD-WRT Releases 2023 (RSS Everything)

----------------------
Linux User #377467 counter.li.org / linuxcounter.net
kushwavez
DD-WRT Novice


Joined: 15 Jun 2020
Posts: 32

PostPosted: Wed Jul 28, 2021 21:27    Post subject: Reply with quote
I think it's broken since the FA core detection commits like these: https://svn.dd-wrt.com/changeset/47048

At least, on my RT-AC56U is reporting "not FA capable" since then. Netgear R8000 user also reporting FA not showing up, but these are in the ticket if you scroll down.
tedm
DD-WRT Guru


Joined: 13 Mar 2009
Posts: 554

PostPosted: Thu Jul 29, 2021 4:52    Post subject: Reply with quote
Oh dear, I was afraid of that. BS must be working with brand new gear where the manufacturer is inserting sensible flags saying that yes there is indeed the specialty go-fast hardware. Whereas the older gear has the go-fast hardware but no indication it's present. I get it he doesn't want people turning on FA and causing panics and such on older gear that doesn't have it. But there's going to be a LOT of older gear that DOES have the go-fast hardware but doesn't flag it.

I think I'll be sticking with build 47040 for a while for my ARM devices. I'd rather try turning it on and blowing up the router then resetting nvram to recover, than deal with a chance of it NOT being detected when in actuality it exists.
BrainSlayer
Site Admin


Joined: 06 Jun 2006
Posts: 7463
Location: Dresden, Germany

PostPosted: Thu Jul 29, 2021 6:04    Post subject: Reply with quote
in newer builds FA support will be detected. originally i added it unconditional for all devices. later i found out that flow acceleration is not supported on all northstar cpu types. the state of the support can be checked with the nvram variable "ctf_fa_cap"
of course you can override it by setting it to 1.

_________________
"So you tried to use the computer and it started smoking? Sounds like a Mac to me.." - Louis Rossmann https://www.youtube.com/watch?v=eL_5YDRWqGE&t=60s
tedm
DD-WRT Guru


Joined: 13 Mar 2009
Posts: 554

PostPosted: Thu Jul 29, 2021 7:25    Post subject: Reply with quote
Alrighty then - you just lit a fire under me to get my Linksys EA6900 loaded with dd-wrt, which I did.

This router DOES appear to have FA hardware. I loaded r47097 on it and telneted in and ran a dmesg. The relevant lines are:

attaching FA
CHIPID 53010, rev 5
no valid FA Mode.
attach ctf for eth%d
_ctf_attach:attach eth%d
bind ctf to eth if
eth0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller 7.14.164.18 (r692288)
CTF: disabled

So basically, you are attempting to load the FA module, if it attaches successfully, then you set ctf_fa_cap to 1 otherwise set to 0 if no successful attachment.

What I can tell you is that on my Netgear AC1450 it DOES NOT set the nvram variable ctf_fa_cap=1 it DOES set it to 0. No record of successful attachment in dmesg of FA.

Of course, if I set the variable to 1 and commit the changes then reboot the router, the Flow Acceleration selection does appear but that does me no good if the hardware doesn't exist or the FA module isn't present in the firmware.

What I CANNOT tell you right now is if turning on Flow Acceleration on that router actually does anything because I have not tested it. However, I DID test Flow Acceleration on my Linksys EA6200 which also does not set that nvram flag either, and turning FA on did result in a far faster throughput. But - I cannot tell you if that was due to hardware or only to selecting CTF instead of SFE because I had selected both CTF and FA when I saw the throughput boost. When I was testing I was only testing compatibility with my openvpn setup. My guess though is most likely CTF and not FA was responsible for the speed boost. I am planning on doing a set of throughput comparisons eventually.
itwontbewe
DD-WRT User


Joined: 29 Sep 2020
Posts: 259
Location: United States

PostPosted: Thu Jul 29, 2021 12:22    Post subject: Reply with quote
Netgear R7000P r47090

i did an nvram erase. after setting up router username and password fa was not visible in gui. i rebooted. it starts the reboot process and goes a bit, then it restarts the reboot process again. after finally booting up fa is again in the gui. not sure if other routers will behave the same.

* separate
for some reason ctf causes reboots on the router. not sure what causes it.

possible it doesn't get along with unbound, dns over tls or my block list


Last edited by itwontbewe on Thu Jul 29, 2021 17:29; edited 1 time in total
hemirunner426
DD-WRT Novice


Joined: 29 Jul 2021
Posts: 5

PostPosted: Thu Jul 29, 2021 14:35    Post subject: Reply with quote
Missing here as well on AC68U.

dmesg:
attaching FA
CHIPID 53010, rev 5
no valid FA Mode.
attach ctf for eth%d
_ctf_attach:attach eth%d
bind ctf to eth if
tedm
DD-WRT Guru


Joined: 13 Mar 2009
Posts: 554

PostPosted: Tue Aug 03, 2021 14:55    Post subject: Reply with quote
itwontbewe wrote:
Netgear R7000P r47090

i did an nvram erase. after setting up router username and password fa was not visible in gui. i rebooted. it starts the reboot process and goes a bit, then it restarts the reboot process again. after finally booting up fa is again in the gui. not sure if other routers will behave the same.



This is normal. The way that BS implemented the check that allows FA to appear in the GUI is that it checks if the router is either in DHCP mode or static IP mode. When the router boots after clearing the NVRAM the variables configuring the mode do not exist yet so the check is always going to fail the first time around.

If you get an "attaching FA" in the dmesg then the router has FA hardware. To make FA appear in the interface after clearing NVRAM you let it reboot, then you set the WAN interface to static or DHCP, then save and apply settings, then reboot the router. Then it will appear.

CTF is a software module that is separate from FA hardware. It would be great if you could set your router up as stock with no specialty config no block list, etc. - run it for a while without CTF, see if it reboots, then turn on CTF and see if it reboots, then start adding in features until you find the one that causes CTF to make the router reboot then file a trouble ticket.
itwontbewe
DD-WRT User


Joined: 29 Sep 2020
Posts: 259
Location: United States

PostPosted: Wed Aug 04, 2021 14:46    Post subject: Reply with quote
thanks for the explanation

i'm not sure how much troubleshooting i'll be able to do(various reasons). i will test it from time to time though

i enabled ctf yesterday evening. this morning i checked gui to see if it rebooted overnight. it did not. just after checking, the router rebooted though.

* sometimes it seems it's when a device that went offline turns back on and rejoins the network
tedm
DD-WRT Guru


Joined: 13 Mar 2009
Posts: 554

PostPosted: Thu Aug 05, 2021 15:27    Post subject: Reply with quote
Test your download speed with speedtest.net or some such.

Unless you have a high amount of bandwidth CTF won't make a difference if it's enabled. Also we want to get some comparisons between CTF and SFE on different hardware and environments.

I did a lot of research the other night and updated the wiki on SFE/CTF/FA. Essentially what it boils down to is that the Linux netfilter stack is extraordinarily slow, far slower than most people believe, particularly with NAT. This was first noted by carriers back in the early 2000's when they were trying to do carrier-grade NAT on Linux (which by the way is mostly public-to-public 1:1 conversions not many-to-one) No matter how powerful the hardware was they threw at it they could not get much more than 1gb/sec though a Linux system.

The researchers then started analyzing this and pointing out various ways to improve the stack most of which the Linux developers (who are in complete denial) ignored. As a result research moved towards bypass methods. Much of this research was done in China and they managed to accelerate network processing purely in software by almost a factor of 10. IMHO it's purely the NIH attitude of the Linux dev's that has prevented those ideas from being incorporated into the standard Linux networking stack and translation engine.

SFE/CTF/FA bypass the Linux networking stack. I don't know how SFE works internally but the code is open source so anyone can look but I suspect it works similarly to CTF. CTF is closed source so we don't know much about it (my guess is brainslayer knows a lot more but I also suspect he is under NDA and cannot discuss it) but there's been some publicly posted guessing based on dumping the symbols from it. The current ctf.ko module is stripped but in the early days Broadcom accidentally released a ctf.ko module that was not stripped, and based on the symbol names in it, and in the current header files, it appears that CTF is a complete rewrite of the linux stack and translation engine that essentially runs in parallel to the stack and translation engine in the Linux kernel that is public. When enabled, the majority of "normal" packets pass through CTF from the Internet to the inside and back. Packets that are doing weird and oddball things (like VPN) are diverted into the regular Linux stack. That's why QoS does not work with CTF but if you have a gigabit Internet connection you don't need QoS anyway.

There's been a lot of speculation that CTF does esoteric things with hardware because it only runs on Broadcom gear but I don't think that is the case at all. Some of that speculation is quite amusing - a couple people seemed to think that the ethernet switch in the router passes packets in between ports without the CPU - of course conveniently leaving out that the packets need to be natted so you can't do a layer 2 switch and have it work. Another popular speculation is that there's a hidden or secret CPU somewhere that just does NAT. It's not uncommon to grasp at esoteric explanations when you don't question your assumptions.

There's also been calls by users to "port" CTF to other chips but I think that is stupid. Besides the possibility that some parts of it are written in assembler, we already have 2 other open source high speed NAT engines available, one of which - SFE - is already included in dd-wrt. Broadcom's cleverness on this was realizing that what's sauce for the goose is sauce for the gander - the same tricks used to make $10,000 carrier grade gear go fast could be applied to $50 networking gear to make -it- go fast. No need for esoteric extra processors and such in the hardware all you really need to do is let go of the preconception that the linux networking developers are God's gift to Networking and bring in some professional computer scientists and tell them to take a go at it.

No doubt the Linux fanboys are gonna come out of the woodwork and castigate me but the accelerated code is out there, anyone can run it or just turn it on in their device and see for themselves how grannie-slow the Linux networking stack is.

For all the "ooooo magic and mystery" of SFE and CTF the reality is that these really AREN'T "acceleration" What they ARE is they are making the router process packets at NORMAL speed, the speed that the hardware SHOULD be running at. The reality is that the linux stack is so slow that they look "accelerated" in comparison. Pretty ridiculous.

The REAL frontier is the FA code because that DOES use esoteric hardware - and Broadcom says so right in the SoC documentation in fact.
itwontbewe
DD-WRT User


Joined: 29 Sep 2020
Posts: 259
Location: United States

PostPosted: Thu Aug 05, 2021 16:12    Post subject: Reply with quote
right now i don't have the speed to really test it. my isp is only 100 down and 10 up. i have no problem with everything off. at some point ill have to get a speed upgrade. if/when i'll do more testing

thanks again for your explanations

*****
i tested a different setup and i didn't have the reboot issue. still don't have the isp to do a real test


Last edited by itwontbewe on Sun Aug 29, 2021 15:27; edited 1 time in total
sunny0_0
DD-WRT Novice


Joined: 27 Nov 2019
Posts: 22

PostPosted: Fri Aug 06, 2021 4:16    Post subject: Reply with quote
Thanks for the explanation @tedm.

I read your write-up in preparation for next week for when I should be getting Verizon fiber. I have a ddwrt build installed on my Netgear 63000v2 that was posted before the check for CTF and FA was implemented, but the processor is on the northstar list and nvram settings are ctf_disable=0 and ctf_fa_mode=2. It should be all good...
tedm
DD-WRT Guru


Joined: 13 Mar 2009
Posts: 554

PostPosted: Fri Aug 06, 2021 12:40    Post subject: Reply with quote
sunny0_0 wrote:
Thanks for the explanation @tedm.

I read your write-up in preparation for next week for when I should be getting Verizon fiber. I have a ddwrt build installed on my Netgear 63000v2 that was posted before the check for CTF and FA was implemented, but the processor is on the northstar list and nvram settings are ctf_disable=0 and ctf_fa_mode=2. It should be all good...


I believe the 6300v2 ac1450 r6250 ext200 are all the same hardware and no that hardware does not have FA. But it's Broadcom so CTF will be available after the second reboot. I would strong recommend the very latest build. The nvram settings don't mean anything. What matters is after the second reboot telnet into the router and run dmesg and look in the kernel modules directory. If you have ctf.ko in that directory and if you see an attach for CTF in the dmesg then you are go for CTF. If you see an attach for FA then you are go for FA and CTF.
egc
DD-WRT Guru


Joined: 18 Mar 2014
Posts: 12812
Location: Netherlands

PostPosted: Fri Aug 06, 2021 12:50    Post subject: Reply with quote
Netgear R6400v1:

Quote:
root@R6400v1:~# dmesg | grep FA
attaching FA
attaching FA
FA Core Detected!
root@R6400v1:~#

_________________
Routers:Netgear R7000, R6400v1, R6400v2, EA6900 (XvortexCFE), E2000, E1200v1, WRT54GS v1.
Install guide R6400v2, R6700v3,XR300:https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=316399
Install guide R7800/XR500: https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=320614
Forum Guide Lines (important read):https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=324087
Goto page 1, 2, 3  Next Display posts from previous:    Page 1 of 3
Post new topic   Reply to topic    DD-WRT Forum Index -> Broadcom SoC based Hardware All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum