SNAP: Safe and Nimble Active Packets

SNAP (Safe and Nimble Active Packets) is an active networking system where traditional packet headers are replaced with programs written in a special-purpose programming language. The SNAP language has been designed to be practical, i.e. scoring highly in the following areas:

These objectives are achieved because SNAP is an expression-limited bytecode language: there are no function calls, and all branches and jumps are constrained to move forward through the program. This permits us to prove several safety properties about the language.

Software Download

SNAP version 1.0 now available!

You can get a user-space version of SNAP which runs over UDP here. It has been tested for RedHat Linux 6.1 and 6.2.


  1. Michael Hicks, Jonathan T. Moore, and Scott Nettles. ``Compiling PLAN to SNAP.'' IWAN'01, September/October 2001. Abstract.
  2. Jonathan T. Moore, Jessica Kornblum Moore, and Scott Nettles. ``Scalable Distributed Management with Lightweight Active Packets.'' Technical Report MS-CIS-01-26, Department of Computer and Information Science, University of Pennsylvania, September 2001. Abstract.
  3. Jonathan T. Moore, Michael Hicks, and Scott Nettles. ``Practical Programmable Packets.'' INFOCOM'01, April 2001. Abstract.
  4. Jonathan T. Moore. ``Practical Active Packets,'' Ph.D. Dissertation Proposal, University of Pennsylvania, February 2001.
  5. Jonathan T. Moore and Scott M. Nettles. ``Towards Practical Programmable Packets.'' Technical Report MS-CIS-00-12, University of Pennsylvania, May 2000. Abstract.
  6. Jonathan T. Moore. ``Safe and Efficient Active Packets.'' Technical Report MS-CIS-99-24, Department of Computer and Information Science, University of Pennsylvania, October 1999. Abstract.


The following people are part of the SNAP development team:

Related Links

This work was supported by DARPA under Contract #N66001-96-C-852 and by the NSF under Contracts ANI 00-82386 and ANI 98-13875.
Copyright © 2002, 2001 by Jonathan T. Moore
Last modified: Tue May 28 14:45:45 EDT 2002
Jon Moore / jonm@dsl