OS choice for an edge router

Louis Mamakos louie at transsys.com
Fri Sep 7 08:45:09 PDT 2007


Kirc Gover wrote:
> We are in the stage of planning and research for a commercial development of an edge router that will be based mostly on OpenSource software. I would like to solicit for information and recommendation if FreeBSD is a suitable OS. The router is expected to withstand forwarding of sustained traffic from 10Mbps to 1Gbps and maybe more than that. Are there any known limitations of FreeBSD in terms of architecture and performance? Can I just take out a FreeBSD as is and put it with the hardware without any specific or major refinements in its code? I'm  very much concerned with its capability in forwarding heavy sustained traffic. Packet loss should be at minimum and critical userland processes should working normally  even under heavy load. Are there any known specific limitations of FreeBSD? I have browsed through the archives and found a lot of hangups, deadlocks and freeze issues. What is the usual or minimum hardware requirement? Is soekris box enough, or dual core or ASIC
>  based platforms? I'm aware that there are so many FreeBSD based routers and network based devices in the market. Is this a way to go over realtime and embedded OS such as VxWorks and others (mostly commercial) without putting the licensing cost in picture? I really appreciate any help, suggestions and recommendations. More power to FreeBSD!
>  
>  Thanks
>  Kirc
>        
> ---------------------------------
> Sick of deleting your inbox? Yahoo!7 Mail has free unlimited storage. Get it now.
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
> 

What's an "edge" router?  Is this a customer device, or a servicer 
provider's "edge" router that's used to termination a bunch of 
individual customer connections?

I'm sure you can probably use FreeBSD for some moderate performance 
customer equipment, assuming you scrape together or write your own bits 
to flesh out the feature set.

For a service provider edge router, you ought to align your thinking a 
bit differently and consider the control plane distinctly from the 
data/forwarding plane in the box.  Running all of the forwarding 
operations through the CPU won't get you very far (though this is a 
relative measure, I supposed).

In a previous life, I worked for a high-end router start-up that used 
NetBSD as the basis of the control plane of the router (though with a 
interesting, non-traditional twist on the software architecture).  It 
ran the routing protocols, management, and system control functions over 
a set of NetBSD instances.  The router had a distributed, scalable 
switch fabric with multi-Gb/s ports that line interfaces plugged into. 
To run line-rate forwarding with small packet sizes for multiple gigabit 
ethernet, or OC48/OC192 ports usually requires specialized forwarding 
engines and the host OS is essentially uninvolved (on a per packet 
basis) other than setting up the hardware and managing it.

The choice of NetBSD was just because of an existing port to a CPU 
architecture.

Please don't take this the wrong way, but you probably need some 
professional help in making these sorts of design decisions that extends 
beyond what you're likely to get from public mailing lists.  The router 
business is very competitive both for CPE service provider products, and 
having a good understanding the external requirements is a significant 
effort, never mind the specific implementation.  What IGPs do you need 
to support, how many routes in the RIB and the FIB?  What BGP features 
do you need?  Will you need to support multiple classes of traffic, do 
you have hard limits on delay and delay jitter through the router?  Do 
you intend to support MPLS, that opens a whole other can of worms, 
choices and complexity.

Louis Mamakos


More information about the freebsd-net mailing list