All the modification to kernel code are under directory "kernel_changes". Since I was using version 3.16.3, a patch based on that version is provided, as "VirtualTime.patch". Alternative way to modify and build virtual time enabled kernel:
tar -zxvf linux-3.16.3.tar.gz
./transfer.sh /Path/To/UnzippedKernel
cp -vi /boot/config-`uname -r` .config
yes "" | make oldconfig
sudo ./build_all.sh
sudo vim /etc/default/grub
GRUB_HIDDEN_TIMEOUT=15
GRUB_HIDDEN_TIMEOUT_QUIET=false
update-grub
Since original Mininet-Hifi is keeping evolving and I forget which exact commit I was working on when developing virtual time, I do not think do an automatic patch here is very helpful (although I can guarantee you that my VT-Mininet is based at least on Mininet 2.1.0). Here I just provide full source of VT-Mininet. Since Mininet itself depends on many softwares:
OpenFlow, Open vSwitches
gcc, make, socat, psmisc, xterm, ssh, iperf3/iperf, iproute, telnet
python-setuptools, cgroup-bin, ethtool, help2man, pyflakes, pylint, pep8
I recommend you take a look at mininet/util/install.sh and resolve the dependency first. A easier way is to first install original Mininet, them replace it with my VT-Mininet code and reinstall by running
sudo make clean
sudo make install
Tips: you may need to repeat clean-install twice.
My implementation of virtual time is actually inspired by that of Jeremy Lamps. Great thanks for sharing his source code and providing a very detailed documentation.
coming soon...