Preliminary Mininet Installation/Configuration Notes --- - This is not (yet) a 'release'; things may be broken. - To install mininet, with root privileges: python setup.py install This places the mininet package in /usr/lib/python-2.5/site-packages/, so that 'import mininet' will work. - Installation is simplest with a distribution that includes a kernel which supports the CLONE_NETNS unshare flag by default. Debian 5.0+ does (e.g. current debian-testing release); Ubuntu doesn't. If your kernel doesn't support it, you will need to build and install a kernel that does! If you are using OpenVSwitch, 2.6.33 works best. For the reference kernel switch, 2.6.30 is compatible. - Mininet should probably be run either on a machine with no other important processes, or on a virtual machine. Multiple concurrent Mininet instances are not supported. - To run the iperf test, you need to install iperf: sudo aptitude/yum install iperf We assume you already have ping installed. ;-) - You may need other packages to run the examples, e.g. sudo aptitude/yum install sshd xterm screen Consult the appropriate example file for details. - To switch to the most recent OpenFlow 0.8.9 release branch (the most recent one with full NOX support): git checkout -b release/0.8.9 remotes/origin/release/0.8.9 If you want to automatically load the kernel modules required for OpenFlow, you could add something like the following to /etc/rc.local: insmod /home/openflow/openflow/datapath/linux-2.6/ofdatapath.ko modprobe tun - The reference OpenFlow controller (controller(8)) only supports 16 switches by default! If you wish to run a network with more than 16 switches, please recompile controller(8) with larger limits, or use a different controller such as nox. - For scalable configurations, you might need to increase some of your kernel limits. Sample params are in sysctl_addon, which can be appended to /etc/sysctl.conf (and modified as necessary for your desired configuration): sudo su -c "cat sysctl_addon >> /etc/sysctl.conf" To save the config change, run: sudo sysctl -p ---