Simple delay queueing discipline

Author: Tao Ye <yet@rpi.edu>

version 1.2 08/18/00
Take care of MODVERSION stuff and improve the help text.

version 1.1 08/01/00

Directly use jiffies to do time caculation and reduce the time error. Now
the delay time accruacy should be the same as jiffies, i.e., 10ms.

version 1.0  08/01/00

This package implements a simple delay queueing discipline, which is similiar
to a packet fifo queue, but delays every incoming packets in the queue for a 
certain time. The time resolution for the delay is 10ms in i386 platform, 
which is the same as the resolution of Linux kernel tick, jiffies. There may
be a small discrepancy between your specified delay and the real one. This is
because that in the kernel a lot of approximation is used to trade the 
accuracy for the speed. You should expect a real delay with up to +40ms 
dicrepancy around your predefined value.

This pakcage include the following source files:
q_delay.c        the dynamic link lib for supporting delay qdisc in tc
tc_delay.h	 the header file for delay qdisc parameter structure
sch_delay.c	 the kernel module for supporting delay qdisc in kernel

To compile this package, first you need to modify IPROUTE variable in 
Makefile to point to the iprouter2 source file directory. 
Then you can just run "make" to get the whole thing compiled. After that
you should run "make install" to create appropriate dynamic link library links
for you under the current directory. Fianlly you should set your environement
LD_LIBRARY_PATH to point to the current directory. Now you are all set to use
this qdisc. However, you should make sure that iproute2 package is already 
installed on your linux box and Traffic Control option is turned on when 
compiling the Linux kernel (In RedHat 6.2, all these are in the default 
setting, so you don't need worry about anything).

To use a delay qdisc, run the following commands:

1. insmod sch_delay.o
2. tc qdisc add dev eth0 root delay limit 100 latency 80ms

The above commands assume you have compiled sch_delay.o under the current
directory and you want to install a delay queue with 100 pakets limit and
80ms delay on eth0 interface. Note that "insmod" needs to be run only once,
after that you can use the delay qdisc freely.






