73 lines
2.4 KiB
Plaintext
73 lines
2.4 KiB
Plaintext
Preliminary Mininet Installation/Configuration Notes
|
|
|
|
- Mininet is not currently 'installed.' If you want to install it,
|
|
so that you can 'import mininet', place it somewhere in your
|
|
python path.
|
|
|
|
- A functional netns binary is required to run mininet, but currently you
|
|
have to compile it and install it yourself from the included .c file:
|
|
|
|
to make it: make netns (or cc -o netns netns.c)
|
|
to test it: ./netns /sbin/ifconfig -a
|
|
to 'install' a link to it, you could do something like:
|
|
sudo ln -s /home/openflow/mininet/netns /usr/local/bin/netns
|
|
|
|
Installation is simplest with a distribution that includes a kernel
|
|
which supports the CLONE_NETNS unshare flag by default. Debian 5.0+
|
|
does; Ubuntu doesn't. If your kernel doesn't support it, you will need
|
|
to build and install a kernel that does!
|
|
|
|
- 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 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
|
|
|
|
- For scalable configurations, you might need to increase some of your
|
|
kernel limits. For example, you could add something like the following
|
|
to /etc/sysctl.conf (modified as necessary for your desired
|
|
configuration):
|
|
|
|
# OpenFlow: get rid of ipv6
|
|
net.ipv6.conf.all.disable_ipv6 = 1
|
|
net.ipv6.conf.default.disable_ipv6 = 1
|
|
|
|
# Mininet: Increase open file limit
|
|
fs.file-max = 100000
|
|
|
|
# Mininet: increase network buffer space
|
|
net.core.wmem_max = 16777216
|
|
net.core.rmem_max = 16777216
|
|
net.ipv4.tcp_rmem = 10240 87380 16777216
|
|
net.ipv4.tcp_rmem = 10240 87380 16777216
|
|
net.core.netdev_max_backlog = 5000
|
|
|
|
# Mininet: increase arp cache size
|
|
net.ipv4.neigh.default.gc_thresh1 = 4096
|
|
net.ipv4.neigh.default.gc_thresh2 = 8192
|
|
net.ipv4.neigh.default.gc_thresh3 = 16384
|
|
|
|
# Mininet: increase routing table size
|
|
net.ipv4.route.max_size=32768
|
|
|
|
|
|
|