I was looking for a software router to provide me with the flexibility of configuring the router to the needs of my personal setup. Having previously used a commercial software which is no longer available, I was on the search for an alternative. I stumbled across zeroshell and decided to try it out. I was very impressed with the flexibility of the software. I am running it on a virtual linux machine and it has so far run flawlessly. It does not use a lot of resources and can conveniently be configured using a web browser. I particularly like the fact that you can use whatever internet connects are connected to the virtual machine(or physical machine) and thereafter build the system to your requirements. I have yet to fully implement the full features that this router offers such as implementation of the proxy server, internet agreggation/bonding. It has a medium learning curve but with the options that are provided for configuration it is part of the package.
Considering this is open source and actively developed it's a very feature rich routing OS built on top of the Linux kernel. Ease of setup is comparable to say DD-WRT or OpenWRT as long as you're not afraid of the command line and you have a relatively modern CPU (I'm using an atom 230 from 2008) install takes around 3 minutes. Configuration, however, takes as long as you want it to. This is a feature rich firewall/router distro, think of pfsense but it's not so picky about what you install it to. I had a serious difficulty getting pfsense to work on my Zotac atom board, I had trouble getting it to work on an AMD FX 8600 as well. Zeroshell, however, installed and booted almost instantly. Running from a 16gb SSD from an old Chromebook and on a 9-year-old SOC Zotac board I'm very impressed with its capabilities. The only reason it's not getting a full 10 stars is because documentation on install is not as complete as I would like. If I didn't have years of distro hopping under my belt and followed the install procedure to at I would have run into some prickly issues as to the overcomplicated install directions I found online. I did a simple dd if=/path/to/source.img of=/dev/usb bs=4M and had the router up and running in 10 minutes.