[insert project logo here (125x200px max)]



Please report any errors or omissions you find to our `Help' mailing-list, or post a message in the Forums.

Copyright and Licensing Information

Snap is (c) Jonathan T. Moore, 1999-2002 and licensed under the GNU General Public License (GPL).

All other parts of Splash are (c) Willem de Bruijn, 2002-2003 and licensed under the BSD Open Source License.

All sourcecode is made publicly available.


Splash and the Splash website are hosted by SourceForge.net

SourceForge.net Logo

Valid XHTML 1.0!

osi-open source certified logo

Introduction - SNAP programs - Further Information

Splash - NOMS 2004 Background Information

SNMP Plus a Lightweight API for SNAP Handling


A research paper discussing Splash has been sent to the (NOMS 2004). Due to the limited space available for conference papers we were unable to include complete SNAP program listings in this paper. Therefore we have made them available through this page. Please read our paper, `SNMP Plus a Lightweight API for SNAP Handling: SPLASH', before continuing.

SNAP Programs

For the research paper 3 types of programs have been created: performance test programs, prototype functionality programs and example functionality programs. Below you can find links to the sourcecode of these sets of programs.

Performance Test Programs

The performance tests were run both with SNMP and SNAP. For SNMP we've encoded the instructions similarly to SNAP packets and executed them using a combined version of the snmpget and snmpset instructions: snmpgetandset. The sourcecode for this application can be in the net-snmp-5.0.6-snap.diff patch. Retrieve this file from our CVS server here. The following is a listing of performance SNAP packets:

  • 1GET retrieve a single SNMP variable
  • 1SET update a single SNMP variable
  • 1GET1SET update and retrieve a single SNMP variable
  • 5GET retrieve 5 SNMP variables

And here are their SNMP equivalents.

  • 1GET retrieve a single SNMP variable
  • 1SET update a single SNMP variable
  • 1GET1SET update and retrieve a single SNMP variable
  • 5GET retrieve 5 SNMP variables

Prototype Functionality Programs

The functionality tests discuss four programs, i.e. the surveyor, the distributed surveyor, the autonomous surveyor and the stateful network. For clarity, we've created two sets of these programs; one set containing only the necessary networking instructions (prototype packets) and another containing the example requests discussed in the paper. The following list links to the prototype packets.

Example Functionality Programs

The following URLs link to example packets as discussed in the NOMS 2004 paper. Note that not all of the examples in the paper were discussed thoroughly. Where blank, we inserted our own scenario.

Further information

The packets linked to on this page can be hard to decipher without a basic understanding of assembly and more specifically the SNAP bytecode language. Information on the SNAP language can be found in the general documentation area of this website (use the navigation bar on the left) and in Appendix A of the following document: Practical Active Packets; a Phd Dissertation.

In Chapter 7 of Applying High Speed Active Networking to Network Management (PostScript) the 1GET example packet is discussed thoroughly, as is an extended version of this packet that resembles the surveyor.

More packets will be added to the project's documentation in the course of time. A few extra packets can already be found in the CVS repository, under [snapsnmp/code/snap_packets].