Arsenic: User-accessible gigabit networking

 Contents NetOS 

 Introduction NetOS 
Arsenic is a Gigabit Ethernet host interface which exports an extended interface to the operating system and user applications. Unlike conventional adaptors, it implements some of the protection and multiplexing functions traditionally performed by the operating system. This enables applications to be given direct access to their own 'virtual interface', allowing them to send and receive packets without operating system interaction.

Packet filters uploaded onto the interface card by the operating system are used to demultiplex received packets to their destination application, and to validate packets before transmission. Transmit traffic shaping and scheduling mechanisms enable the bandwidth used by applications to be controlled. These features allow protocol processing to be moved into user-space shared libraries without sacrificing the security and resource management functions that the operating system normally provides.

 Software NetOS 
Version 1.0 of the Arsenic software distribution can be downloaded here. The distribution includes the following components which we developed as part of the Arsenic networking project:
  • new `flow-aware' firmware for the Alteon ACEnic Gigabit Ethernet adaptor
  • a kernel module for Linux 2.3 allowing user-space protocols over IP to coexist with their kernel equivalents
  • a full port of the Linux 2.3 TCP/IP protocol-processing stack to user-space, in the form of a shared library
Please note that this software is provided as is, with no support.

 Publications NetOS 
The design and implementation of the Arsenic networking architecture are described in our paper "Arsenic: A User-Accessible Gigabit Ethernet Interface", to be presented at INFOCOM 2001.

A Postscript version of the paper is available for download.