http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&limit=500&action=history&feed=atom Hardware - Revision history 2024-03-28T13:17:48Z Revision history for this page on the wiki MediaWiki 1.10.1 http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&diff=56222&oldid=prev Kernel-panic69: /* NVRAM */ 2022-03-16T18:41:09Z <p><span class="autocomment">NVRAM</span></p> <table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;"> <tr> <td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td> <td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 18:41, 16 March 2022</td> </tr> <tr><td colspan="2" align="left"><strong>Line 31:</strong></td> <td colspan="2" align="left"><strong>Line 31:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">Reboot the router for new settings in NVRAM to go into effect.</td><td> </td><td style="background: #eee; font-size: smaller;">Reboot the router for new settings in NVRAM to go into effect.</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">*To erase <del style="color: red; font-weight: bold; text-decoration: none;">the </del>nvram <del style="color: red; font-weight: bold; text-decoration: none;">block when running DD-WRT:</del></td><td>+</td><td style="background: #cfc; font-size: smaller;">*To <ins style="color: red; font-weight: bold; text-decoration: none;">reset or </ins>erase nvram<ins style="color: red; font-weight: bold; text-decoration: none;">, please refer to </ins>the <ins style="color: red; font-weight: bold; text-decoration: none;">[[Reset And Reboot]] or [[Hard reset or 30/30/30]] wikis.</ins></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;"><del style="color: red; font-weight: bold; text-decoration: none;"> erase nvram</del></td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;"><del style="color: red; font-weight: bold; text-decoration: none;">*To erase nvram in </del>the <del style="color: red; font-weight: bold; text-decoration: none;">Broadcom CFE (bootloader):</del></td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;"><del style="color: red; font-weight: bold; text-decoration: none;"> nvram erase</del></td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;"><del style="color: red; font-weight: bold; text-decoration: none;">*These are often confused!</del></td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">==Boardflags==</td><td> </td><td style="background: #eee; font-size: smaller;">==Boardflags==</td></tr> </table> Kernel-panic69 http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&diff=55965&oldid=prev Tmittelstaedt: /* Flow Acceleration, SFE and Cut-Through Forwarding */ 2021-08-09T05:32:43Z <p><span class="autocomment">Flow Acceleration, SFE and Cut-Through Forwarding</span></p> <table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;"> <tr> <td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td> <td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 05:32, 9 August 2021</td> </tr> <tr><td colspan="2" align="left"><strong>Line 239:</strong></td> <td colspan="2" align="left"><strong>Line 239:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">[http://web.archive.org/web/20140617211148/https://lists.openwrt.org/pipermail/openwrt-devel/2013-August/020962.html OpenWRT discussion of profiling the acceleration module]</td><td> </td><td style="background: #eee; font-size: smaller;">[http://web.archive.org/web/20140617211148/https://lists.openwrt.org/pipermail/openwrt-devel/2013-August/020962.html OpenWRT discussion of profiling the acceleration module]</td></tr> <tr><td colspan="2">&nbsp;</td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr> <tr><td colspan="2">&nbsp;</td><td>+</td><td style="background: #cfc; font-size: smaller;">[https://www.linksysinfo.org/index.php?threads/ctf.74212/ Speculation of symbols in the ctf.ko module and what they might mean]</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">==Hardware Modifications==</td><td> </td><td style="background: #eee; font-size: smaller;">==Hardware Modifications==</td></tr> </table> Tmittelstaedt http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&diff=55964&oldid=prev Tmittelstaedt: /* Flow Acceleration, SFE and Cut-Through Forwarding */ 2021-08-09T05:22:01Z <p><span class="autocomment">Flow Acceleration, SFE and Cut-Through Forwarding</span></p> <table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;"> <tr> <td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td> <td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 05:22, 9 August 2021</td> </tr> <tr><td colspan="2" align="left"><strong>Line 161:</strong></td> <td colspan="2" align="left"><strong>Line 161:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">Level 2=FA + CTF</td><td> </td><td style="background: #eee; font-size: smaller;">Level 2=FA + CTF</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">With Layer 2, instead of the primary CPU handling all packet delivery within the router, many packets can be moved directly from interface to interface without the primary CPU being involved in all of the packet handling. While nowadays it is pretty well understood how CTF operates (since the Qnat sourcecode can be compiled by anyone and used to show just how inefficient the Linux Netfilter NAT code is<del style="color: red; font-weight: bold; text-decoration: none;">. </del>and it's obvious that CTF works the same way) FA is still somewhat of a black box. Some speculation is that it uses a specialty NAT cpu incorporated into the ethernet switch block of the SoC, and checks every incoming packet into the router to see if it can be diverted into this CPU.</td><td>+</td><td style="background: #cfc; font-size: smaller;">With Layer 2, instead of the primary CPU handling all packet delivery within the router, many packets can be moved directly from interface to interface without the primary CPU being involved in all of the packet handling. While nowadays it is pretty well understood how CTF operates (since the Qnat sourcecode can be compiled by anyone and used to show just how inefficient the Linux Netfilter NAT code is<ins style="color: red; font-weight: bold; text-decoration: none;">, </ins>and it's obvious that CTF works the same way) FA is still somewhat of a black box. Some speculation is that it uses a specialty NAT cpu incorporated into the ethernet switch block of the SoC, and checks every incoming packet into the router to see if it can be diverted into this CPU.</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">FA was officially incorporated into dd-wrt in May of 2021. (after years of waiting for Broadcom to port it to the K4 kernels and release a binary) CTF works with many Broadcom chips while FA works with some of the Northstar line of Broadcom chips, and SFE works with Atheros, Broadcom, and all other chips (including Intel).</td><td> </td><td style="background: #eee; font-size: smaller;">FA was officially incorporated into dd-wrt in May of 2021. (after years of waiting for Broadcom to port it to the K4 kernels and release a binary) CTF works with many Broadcom chips while FA works with some of the Northstar line of Broadcom chips, and SFE works with Atheros, Broadcom, and all other chips (including Intel).</td></tr> </table> Tmittelstaedt http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&diff=55963&oldid=prev Tmittelstaedt: /* Flow Acceleration, SFE and Cut-Through Forwarding */ 2021-08-09T05:18:45Z <p><span class="autocomment">Flow Acceleration, SFE and Cut-Through Forwarding</span></p> <table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;"> <tr> <td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td> <td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 05:18, 9 August 2021</td> </tr> <tr><td colspan="2" align="left"><strong>Line 140:</strong></td> <td colspan="2" align="left"><strong>Line 140:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">and software sets so that we can characterize and design new network processor</td><td> </td><td style="background: #eee; font-size: smaller;">and software sets so that we can characterize and design new network processor</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">SoCs.&quot;</td><td> </td><td style="background: #eee; font-size: smaller;">SoCs.&quot;</td></tr> <tr><td colspan="2">&nbsp;</td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr> <tr><td colspan="2">&nbsp;</td><td>+</td><td style="background: #cfc; font-size: smaller;">Not to be outdone Broadcom released it's own version named CTF that appeared in a few commercial firmwares. An early analysis of this by the OpenWRT community was posted [https://lists.openwall.net/netdev/2013/08/24/13 Here] </td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">For the next 4 years Broadcom continued to work on Fast NAT (CTF) with it making occasional appearances (disabled by default) in different forks of Tomato as bcm_nat, and steadily spreading through manufacturer's K26-based firmware for Broadcom based devices by Netgear, Linksys, and others. Most manufacturer's firmware DID NOT contain Linux kernels with many enhanced features, (such as packet inspection) thus Fast Nat was able to work with them, while the various open projects (Tomato, Openwrt, and all their forks, as well as dd-wrt) used more complete (and modern) Linux kernels so the Broadcom CTF module was unstable or impacted various services (like port forwarding)</td><td> </td><td style="background: #eee; font-size: smaller;">For the next 4 years Broadcom continued to work on Fast NAT (CTF) with it making occasional appearances (disabled by default) in different forks of Tomato as bcm_nat, and steadily spreading through manufacturer's K26-based firmware for Broadcom based devices by Netgear, Linksys, and others. Most manufacturer's firmware DID NOT contain Linux kernels with many enhanced features, (such as packet inspection) thus Fast Nat was able to work with them, while the various open projects (Tomato, Openwrt, and all their forks, as well as dd-wrt) used more complete (and modern) Linux kernels so the Broadcom CTF module was unstable or impacted various services (like port forwarding)</td></tr> </table> Tmittelstaedt http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&diff=55959&oldid=prev Tmittelstaedt: /* Flow Acceleration, SFE and Cut-Through Forwarding */ 2021-08-04T12:36:33Z <p><span class="autocomment">Flow Acceleration, SFE and Cut-Through Forwarding</span></p> <table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;"> <tr> <td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td> <td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 12:36, 4 August 2021</td> </tr> <tr><td colspan="2" align="left"><strong>Line 226:</strong></td> <td colspan="2" align="left"><strong>Line 226:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">&quot;Broadcom’s TruFlow™ packet flow processing technology enables Open vSwitch acceleration through CPU offload&quot;</td><td> </td><td style="background: #eee; font-size: smaller;">&quot;Broadcom’s TruFlow™ packet flow processing technology enables Open vSwitch acceleration through CPU offload&quot;</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td colspan="2">&nbsp;</td><td>+</td><td style="background: #cfc; font-size: smaller;">[https://www.broadcom.com/products/wireless/wireless-lan-infrastructure/bcm4707-4708-4709 Datasheet for the bcm4707, etc.] that states:</td></tr> <tr><td colspan="2">&nbsp;</td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr> <tr><td colspan="2">&nbsp;</td><td>+</td><td style="background: #cfc; font-size: smaller;">&quot;Hardware Flow Accelerator in the Overview&quot;</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">'''OpenWRT investigations on the older K26 CTF module'''</td><td> </td><td style="background: #eee; font-size: smaller;">'''OpenWRT investigations on the older K26 CTF module'''</td></tr> </table> Tmittelstaedt http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&diff=55958&oldid=prev Tmittelstaedt: /* Flow Acceleration, SFE and Cut-Through Forwarding */ 2021-08-04T12:26:57Z <p><span class="autocomment">Flow Acceleration, SFE and Cut-Through Forwarding</span></p> <table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;"> <tr> <td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td> <td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 12:26, 4 August 2021</td> </tr> <tr><td colspan="2" align="left"><strong>Line 190:</strong></td> <td colspan="2" align="left"><strong>Line 190:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">'''Caveats:'''</td><td> </td><td style="background: #eee; font-size: smaller;">'''Caveats:'''</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">* While SFE is open source, CTF and FA are binary blob drivers from Broadcom. NOBODY other than Broadcom knows exactly how they work or what exactly they are doing, the links below are all speculations on what is actually going on. The fact that CTF requires Broadcom devices <del style="color: red; font-weight: bold; text-decoration: none;">strongly hints that some part </del>of the <del style="color: red; font-weight: bold; text-decoration: none;">packet handling </del>code <del style="color: red; font-weight: bold; text-decoration: none;">in the module were coded in assembly language and </del>that FA requires Northstar and ARM devices <del style="color: red; font-weight: bold; text-decoration: none;">indicates specialty </del>hardware <del style="color: red; font-weight: bold; text-decoration: none;">is being used</del>.</td><td>+</td><td style="background: #cfc; font-size: smaller;">* While SFE is open source, CTF and FA are binary blob drivers from Broadcom. NOBODY other than Broadcom knows exactly how they work or what exactly they are doing, the links below are all speculations on what is actually going on. The fact that CTF requires Broadcom devices <ins style="color: red; font-weight: bold; text-decoration: none;">is likely due to tests for Broadcom CPUs inside </ins>of the <ins style="color: red; font-weight: bold; text-decoration: none;">CTF module - Broadcom spent considerable time developing the CTF </ins>code <ins style="color: red; font-weight: bold; text-decoration: none;">as a sales tool to sell Broadcom SoCs. We also know for a fact </ins>that <ins style="color: red; font-weight: bold; text-decoration: none;">FA uses specialty hardware not just because </ins>FA requires Northstar and ARM devices <ins style="color: red; font-weight: bold; text-decoration: none;">but Broadcom lists Flow Acceleration </ins>hardware <ins style="color: red; font-weight: bold; text-decoration: none;">in their sales literature for their SoCs</ins>.</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">* Packets that are modified by the router (such as packets being stuck into an OpenVPN tunnel) cannot go through SFE, CTF or FA and the router will continue to process them as before.</td><td> </td><td style="background: #eee; font-size: smaller;">* Packets that are modified by the router (such as packets being stuck into an OpenVPN tunnel) cannot go through SFE, CTF or FA and the router will continue to process them as before.</td></tr> <tr><td colspan="2" align="left"><strong>Line 202:</strong></td> <td colspan="2" align="left"><strong>Line 202:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">* Because the FA and CTF code is not published it is impossible for a 3rd party to audit it for security.</td><td> </td><td style="background: #eee; font-size: smaller;">* Because the FA and CTF code is not published it is impossible for a 3rd party to audit it for security.</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">* <del style="color: red; font-weight: bold; text-decoration: none;">All </del>of these apply to wired ethernet to ethernet connections. Of course, Gigabit wifi speeds require an 802.11ac or above router (Netgear Nighthawk, etc.). <del style="color: red; font-weight: bold; text-decoration: none;">There are SOME of </del>the <del style="color: red; font-weight: bold; text-decoration: none;">higher end Broadcom wireless radios that have their own CPU's and will offload some packet processing from </del>the <del style="color: red; font-weight: bold; text-decoration: none;">main CPU but that is separate from FA</del></td><td>+</td><td style="background: #cfc; font-size: smaller;">* <ins style="color: red; font-weight: bold; text-decoration: none;">Most </ins>of these apply to wired ethernet to ethernet connections. Of course, Gigabit wifi speeds require an 802.11ac or above router (Netgear Nighthawk, etc.). <ins style="color: red; font-weight: bold; text-decoration: none;">The CTF module attaches to </ins>the <ins style="color: red; font-weight: bold; text-decoration: none;">Wireless interface as well as </ins>the <ins style="color: red; font-weight: bold; text-decoration: none;">LAN interfaces so it may accelerate wifi connections.</ins></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> </table> Tmittelstaedt http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&diff=55957&oldid=prev Tmittelstaedt: /* Flow Acceleration, SFE and Cut-Through Forwarding */ 2021-08-04T12:19:33Z <p><span class="autocomment">Flow Acceleration, SFE and Cut-Through Forwarding</span></p> <table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;"> <tr> <td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td> <td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 12:19, 4 August 2021</td> </tr> <tr><td colspan="2" align="left"><strong>Line 186:</strong></td> <td colspan="2" align="left"><strong>Line 186:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">If you have a fairly fast router CPU such as 300Mhz or above, and a slower cable or DSL line, then you probably won't see any difference. If you have a 500Mbt or above line, you can see a big difference. For example without FA you might max out at 700Mbt on a gigabit Internet line.</td><td> </td><td style="background: #eee; font-size: smaller;">If you have a fairly fast router CPU such as 300Mhz or above, and a slower cable or DSL line, then you probably won't see any difference. If you have a 500Mbt or above line, you can see a big difference. For example without FA you might max out at 700Mbt on a gigabit Internet line.</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">For testing throughput, a baseline should be established with Shortcut Forwarding Engine (SFE) disabled and Flow Acceleration disabled. Then enable SFE and test, then switch to CTF and test, then <del style="color: red; font-weight: bold; text-decoration: none;">switch back to SFE and enable FA, then finally </del>switch to FA and CTF. Test results are going to be specific to the dd-wrt version and the router model.</td><td>+</td><td style="background: #cfc; font-size: smaller;">For testing throughput, a baseline should be established with Shortcut Forwarding Engine (SFE) disabled and Flow Acceleration disabled. Then enable SFE and test, then switch to CTF and test, then switch to FA and CTF. Test results are going to be specific to the dd-wrt version and the router model.</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">'''Caveats:'''</td><td> </td><td style="background: #eee; font-size: smaller;">'''Caveats:'''</td></tr> </table> Tmittelstaedt http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&diff=55956&oldid=prev Tmittelstaedt: /* Flow Acceleration, SFE and Cut-Through Forwarding */ 2021-08-04T12:17:36Z <p><span class="autocomment">Flow Acceleration, SFE and Cut-Through Forwarding</span></p> <table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;"> <tr> <td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td> <td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 12:17, 4 August 2021</td> </tr> <tr><td colspan="2" align="left"><strong>Line 171:</strong></td> <td colspan="2" align="left"><strong>Line 171:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">[[Image:Linksys-ea6200-CTF-FA.png| 580px]]</td><td> </td><td style="background: #eee; font-size: smaller;">[[Image:Linksys-ea6200-CTF-FA.png| 580px]]</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">Note that for Flow Acceleration to be visible and selectable, the WAN interface of the router MUST be configured EITHER with DHCP or with a Static IP address, it must also have QoS disabled, and AFTER the configuration is saved and applied, the router MUST be rebooted for the option to appear. CTF Level 1 does not require QoS to be disabled, however, so if you need QoS you can still use it.</td><td>+</td><td style="background: #cfc; font-size: smaller;">Note that for Flow Acceleration to be visible and selectable, the WAN interface of the router MUST be configured EITHER with DHCP or with a Static IP address, it must also have QoS disabled, and AFTER the configuration is saved and applied, the router MUST be rebooted for the option to appear. CTF Level 1 does not require QoS to be disabled, however, so if you need QoS you can still use it <ins style="color: red; font-weight: bold; text-decoration: none;">however packets going through the CTF bypass may ignore QoS settings</ins>.</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> </table> Tmittelstaedt http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&diff=55955&oldid=prev Tmittelstaedt: /* Flow Acceleration, SFE and Cut-Through Forwarding */ 2021-08-04T12:14:55Z <p><span class="autocomment">Flow Acceleration, SFE and Cut-Through Forwarding</span></p> <table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;"> <tr> <td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td> <td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 12:14, 4 August 2021</td> </tr> <tr><td colspan="2" align="left"><strong>Line 159:</strong></td> <td colspan="2" align="left"><strong>Line 159:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">Level 2=FA + CTF</td><td> </td><td style="background: #eee; font-size: smaller;">Level 2=FA + CTF</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">With Layer 2, instead of the primary CPU handling all packet delivery within the router, many packets can be moved directly from interface to interface without the primary CPU being involved in all of the packet handling. While nowadays it is pretty well understood how CTF operates (since the Qnat sourcecode can be compiled by anyone and used to show just how inefficient the Linux Netfilter NAT code is and it's obvious that CTF works the same way) FA is still somewhat of a black box. <del style="color: red; font-weight: bold; text-decoration: none;">FA was officially </del>incorporated into <del style="color: red; font-weight: bold; text-decoration: none;">dd-wrt in May of 2021. (after years of waiting for Broadcom to port it to </del>the <del style="color: red; font-weight: bold; text-decoration: none;">K4 kernels and release a binary) CTF works with many Broadcom chips while FA works with some </del>of the <del style="color: red; font-weight: bold; text-decoration: none;">Northstar line of Broadcom chips</del>, and <del style="color: red; font-weight: bold; text-decoration: none;">SFE works with Atheros, Broadcom, and all other chips (including Intel)</del>.</td><td>+</td><td style="background: #cfc; font-size: smaller;">With Layer 2, instead of the primary CPU handling all packet delivery within the router, many packets can be moved directly from interface to interface without the primary CPU being involved in all of the packet handling. While nowadays it is pretty well understood how CTF operates (since the Qnat sourcecode can be compiled by anyone and used to show just how inefficient the Linux Netfilter NAT code is<ins style="color: red; font-weight: bold; text-decoration: none;">. </ins>and it's obvious that CTF works the same way) FA is still somewhat of a black box. <ins style="color: red; font-weight: bold; text-decoration: none;">Some speculation is that it uses a specialty NAT cpu </ins>incorporated into the <ins style="color: red; font-weight: bold; text-decoration: none;">ethernet switch block </ins>of the <ins style="color: red; font-weight: bold; text-decoration: none;">SoC</ins>, and <ins style="color: red; font-weight: bold; text-decoration: none;">checks every incoming packet into the router to see if it can be diverted into this CPU</ins>.</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">'''In summary, CTF and SFE are software optimization techniques to accelerate NAT, while FA is a Hardware NAT acceleration mechanism.'''</td><td>+</td><td style="background: #cfc; font-size: smaller;"><ins style="color: red; font-weight: bold; text-decoration: none;">FA was officially incorporated into dd-wrt in May of 2021. (after years of waiting for Broadcom to port it to the K4 kernels and release a binary) CTF works with many Broadcom chips while FA works with some of the Northstar line of Broadcom chips, and SFE works with Atheros, Broadcom, and all other chips (including Intel).</ins></td></tr> <tr><td colspan="2">&nbsp;</td><td>+</td><td style="background: #cfc; font-size: smaller;">&#160;</td></tr> <tr><td colspan="2">&nbsp;</td><td>+</td><td style="background: #cfc; font-size: smaller;">'''In summary, CTF and SFE are software optimization techniques to accelerate NAT, while FA is a Hardware NAT acceleration mechanism. <ins style="color: red; font-weight: bold; text-decoration: none;"> SFE works on all dd-wrt routers while CTF requires Broadcom CPU's and FA requires both Broadcom CPUs and specialty hardware in the Broadcom SoC</ins>'''</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">Once dd-wrt is loaded on your router, click Status and look at the router CPU. If it is a newer Broadcom CPU you should have CTF. If it is Broadcom and an ARM chip then you can check this list to see if your CPU is a </td><td> </td><td style="background: #eee; font-size: smaller;">Once dd-wrt is loaded on your router, click Status and look at the router CPU. If it is a newer Broadcom CPU you should have CTF. If it is Broadcom and an ARM chip then you can check this list to see if your CPU is a </td></tr> </table> Tmittelstaedt http://wiki.dd-wrt.com/wiki/index.php?title=Hardware&diff=55954&oldid=prev Tmittelstaedt: /* Flow Acceleration, SFE and Cut-Through Forwarding */ 2021-08-04T12:02:18Z <p><span class="autocomment">Flow Acceleration, SFE and Cut-Through Forwarding</span></p> <table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;"> <tr> <td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td> <td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 12:02, 4 August 2021</td> </tr> <tr><td colspan="2" align="left"><strong>Line 151:</strong></td> <td colspan="2" align="left"><strong>Line 151:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">Finally, SFE was ported into OpenWRT LEDE in June 2017 by gwlim [https://forum.openwrt.org/t/qualcomm-fast-path-for-lede/4582 Qualcomm Fast Path For LEDE]and into dd-wrt by BrainSlayer a month later. [https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=310099 Kong's SFE announcement] This really helped the cause of high-speed link usage on open source firmware on routers as once the code was part of the source code of these flagship distributions, every other fork and project started incorporating SFE (and very likely a number of hardware manufacturers as well) Today, SFE is enabled by default in the dd-wrt interface.</td><td> </td><td style="background: #eee; font-size: smaller;">Finally, SFE was ported into OpenWRT LEDE in June 2017 by gwlim [https://forum.openwrt.org/t/qualcomm-fast-path-for-lede/4582 Qualcomm Fast Path For LEDE]and into dd-wrt by BrainSlayer a month later. [https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=310099 Kong's SFE announcement] This really helped the cause of high-speed link usage on open source firmware on routers as once the code was part of the source code of these flagship distributions, every other fork and project started incorporating SFE (and very likely a number of hardware manufacturers as well) Today, SFE is enabled by default in the dd-wrt interface.</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">The Quick NAT project eventually released their source code to QuickNAT, designated QNAT, on Github here [https://github.com/Qihoo360/QNAT] This code was developed under Centos and claims up to 10Gbt <del style="color: red; font-weight: bold; text-decoration: none;">speed increases </del>on x86 hardware.</td><td>+</td><td style="background: #cfc; font-size: smaller;">The Quick NAT project eventually released their source code to QuickNAT, designated QNAT, on Github here [https://github.com/Qihoo360/QNAT] This code was developed under Centos and claims up to 10Gbt <ins style="color: red; font-weight: bold; text-decoration: none;">packet handling ability </ins>on x86 hardware.</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">Broadcom had not been idle with CTF, either. By 2012 they had concentrated on the Northstar line of CPUs and in addition to the software NAT acceleration, introduced hardware acceleration in Northstar. CTF was handled by a proprietary software module ctf.ko to create Layer 1 acceleration, while Flow Acceleration (FA) was handled by adding special hardware into it's devices with gigabit Ethernet ports that helps distribute the processing of packets in the router to create Layer 2 acceleration. With Broadcom:</td><td>+</td><td style="background: #cfc; font-size: smaller;">Broadcom had not been idle with CTF, either. By 2012 they had concentrated on the Northstar line of CPUs and in addition to the software NAT acceleration, introduced hardware acceleration in <ins style="color: red; font-weight: bold; text-decoration: none;">later </ins>Northstar <ins style="color: red; font-weight: bold; text-decoration: none;">SoCs named Flow Acceleration</ins>. CTF was handled by a proprietary software module ctf.ko to create Layer 1 acceleration, while Flow Acceleration (FA) was handled by adding special hardware into it's devices with gigabit Ethernet ports that helps distribute the processing of packets in the router to create Layer 2 acceleration. With Broadcom:</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">Level 1=CTF Only</td><td> </td><td style="background: #eee; font-size: smaller;">Level 1=CTF Only</td></tr> <tr><td colspan="2" align="left"><strong>Line 159:</strong></td> <td colspan="2" align="left"><strong>Line 159:</strong></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">Level 2=FA + CTF</td><td> </td><td style="background: #eee; font-size: smaller;">Level 2=FA + CTF</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td>-</td><td style="background: #ffa; font-size: smaller;">With Layer 2, instead of the primary CPU handling all packet delivery within the router, many packets can be moved directly from interface to interface without the primary CPU being involved in all of the packet handling. FA was officially incorporated into dd-wrt in May of 2021. (after years of waiting for Broadcom to port it to the K4 kernels and release a binary) CTF works with many Broadcom chips while FA works with some of the Northstar line of Broadcom chips, and SFE works with Atheros, Broadcom, and all other chips (including Intel).</td><td>+</td><td style="background: #cfc; font-size: smaller;">With Layer 2, instead of the primary CPU handling all packet delivery within the router, many packets can be moved directly from interface to interface without the primary CPU being involved in all of the packet handling<ins style="color: red; font-weight: bold; text-decoration: none;">. While nowadays it is pretty well understood how CTF operates (since the Qnat sourcecode can be compiled by anyone and used to show just how inefficient the Linux Netfilter NAT code is and it's obvious that CTF works the same way) FA is still somewhat of a black box</ins>. FA was officially incorporated into dd-wrt in May of 2021. (after years of waiting for Broadcom to port it to the K4 kernels and release a binary) CTF works with many Broadcom chips while FA works with some of the Northstar line of Broadcom chips, and SFE works with Atheros, Broadcom, and all other chips (including Intel).</td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr> <tr><td> </td><td style="background: #eee; font-size: smaller;">'''In summary, CTF and SFE are software optimization techniques to accelerate NAT, while FA is a Hardware NAT acceleration mechanism.'''</td><td> </td><td style="background: #eee; font-size: smaller;">'''In summary, CTF and SFE are software optimization techniques to accelerate NAT, while FA is a Hardware NAT acceleration mechanism.'''</td></tr> </table> Tmittelstaedt