Building a robust software-based router using network processors

Tammo Spalink, Scott Karlin, Larry Peterson, Yitzchak Gottlieb

Research output: Contribution to journalArticlepeer-review

109 Scopus citations


Recent efforts to add new services to the Internet have increased interest in software-based routers that are easy to extend and evolve. This paper describes our experiences using emerging network processors - in particular, the Intel IXP1200 - to implement a router. We show it is possible to combine an IXP1200 development board and a PC to build an inexpensive router that forwards minimum-sized packets at a rate of 3,47Mpps. This is nearly an order of magnitude faster than existing pure PC-based routers, and sufficient to support 1.77Gbps of aggregate link bandwidth. At lesser aggregate line speeds, our design also allows the excess resources available on the IXP1200 to be used robustly for extra packet processing. For example, with 8 × 100Mbps links, 240 register operations and 96 bytes of state storage are available for each 64-byte packet. Using a hierarchical architecture we can guarantee line-speed forwarding rates for simple packets with the IXP1200, and still have extra capacity to process exceptional packets with the Pentium. Up to 310Kpps of the traffic can be routed through the Pentium to receive 1510 cycles of extra per-packet processing.

Original languageEnglish (US)
Pages (from-to)216-229
Number of pages14
JournalOperating Systems Review (ACM)
Issue number5
StatePublished - Dec 2001
Externally publishedYes

ASJC Scopus subject areas

  • Information Systems
  • Hardware and Architecture
  • Computer Networks and Communications


Dive into the research topics of 'Building a robust software-based router using network processors'. Together they form a unique fingerprint.

Cite this