#!/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)
