You can get some performance out of it if you're using Ubiquiti's kernel, because it ships with a series of highly specialized proprietary modules that offload packet handling to hardware accelerated modules, for their custom proprietary network stack. But their kernel is old and shitty, and if you want to do anything interesting with the ERL, you have to build your own kernel.
So for any mildly interesting usage, it fails considerably hard.
And even if you do opt to use their closed-source binary blob kernel modules and software stack, as soon as you try to do any sort of advanced networking, you run up against the limits of their acceleration modules, and the OS is forced to fall back to standard non-accelerated mode, and performance drops. Try using PPP, any interesting iptables, MPTCP, OpenVPN, interesting routing tables, or anything cool: performance drops.
I would be very happy to see some small networking hardware with multiple independent Ethernet controllers pop up on the market for a decent price; every other month or so my disappointment with the ERL moves me to re-research this. Unfortunately, the EdgeRouter Lite is not the hardware anybody wants for interesting low-cost networking.
It's a $100 box. I've been happy with mine as a replacement for an AirPort Extreme. It handles my 30/5 broadband while doing QoS for my VoIP at no more than 10% CPU. Anyway, what would you recommend instead at that price point?
I've cheered Ubiquiti's wireless hardware in the past on here [1], but I have to agree with you. Stay away from their wired stuff. We've had problems with the EdgeRouter and the ToughSwitches.
There's a reason for the old kernel - basically the company that owned the Vyatta project really started neglecting the free version by the end and it hasn't seen much proper maintenance in ages.
I'm starting to get invloved in the fork that was recently taken, called VyOS [1]. Updating the base to a newer version of Debian is a high priority, but there's a fair bit of work in it.
Since Vyatta Core (the community version) is essentially dead, and there is at least one Ubiquiti guy involved in the fork, we hope that VyOS will eventually be the base for EdgeOS.
And as for the hardware acceleration - I wish the drivers were open source but even as it is, it's really a necessary evil to get very good performance on low cost hardware.
I want a secure (but end-user-openable) boot loader, good crypto performance (to do ~linerate AES, and some PKC operations, for things like opportunistic ipsec eventually), and flexible interfaces (ideally, N x Intel GigE and 2 x dual-band wifi radio chipsets).
Real RED/BLACK would be a huge feature, too, and potentially hardware mode switch, or some other technology to work with the trusted boot loader in a way that malware can't hurt. Watchdog. PoEable for the higher end, and in the low end products, absolutely 5v <2.1A (i.e. Apple iPad charger), and ideally <900mA (USB3) or <500mA (USB2).
I also do not like Vyatta's weirdness. It looks like Linux, acts like Linux, but then you have to use all of the awful Vyatta commands to actually do anything.
If you are expecting a Linux distribution then yeah, it is weird. If you are expecting a network appliance then it's par for the course and you are grateful that you can drop to shell to do other things. JunOS is pretty much the same way.
It's not awful - just different. They specifically did it that way because people who configure large networks are much more used to this kind of interface (a la Cisco and Juniper hardware) and like this way a lot better.
I'm hoping to really work on improving the documentation in the new Vyatta fork, VyOS, because poor documentation really let Vyatta down.
I must say: the ERL is terrible hardware.
You can get some performance out of it if you're using Ubiquiti's kernel, because it ships with a series of highly specialized proprietary modules that offload packet handling to hardware accelerated modules, for their custom proprietary network stack. But their kernel is old and shitty, and if you want to do anything interesting with the ERL, you have to build your own kernel.
So for any mildly interesting usage, it fails considerably hard.
And even if you do opt to use their closed-source binary blob kernel modules and software stack, as soon as you try to do any sort of advanced networking, you run up against the limits of their acceleration modules, and the OS is forced to fall back to standard non-accelerated mode, and performance drops. Try using PPP, any interesting iptables, MPTCP, OpenVPN, interesting routing tables, or anything cool: performance drops.
I would be very happy to see some small networking hardware with multiple independent Ethernet controllers pop up on the market for a decent price; every other month or so my disappointment with the ERL moves me to re-research this. Unfortunately, the EdgeRouter Lite is not the hardware anybody wants for interesting low-cost networking.