Kb96
Emulab FAQ: Customizing your experiment: How to build your own delay kernel
To build your own delay kernel, first log into one of your delay nodes and copy over the sources:
cd /usr sudo tar xzf /share/freebsd/4.10/src.tar.gz
Make whatever changes you need. For example, the code for traffic shaping is contained in /usr/src/sys/netinet/ip_dummynet.c. Then build a new kernel:
cd /usr/src sudo make buildkernel KERNCONF=TESTBED-DELAY
and install it:
sudo cp /usr/obj/usr/src/sys/TESTBED-DELAY/kernel /kernel.10000HZ sudo cp -p /kernel.10000HZ /kernel.delay sudo cp -p /kernel.10000HZ /kernel
and reboot:
sudo reboot
If you want to use this image on other delay nodes in future experiments, create a custom image. In your NS file:
tb-set-delay-os XXX-XXX
A similar procedure is used to build the so-called "link delay" kernel which is used for end-node shaping and for virtual nodes. Using the same source tree copied above, build a new kernel:
cd /usr/src sudo make buildkernel KERNCONF=TESTBED-LINKDELAY
and install it:
sudo cp /usr/obj/usr/src/sys/TESTBED-LINKDELAY/kernel /kernel.1000HZ sudo cp -p /kernel.1000HZ /kernel.linkdelay sudo cp -p /kernel.1000HZ /kernel
and reboot:
sudo reboot
Here you will need a new kernel on all nodes since there will be no delay nodes. Thus, you will probably want to build a custom image.