This is the home page of itmBench: an API to the ITM project at the Computer Science Department of Boston University. This project is geared toward creating a uniform infrastructure for all traffic management projects under the ITM umbrella. This will allow for an easier development and a similar interface for all these projects.

Applications wishing to use the itmBench need to register with a core kernel module, called itm_mod. It keeps track of registered applications and forwards packets to them according to their specifications. It currently uses netfilter to intercept packets.

The following figure shows the different components and connections between them.

Kernel modules that wish to use the API need only to register with itm_mod, providing the needed information. A user-space extension provides user-space applications the ability to use the API. In this case, applications receive packets via itm_queue, which communicates with a user-space library libitm. This, in turn, calls the application's registered API functions.