Our QJump prototype is comprised of two parts:
LD_PRELOAD
to make unmodified applications compatible with QJump.The QJump TC source code is available here. You can obtain it from Github by running the following commands:
$ git clone https://github.com/camsas/qjump-tc.git
To build it, make sure that the kernel headers for your kernel are installed and run the following inside the source directory:
$ make
QJump implements a standard TC interface. To use the module, install it into the kernel with optional paramters, e.g.:
$ sudo insmod sch_qjump.ko verbose=3
For full details on how to configure and runn QJump, see this page.
The QJump application utility source code is available here. You can obtain it from Github by running the following commands:
$ git clone https://github.com/camsas/qjump-app-util.git
To build it, simply run the following in the source directory:
$ make
The QJump Application Utility uses LD_PRELOAD
to capture and modify socket parameters to run with QJump.
To use it, we provide a handy utility that can be run from the source directory. For example:
$ sudo ./qjau.py --window=9999999 --priority=5 --verbosity=2 --command="ping 127.0.0"