Merge branch 'master' of github.com:mininet/mininet

This commit is contained in:
Brian O'Connor
2013-09-13 13:06:49 -07:00
2 changed files with 50 additions and 12 deletions
+5 -5
View File
@@ -77,7 +77,7 @@ This example creates a network and runs multiple tests on it.
This example shows how to connect a Mininet network to the Internet This example shows how to connect a Mininet network to the Internet
using NAT. It also answers the eternal question "why can't I ping using NAT. It also answers the eternal question "why can't I ping
google?" `google.com`?"
#### popen.py: #### popen.py:
@@ -87,7 +87,7 @@ This example monitors a number of hosts using `host.popen()` and
#### popenpoll.py: #### popenpoll.py:
This example demonstrates monitoring output from multiple hosts using This example demonstrates monitoring output from multiple hosts using
the `node.popen()` interface (which returns Popen objects) and `pmonitor()`. the `node.popen()` interface (which returns `Popen` objects) and `pmonitor()`.
#### scratchnet.py, scratchnetuser.py: #### scratchnet.py, scratchnetuser.py:
@@ -102,7 +102,7 @@ A simple example of configuring network and CPU bandwidth limits.
#### sshd.py: #### sshd.py:
This example shows how to run an `sshd` process in each host, allowing This example shows how to run an `sshd` process in each host, allowing
you to log in via ssh. This requires connecting the Mininet data network you to log in via `ssh`. This requires connecting the Mininet data network
to an interface in the root namespace (generaly the control network to an interface in the root namespace (generaly the control network
already lives in the root namespace, so it does not need to be explicitly already lives in the root namespace, so it does not need to be explicitly
connected.) connected.)
@@ -111,9 +111,9 @@ connected.)
This example attempts to create a 1024-host network, and then runs the This example attempts to create a 1024-host network, and then runs the
CLI on it. It may run into scalability limits, depending on available CLI on it. It may run into scalability limits, depending on available
memory and sysctl configuration (see `INSTALL`.) memory and `sysctl` configuration (see `INSTALL`.)
#### treeping64.py: #### treeping64.py:
This example creates a 64-host tree network, and attempts to check full This example creates a 64-host tree network, and attempts to check full
connectivity using ping, for different switch/datapath types. connectivity using `ping`, for different switch/datapath types.
+41 -3
View File
@@ -47,6 +47,19 @@ if [ "$DIST" = "Ubuntu" ] || [ "$DIST" = "Debian" ]; then
$install bc $install bc
fi fi
fi fi
test -e /etc/fedora-release && DIST="Fedora"
if [ "$DIST" = "Fedora" ]; then
install='sudo yum -y install'
remove='sudo yum -y erase'
pkginst='sudo rpm -ivh'
# Prereqs for this script
if ! which lsb_release &> /dev/null; then
$install redhat-lsb-core
fi
if ! which bc &> /dev/null; then
$install bc
fi
fi
if which lsb_release &> /dev/null; then if which lsb_release &> /dev/null; then
DIST=`lsb_release -is` DIST=`lsb_release -is`
RELEASE=`lsb_release -rs` RELEASE=`lsb_release -rs`
@@ -67,8 +80,11 @@ elif [ "$DIST" = "Debian" ] && [ "$ARCH" = "i386" ] && [ "$CODENAME" = "lenny" ]
KERNEL_NAME=2.6.33.1-mininet KERNEL_NAME=2.6.33.1-mininet
KERNEL_HEADERS=linux-headers-${KERNEL_NAME}_${KERNEL_NAME}-10.00.Custom_i386.deb KERNEL_HEADERS=linux-headers-${KERNEL_NAME}_${KERNEL_NAME}-10.00.Custom_i386.deb
KERNEL_IMAGE=linux-image-${KERNEL_NAME}_${KERNEL_NAME}-10.00.Custom_i386.deb KERNEL_IMAGE=linux-image-${KERNEL_NAME}_${KERNEL_NAME}-10.00.Custom_i386.deb
elif [ "$DIST" = "Fedora" ]; then
KERNEL_NAME=`uname -r`
KERNEL_HEADERS=kernel-headers-${KERNEL_NAME}
else else
echo "Install.sh currently only supports Ubuntu and Debian Lenny i386." echo "Install.sh currently only supports Ubuntu, Debian Lenny i386 and Fedora."
exit 1 exit 1
fi fi
@@ -140,9 +156,15 @@ function kernel_clean {
# Install Mininet deps # Install Mininet deps
function mn_deps { function mn_deps {
echo "Installing Mininet dependencies" echo "Installing Mininet dependencies"
if [ "$DIST" = "Fedora" ]; then
$install gcc make socat psmisc xterm openssh-clients iperf \
iproute telnet python-setuptools libcgroup-tools \
ethtool help2man pyflakes pylint python-pep8
else
$install gcc make socat psmisc xterm ssh iperf iproute telnet \ $install gcc make socat psmisc xterm ssh iperf iproute telnet \
python-setuptools cgroup-bin ethtool help2man \ python-setuptools cgroup-bin ethtool help2man \
pyflakes pylint pep8 pyflakes pylint pep8
fi
echo "Installing Mininet core" echo "Installing Mininet core"
pushd $MININET_DIR/mininet pushd $MININET_DIR/mininet
@@ -164,8 +186,12 @@ function mn_dev {
function of { function of {
echo "Installing OpenFlow reference implementation..." echo "Installing OpenFlow reference implementation..."
cd $BUILD_DIR/ cd $BUILD_DIR/
$install git-core autoconf automake autotools-dev pkg-config \ $install autoconf automake libtool make gcc
make gcc libtool libc6-dev if [ "$DIST" = "Fedora" ]; then
$install git pkgconfig glibc-devel
else
$install git-core autotools-dev pkg-config libc6-dev
fi
git clone git://openflowswitch.org/openflow.git git clone git://openflowswitch.org/openflow.git
cd $BUILD_DIR/openflow cd $BUILD_DIR/openflow
@@ -515,7 +541,11 @@ function oftest {
function cbench { function cbench {
echo "Installing cbench..." echo "Installing cbench..."
if [ "$DIST" = "Fedora" ]; then
$install net-snmp-devel libpcap-devel libconfig-devel
else
$install libsnmp-dev libpcap-dev libconfig-dev $install libsnmp-dev libpcap-dev libconfig-dev
fi
cd $BUILD_DIR/ cd $BUILD_DIR/
git clone git://openflow.org/oflops.git git clone git://openflow.org/oflops.git
cd oflops cd oflops
@@ -607,6 +637,14 @@ function modprobe {
} }
function all { function all {
if [ "$DIST" = "Fedora" ]; then
printf "\nFedora 19 support status:\n"
printf "the install script options -b, -f, -n, and -p should work.\n\n"
printf "Just try:\n"
printf " install.sh -fnp\n"
printf "with Fedora's kernel (3.10) and openvswitch (1.10.0) packages.\n"
exit 3
fi
echo "Installing all packages except for -eix (doxypy, ivs, nox-classic)..." echo "Installing all packages except for -eix (doxypy, ivs, nox-classic)..."
kernel kernel
mn_deps mn_deps