The EFF launches a router project
The EFF launches a router project
Posted Jul 29, 2014 19:15 UTC (Tue) by arnd (subscriber, #8866)In reply to: The EFF launches a router project by dlang
Parent article: The EFF launches a router project
As I commented last week, it seems worthwhile to wait for the next generation of routers that also has dual-core ARM processors instead of single-core MIPS. OpenWRT currently has initial support for Marvell ArmadaXP and Broadcom bcm4708, but they have the same problem with wireless drivers and are not yet stable enough for a project like CeroWRT.
The new Atheros IPQ8064 (derived from Snapdragon S4 Pro) should show up in devices (Netgear R7500?) at some point this year, and that has a slightly better chance of getting free firmware, as mtaht mentioned.
Posted Jul 29, 2014 21:08 UTC (Tue)
by dlang (guest, #313)
[Link] (8 responses)
That support was not available until a few months ago, and I think I saw a patch tweaking support for these models within the last week, so they are very recent entreats as far as OpenWRT is concerned.
As a like-for-like replacement of the 3800 it wouldn't be bad.
But if we are going to move CeroWRT to a new platform, it would be very nice to get something with a faster CPU because the bandwidth available to home users (in some areas) is increasing, and many of those people are the ones who would be most interested in addressing these sorts of problems
Depending on configuration and traffic, the 3800 can run out of CPU somewhere in the 10-50Mb/s range when running CeroWRT.
Posted Jul 29, 2014 22:08 UTC (Tue)
by arnd (subscriber, #8866)
[Link] (7 responses)
IPQ8064 will have a much faster CPU but the I/O path is as crippled as before by lacking cache-coherent DMA over PCI. Armada XP (from WRT1900AC) should have much higher I/O throughput, but its PJ4B CPU cores are not as fast as the Krait cores used in IPQ8064.
In terms of raw CPU performance, I'd expect doubling speed with each step AR7161->QCA9558->BCM47081->MV78230->IPQ8064, but in practice you see less than that on network transfers because they will all spend a lot of time waiting for I/O to cross the bus.
Posted Jul 29, 2014 22:17 UTC (Tue)
by dlang (guest, #313)
[Link] (1 responses)
I've had testing done with the 3800 with a very stripped down kernel (down to disabling connection tracking and all firewalling because it wasn't needed for the application), and the number reported back was that it topped out at 300Mb/sec
Posted Jul 30, 2014 2:31 UTC (Wed)
by mtaht (subscriber, #11087)
[Link]
the real killer for cpu is the cost software rate limiting, which accounts for like 82% of the overhead before a box flatlines. (I confirm the peak forwarding rate for the wndr3800 appears to be about 330mbit/sec with no iptables rules using fq_codel on the ethernet device, and about 50mbit with software rate limiting)
I'd like to come up with a better rate limiter, and feel that hardware assistance is going to be needed with the current generation of arm router based products as well.
Posted Jul 30, 2014 2:26 UTC (Wed)
by mtaht (subscriber, #11087)
[Link] (4 responses)
An advantage of the arm chips is they generally have a L2 cache that is worthwhile and shorter pipelines. And Intel did some great things with ivy bridge direct to cache dma interface and their DLPK system that I wish the lower end routers could duplicate...
Personally I'm in love with the parallella right now (if only the 16 core co processor was more of an I/O co-processor) and its dual A9 core AND FPGA.... got enough gates to do http://jvimal.github.io/senic/ and maybe fq_codel too...
Posted Jul 31, 2014 14:58 UTC (Thu)
by jhhaller (guest, #56103)
[Link] (3 responses)
Posted Aug 1, 2014 4:21 UTC (Fri)
by mtaht (subscriber, #11087)
[Link] (2 responses)
I keep hoping someone writing hardware will make note of all the advancements in queue theory of late and make better ethernet chips (or, in arm's case, verilog or VHDL IP).
Posted Aug 1, 2014 12:27 UTC (Fri)
by arnd (subscriber, #8866)
[Link] (1 responses)
Note that ODP by design requires cache-coherent DMA, which does not necessarily imply doing the DMA into the cache, but it does mean that it is not portable to the typical low-end SoCs you'd find in consumer routers as opposed to the devices that Cisco and Juniper are selling to enterprise customers.
The ArmadaXP chip (used in WRT1900AC) may be an exception to that, so ODP can run on that in theory, but then you still need to program your ODP based application to talk to Marvell's network hardware through ODP.
Posted Feb 15, 2016 13:13 UTC (Mon)
by nysan (guest, #81015)
[Link]
Have a look at openfastpath on ODP.
The EFF launches a router project
The EFF launches a router project
The EFF launches a router project
The EFF launches a router project
The EFF launches a router project
The generic activity (but driven by ARM) comparable to the Intel DPDK effort is OpenDataPlane. It's not nearly as advanced as DPDK, but may be of interest to OpenWRT and downstream projects.
The EFF launches a router project
The EFF launches a router project
The EFF launches a router project
The EFF launches a router project
Linux is still used as controlplane with --enable-sp, ARP, RIPv2 et.c. is sent to the kernel stack.
Standard cmds "arp", "ip" et.c. are used to configure parts of the stack thats common between both.
Control plane stack state is mirrored via netlink for fast access by packet churning cores, i.e. ARP table, FIB et.c.