Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Wiki / Kb96

Kb96

Emulab FAQ: Customizing your experiment: How to build your own delay kernel

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.