Servers don't really make good routers. When you are talking
about
traditional low- to mid-speed telco circuits (T1, T3), there have never
been good, well-supported, cost-effective solutions for connecting those
directly to Linux systems for routing that could compete with a basic
Juniper or Cisco (or Adtran or ...) on price and ease of use.
When you start talking about SONET links (OC-3 and up), Linux AFAIK
doesn't handle things like protected paths and the like, and then you
also quickly pass the performance capability of commodity hardware.
Newer WAN circuits are using Ethernet, but you need OAM (which Linux
doesn't support) to properly manage them as a replacement for
traditional telco circuits.
"Real" routers (aka Juniper and Cisco) use hardware-based forwarding
that can run at line rate for 1G, 10G, and 100G interfaces.
Dynamic routing has always been pretty weak in Linux as well. I have a
few systems running Quagga for various purposes, but it is not nearly as
powerful and flexible as a "traditional" router.
Now, Juniper routers all run FreeBSD, but that's only on the routing
engine (where the management and routing daemons run), not the
forwarding engine (where the actual packet forwarding takes place).
Juniper wrote all their own routing, PPP management, etc. daemons from
scratch. It is kind of funny when you spend $100K+ on a router that has
a Celeron 850 CPU and a whopping 20G hard drive. :-)
I have lots of Linux servers, a few other old Unix servers, and a couple
of Linux firewalls, but all my routers are Juniper. I've been working
for small ISPs for 14 years, and I've never really seen a time where I
would try to push Linux into serious routing. It costs too much on the
low end and can't handle the performance on the high end.
How about Vyatta? They are Linux-based and claim to have the same
performance as Cisco routers. They started out as software-only but
seem to be pushing "appliances" more and more, like
http://www.vyatta.com/downloads/datasheets/vyatta_3500_datasheet.pdf
(Your reply-to has users(a)lists.fedoraproject.org twice)