#!/bin/bash # ----------------------------------------------------------------------------- # Starts a Mininet network topology connected to all nodes in a cell. # ----------------------------------------------------------------------------- function __usage() { cat << _EOM_ usage: $(basename $0) [file] options: - [file] : a Mininet topology file. Default is *sol.py* . summary: Starts a Mininet network topology connected to all nodes in a cell. Currently, all topology files are assumed to be found in \$OCN's ~/topos directory. Therefore [file] must be specified as topos/filename. _EOM_ } [ "$1" = "-h" ] && __usage && exit 0 [ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1 . $ONOS_ROOT/tools/build/envDefaults SSHCMD="ssh -o PasswordAuthentication=no" SCPCMD="scp -q -o PasswordAuthentication=no" topo=${1:-topos/sol.py} echo "Copying topology files to mininet vm." $SSHCMD -n $ONOS_USER@$OCN mkdir -p topos $SCPCMD $ONOS_ROOT/tools/test/topos/* $ONOS_USER@$OCN:topos/ echo "Starting Network." $SSHCMD -t $ONOS_USER@$OCN sudo python $topo $(env | sort | egrep "OC[0-9]+" | cut -d= -f2)