Network Services Processor

The first generation extensible router (still in-use in the ONL) is built around a gigabit ATM switch core, which is augmented with additional components to perform routine packet processing and special processing to implement advanced network services. A block diagram of that router appears at right. The ATM switch core consists of an eight port switch fabric surrounded by Input Port Processors (IPP) and Output Port Processors (OPP). The IPPs include virtual circuit routing tables and the OPPs provide a modest amount of cell buffering.

The Field Programmable Port Extender (FPX) is an add-on card that is used to provide routine packet processing functions. These functions include IP route lookup, packet classification and large capacity packet buffers. The FPX also implements a distributed scheduling mechanism to regulate the flow of traffic through the ATM switch core so as to avoid overloads that can otherwise occur, due to the unpredictable nature of internet traffic. The FPX logic is implemented using a large Field Programmable Gate Array (FPGA) and the logic is specified as open-source VHDL that can be modified by ONL users to extend the functionality or to experiment with alternative implementations of its various packet processing elements.

The Smart Port Card contains an embedded processor subsystem with a Pentium III processor running a modified version of the Net-BSD operating system. The modifications include a highly streamlined packet forwarding path and a Plugin Environment that can host user-specified software plugins to implement a variety of system extensions. Selected packets are directed through the SPC through the installation of suitable packet filters in the FPX. The SPC delivers the packets to the specified plugins which process the packets and may modify them before sending them back to the SPC. The system also provides for just the headers of selected packets to be forwarded to the SPC and allows the SPC to determine how the packet should be handled.

The system uses two different types of Line Cards. Gigabit Ethernet Line Cards are provided for connection to gigabit Ethernet subnets and hosts with gigabit Ethernet NICs. Gigabit ATM line cards are used to connect to the Virtual Network Switch and to hosts using compatible ATM NICs. These ATM NICs have a variety of features enabling high bandwidth data transfers directly to applications running on hosts and are particularly useful for generating high volume traffic for network experiments.

A photograph of the NSP router is shown at right. The ATM switch core occupies a large printed circuit board at the bottom of the enclosure. An FPX, SPC and line card is then stacked on top of the main board for each of the eight ports. In the photograph, only the line cards are visible at the top of the stacks. Fiber optic jumpers are provided inside the enclosure to connect the line cards to the back side of the front panel, where the external connectors are located.