Most of the "firewall" linux distros will also offer routing functionality. I'm fond of vyatta, mostly because the also offer a hardware option, and a VM (gret for inter-VLAN routing in a large VM environment).
Also, something to consider is what kind of hardware you intend to use. For example, if you can / want to use a small device, there's always OpenWRT, Tomato, DDWRT, FreeWRT, etc.
Another interesting project to look at is Mikrotik (not completely free).
Also, Wikipedia has a pretty comprehensive list: