Project Status

As of today (Mar 5, 2004), this project is dormant.

Release Update 3.0f

Release 3.0 has a few bugs which are corrected in release update 3.0f, which is now the latest version:

  • release update 3.0a, hanging routing lookups
  • release update 3.0b, various script problems
  • release update 3.0c, CBQ admission control, RERR generation for non-machting RESV-LIH, packet stamping crashs machine for certain packet sizes
  • release update 3.0d, handling of unknown policy elements (e.g. from Win2K)
  • release update 3.0e, installation of ALTQ-related components
  • release update 3.0f, minor bugfixes, compilation with gcc 3.x

Note: Hanging Routing Lookups

Apparently, routing lookups (only on FreeBSD?) occasionally hang without a special reason - at least none that I am aware of. A practical work-around seems to be to disable reverse DNS lookups by specifying


when calling 'configure'. Then, log message will not show the DNS name of nodes, but only the IP addresses.

Release 3.0

General Information

This package provides an implementation of the Resource Reservation Protocol (RSVP). See the respective working group at IETF for general information about RSVP. Note that currently, this protocol engine can only be regarded as almost compliant to RFC 2205, because it lacks some features (UDP encapsulation and IPv6 support) that would be necessary for a full implementation. See the files README for further information and RELEASE_NOTES for the current implementation status. Please read the file COPYRIGHT for copyright information.

Note: I do not have time and infrastructure to completely and thoroughly test every detail. This is a research prototype so use it at your own risk!

What's new in 3.0


  • bug fixes, code clean-up and several improvements
  • limited support for RSVP-TE signalling (see RFC 3209)
  • limited support for refresh reduction (see RFC 2961)
  • experimental extensions: remote API and one-pass signalling
  • ns-2 version
  • rudimentary client interface through Java Native Interface
  • traffic generator


There used to be mailing list available for technical questions and discussions about this implementation.The list is archived here. Please consult the archive, before asking questions.

Download Information


Note: Really good documentation does, unfortunately, not exist. I keep hoping that I find some time for it... In the meantime, there are some README files in the doc directory of the package

A technical report describing the architecture and some implementation details can be downloaded here. A shorter version has been be presented and published at Networking 2000. The basic concepts for generalizing the traffic and policy control interface can be found in this paper for NGITA 2000. Additionally, there was a paper reporting detailed performance experiments at INFOCOM 2001. Finally, this paper from IWQoS 2001 describes the experimental protocol extensions.


The following people have contributed in various ways during the course of this implementation project (the list is no particular order). Thanks to all!

  • Gunnar Gudmundsson created an early design draft and did initial experimental coding.
  • Joachim Betz implemented experimental code for charging mechanisms1.
  • Jens Schmitt implemented the initial versions of the scheduler modules for CBQ and HFSC, as well as for ATM1.
  • Pedro Monjo Florit carried out extensive tests and reported some important bugs, particularly with respect to interoperation with Cisco-Routers.
  • Zhang Zhi Shou reported various problems and bugfixes.
  • Tan Chee Wei reported about testing results and problems.
  • Sang-don Byun reported initial fixes for compilation on RedHat 7.0.
  • Aart van Halteren reported bugs and contributed code for integration of the CBQ scheduler module with the traffic control interface on Linux.
  • Darko Palic pointed out problems with the example clients.
  • Paul Koster pointed out a bug regarding multiple consecutive SE-style RESV messages switching between different senders.
  • Frank Zdarsky implemented the initial port to ns-2.
  • Scott Carroll fixed a bug in the CBQ scheduler code for Linux.
  • José Alberto Aguilar González helped me sorting out problems with unknown policy elements and the routing lookup code.
  • Martin Karsten is responsible for all remaining bugs and problems. ;-)

My apologies, if I forgot anyone or anything. Please le me know!

1 not included in the public distribution


Maintenance and extension of this software has been partially funded by the European Commission under the 5th Framework Programme IST, Project M3I (11429).

Last modified: Mar 5th, 2004
Martin Karsten