blob: 9b083093fd54381c7894e984ec274a3fd93ab477 [file] [log] [blame]
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>TestON</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="TestON-module.html">Package&nbsp;TestON</a> ::
<a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
<a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
<a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
<a href="TestON.drivers.common.cli.emulator-module.html">Package&nbsp;emulator</a> ::
<a href="TestON.drivers.common.cli.emulator.mininetclidriver-module.html">Module&nbsp;mininetclidriver</a> ::
Class&nbsp;MininetCliDriver
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class MininetCliDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver">source&nbsp;code</a></span></p>
<center>
<center> <map id="class_hierarchy_for_mininetcli" name="class_hierarchy_for_mininetcli">
<area shape="rect" id="node1" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html" title="MininetCliDriver" alt="" coords="5,6,120,31"/>
<area shape="rect" id="node2" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html" title="emulatordriver.Emulator" alt="" coords="144,6,303,31"/>
<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="329,6,420,31"/>
<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="445,6,603,31"/>
</map>
<img src="class_hierarchy_for_mininetcli.gif" alt='' usemap="#class_hierarchy_for_mininetcli" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<p>MininetCliDriver is the basic driver which will handle the Mininet
functions</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
x.__init__(...) initializes x; see help(type(x)) for signature</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.__init__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">**connectargs</span>)</span><br />
Here the main is the TestON instance after creating all the log
handles.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.connect">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet" class="summary-sig-name">startNet</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">topoFile</span>=<span class="summary-sig-default">''</span>,
<span class="summary-sig-arg">args</span>=<span class="summary-sig-default">''</span>,
<span class="summary-sig-arg">mnCmd</span>=<span class="summary-sig-default">''</span>,
<span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">120</span>)</span><br />
Description:
Starts Mininet accepts a topology(.py) file and/or an optional
argument, to start the mininet, as a parameter.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.startNet">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="numSwitchesNlinks"></a><span class="summary-sig-name">numSwitchesNlinks</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">topoType</span>,
<span class="summary-sig-arg">depth</span>,
<span class="summary-sig-arg">fanout</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.numSwitchesNlinks">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="calculateSwAndLinks"></a><span class="summary-sig-name">calculateSwAndLinks</span>(<span class="summary-sig-arg">self</span>)</span><br />
Calculate the number of switches and links in a topo.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.calculateSwAndLinks">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall" class="summary-sig-name">pingall</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">300</span>,
<span class="summary-sig-arg">shortCircuit</span>=<span class="summary-sig-default">False</span>,
<span class="summary-sig-arg">acceptableFailed</span>=<span class="summary-sig-default">0</span>)</span><br />
Verifies the reachability of the hosts using pingall command.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingall">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#fpingHost" class="summary-sig-name">fpingHost</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">**pingParams</span>)</span><br />
Uses the fping package for faster pinging...</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.fpingHost">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingallHosts" class="summary-sig-name">pingallHosts</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">hostList</span>)</span><br />
Ping all specified IPv4 hosts</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingallHosts">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingIpv6Hosts" class="summary-sig-name">pingIpv6Hosts</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">hostList</span>,
<span class="summary-sig-arg">prefix</span>=<span class="summary-sig-default">'1000::'</span>)</span><br />
IPv6 ping all hosts in hostList.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingIpv6Hosts">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="pingHost"></a><span class="summary-sig-name">pingHost</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">**pingParams</span>)</span><br />
Ping from one mininet host to another Currently the only supported
Params: SRC and TARGET</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingHost">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="checkIP"></a><span class="summary-sig-name">checkIP</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>)</span><br />
Verifies the host's ip configured or not.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.checkIP">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="verifySSH"></a><span class="summary-sig-name">verifySSH</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">**connectargs</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.verifySSH">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="moveHost"></a><span class="summary-sig-name">moveHost</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>,
<span class="summary-sig-arg">oldSw</span>,
<span class="summary-sig-arg">newSw</span>)</span><br />
Moves a host from one switch to another on the fly
Note: The intf between host and oldSw when detached
using detach(), will still show up in the 'net'
cmd, because switch.detach() doesn't affect switch.intfs[]
( which is correct behavior since the interfaces
haven't moved ).</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.moveHost">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="changeIP"></a><span class="summary-sig-name">changeIP</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>,
<span class="summary-sig-arg">intf</span>,
<span class="summary-sig-arg">newIP</span>,
<span class="summary-sig-arg">newNetmask</span>)</span><br />
Changes the ip address of a host on the fly Ex: h2 ifconfig h2-eth0
10.0.1.2 netmask 255.255.255.0</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.changeIP">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="changeDefaultGateway"></a><span class="summary-sig-name">changeDefaultGateway</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>,
<span class="summary-sig-arg">newGW</span>)</span><br />
Changes the default gateway of a host Ex: h1 route add default gw
10.0.1.2</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.changeDefaultGateway">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="addStaticMACAddress"></a><span class="summary-sig-name">addStaticMACAddress</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>,
<span class="summary-sig-arg">GW</span>,
<span class="summary-sig-arg">macaddr</span>)</span><br />
Changes the mac address of a gateway host</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addStaticMACAddress">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="verifyStaticGWandMAC"></a><span class="summary-sig-name">verifyStaticGWandMAC</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>)</span><br />
Verify if the static gateway and mac address assignment</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.verifyStaticGWandMAC">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getMacAddress"></a><span class="summary-sig-name">getMacAddress</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>)</span><br />
Verifies the host's ip configured or not.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getMacAddress">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getInterfaceMACAddress"></a><span class="summary-sig-name">getInterfaceMACAddress</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>,
<span class="summary-sig-arg">interface</span>)</span><br />
Return the IP address of the interface on the given host</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getInterfaceMACAddress">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getIPAddress"></a><span class="summary-sig-name">getIPAddress</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>)</span><br />
Verifies the host's ip configured or not.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getIPAddress">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getSwitchDPID"></a><span class="summary-sig-name">getSwitchDPID</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">switch</span>)</span><br />
return the datapath ID of the switch</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwitchDPID">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getDPID"></a><span class="summary-sig-name">getDPID</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">switch</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getDPID">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getInterfaces"></a><span class="summary-sig-name">getInterfaces</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">node</span>)</span><br />
return information dict about interfaces connected to the node</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getInterfaces">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="dump"></a><span class="summary-sig-name">dump</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.dump">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="intfs"></a><span class="summary-sig-name">intfs</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.intfs">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="net"></a><span class="summary-sig-name">net</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.net">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="links"></a><span class="summary-sig-name">links</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.links">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcpAll" class="summary-sig-name">iperftcpAll</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">hosts</span>,
<span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">6</span>)</span><br />
Runs the iperftcp function with a given set of hosts and specified timeout.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperftcpAll">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcp" class="summary-sig-name">iperftcp</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host1</span>=<span class="summary-sig-default">&quot;h1&quot;</span>,
<span class="summary-sig-arg">host2</span>=<span class="summary-sig-default">&quot;h2&quot;</span>,
<span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">6</span>)</span><br />
Creates an iperf TCP test between two hosts.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperftcp">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="iperfudpAll"></a><span class="summary-sig-name">iperfudpAll</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">hosts</span>,
<span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">&quot;10M&quot;</span>)</span><br />
Runs the iperfudp function with a given set of hosts and specified
bandwidth</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperfudpAll">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudp" class="summary-sig-name">iperfudp</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">&quot;10M&quot;</span>,
<span class="summary-sig-arg">host1</span>=<span class="summary-sig-default">&quot;h1&quot;</span>,
<span class="summary-sig-arg">host2</span>=<span class="summary-sig-default">&quot;h2&quot;</span>)</span><br />
Creates an iperf UDP test with a specific bandwidth.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperfudp">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="nodes"></a><span class="summary-sig-name">nodes</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.nodes">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="pingpair"></a><span class="summary-sig-name">pingpair</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingpair">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="link"></a><span class="summary-sig-name">link</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">**linkargs</span>)</span><br />
Bring link( s ) between two nodes up or down</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.link">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="yank"></a><span class="summary-sig-name">yank</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">**yankargs</span>)</span><br />
yank a mininet switch interface to a host</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.yank">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="plug"></a><span class="summary-sig-name">plug</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">**plugargs</span>)</span><br />
plug the yanked mininet switch interface to a switch</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.plug">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="dpctl"></a><span class="summary-sig-name">dpctl</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">**dpctlargs</span>)</span><br />
Run dpctl command on all switches.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.dpctl">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getVersion"></a><span class="summary-sig-name">getVersion</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getVersion">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController" class="summary-sig-name">getSwController</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">sw</span>)</span><br />
Parameters:
sw: The name of an OVS switch.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwController">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController" class="summary-sig-name">assignSwController</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">sw</span>,
<span class="summary-sig-arg">ip</span>,
<span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;6633&quot;</span>,
<span class="summary-sig-arg">ptcp</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
Description:
Assign switches to the controllers ( for ovs use only )
Required:
sw - Name of the switch.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.assignSwController">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="deleteSwController"></a><span class="summary-sig-name">deleteSwController</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">sw</span>)</span><br />
Removes the controller target from sw</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.deleteSwController">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch" class="summary-sig-name">addSwitch</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">sw</span>,
<span class="summary-sig-arg">**kwargs</span>)</span><br />
adds a switch to the mininet topology
NOTE: This uses a custom mn function.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addSwitch">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delSwitch" class="summary-sig-name">delSwitch</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">sw</span>)</span><br />
delete a switch from the mininet topology
NOTE: This uses a custom mn function.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delSwitch">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink" class="summary-sig-name">addLink</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">node1</span>,
<span class="summary-sig-arg">node2</span>)</span><br />
add a link to the mininet topology
NOTE: This uses a custom mn function.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addLink">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delLink" class="summary-sig-name">delLink</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">node1</span>,
<span class="summary-sig-arg">node2</span>)</span><br />
delete a link from the mininet topology
NOTE: This uses a custom mn function.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delLink">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addHost" class="summary-sig-name">addHost</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">hostname</span>,
<span class="summary-sig-arg">**kwargs</span>)</span><br />
Add a host to the mininet topology
NOTE: This uses a custom mn function.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addHost">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delHost" class="summary-sig-name">delHost</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">hostname</span>)</span><br />
delete a host from the mininet topology
NOTE: This uses a custom mn function.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delHost">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span><br />
Called at the end of the test to stop the mininet and disconnect the
handle.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.disconnect">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet" class="summary-sig-name">stopNet</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">fileName</span>=<span class="summary-sig-default">&quot;&quot;</span>,
<span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">5</span>)</span><br />
Stops mininet.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.stopNet">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="arping"></a><span class="summary-sig-name">arping</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>=<span class="summary-sig-default">&quot;&quot;</span>,
<span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;10.128.20.211&quot;</span>,
<span class="summary-sig-arg">ethDevice</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
Description:
Sends arp message from mininet host for hosts discovery
Required:
host - hosts name
Optional:
ip - ip address that does not exist in the network so there would
be no reply.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.arping">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="decToHex"></a><span class="summary-sig-name">decToHex</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">num</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.decToHex">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getSwitchFlowCount"></a><span class="summary-sig-name">getSwitchFlowCount</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">switch</span>)</span><br />
return the Flow Count of the switch</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwitchFlowCount">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="checkFlows"></a><span class="summary-sig-name">checkFlows</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">sw</span>,
<span class="summary-sig-arg">dumpFormat</span>=<span class="summary-sig-default">None</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.checkFlows">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getFlowTable" class="summary-sig-name">getFlowTable</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">protoVersion</span>,
<span class="summary-sig-arg">sw</span>)</span><br />
Returns certain fields of an OVS flow table.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getFlowTable">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="flowComp"></a><span class="summary-sig-name">flowComp</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">flow1</span>,
<span class="summary-sig-arg">flow2</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.flowComp">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="startTcpdump"></a><span class="summary-sig-name">startTcpdump</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">filename</span>,
<span class="summary-sig-arg">intf</span>=<span class="summary-sig-default">&quot;eth0&quot;</span>,
<span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;port 6633&quot;</span>)</span><br />
Runs tpdump on an interface and saves the file intf can be specified,
or the default eth0 is used</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.startTcpdump">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="stopTcpdump"></a><span class="summary-sig-name">stopTcpdump</span>(<span class="summary-sig-arg">self</span>)</span><br />
pkills tcpdump</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.stopTcpdump">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getPorts" class="summary-sig-name">getPorts</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">nodeName</span>,
<span class="summary-sig-arg">verbose</span>=<span class="summary-sig-default">False</span>)</span><br />
Read ports from a Mininet switch.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getPorts">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitches" class="summary-sig-name">getSwitches</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">verbose</span>=<span class="summary-sig-default">False</span>)</span><br />
Read switches from Mininet.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwitches">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts" class="summary-sig-name">getHosts</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">verbose</span>=<span class="summary-sig-default">False</span>)</span><br />
Read hosts from Mininet.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getHosts">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getLinks" class="summary-sig-name">getLinks</a>(<span class="summary-sig-arg">self</span>)</span><br />
Gathers information about current Mininet links.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getLinks">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareSwitches" class="summary-sig-name">compareSwitches</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">switches</span>,
<span class="summary-sig-arg">switchesJson</span>,
<span class="summary-sig-arg">portsJson</span>)</span><br />
Compare mn and onos switches
switchesJson: parsed json object from the onos devices api</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.compareSwitches">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="compareLinks"></a><span class="summary-sig-name">compareLinks</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">switches</span>,
<span class="summary-sig-arg">links</span>,
<span class="summary-sig-arg">linksJson</span>)</span><br />
Compare mn and onos links linksJson: parsed json object from the onos
links api</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.compareLinks">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareHosts" class="summary-sig-name">compareHosts</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">hosts</span>,
<span class="summary-sig-arg">hostsJson</span>)</span><br />
Compare mn and onos Hosts.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.compareHosts">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getHostsOld"></a><span class="summary-sig-name">getHostsOld</span>(<span class="summary-sig-arg">self</span>)</span><br />
Returns a list of all hosts Don't ask questions just use it</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getHostsOld">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getSwitch"></a><span class="summary-sig-name">getSwitch</span>(<span class="summary-sig-arg">self</span>)</span><br />
Returns a list of all switches Again, don't ask question just use
it...</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwitch">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="update"></a><span class="summary-sig-name">update</span>(<span class="summary-sig-arg">self</span>)</span><br />
updates the port address and status information for each port in mn</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.update">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignVLAN" class="summary-sig-name">assignVLAN</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>,
<span class="summary-sig-arg">intf</span>,
<span class="summary-sig-arg">vlan</span>)</span><br />
Add vlan tag to a host.</td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.assignVLAN">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">**execparams</span>)</span><br />
It facilitates the command line execution of a given command.
<em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
<em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">response</span>)</span>
<em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">handle</span>,
<span class="summary-sig-arg">pwd</span>,
<span class="summary-sig-arg">default</span>)</span>
<em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">user_name</span>,
<span class="summary-sig-arg">ip_address</span>,
<span class="summary-sig-arg">filepath</span>,
<span class="summary-sig-arg">pwd</span>,
<span class="summary-sig-arg">dst_path</span>)</span><br />
Connection will establish to the remote host using ssh.
<em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
<td align="right" valign="top">
<span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
<code>__getattr__</code>,
<code>cleanup</code>,
<code>close_log_handles</code>,
<code>config</code>,
<code>experimentRun</code>,
<code>get_version</code>,
<code>log</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__format__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__sizeof__</code>,
<code>__str__</code>,
<code>__subclasshook__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.__init__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
<dl class="fields">
<dt>Overrides:
object.__init__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="connect"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">**connectargs</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.connect">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Here the main is the TestON instance after creating all the log
handles.</p>
<dl class="fields">
<dt>Overrides:
component.Component.connect
</dt>
</dl>
</td></tr></table>
</div>
<a name="startNet"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">startNet</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">topoFile</span>=<span class="sig-default">''</span>,
<span class="sig-arg">args</span>=<span class="sig-default">''</span>,
<span class="sig-arg">mnCmd</span>=<span class="sig-default">''</span>,
<span class="sig-arg">timeout</span>=<span class="sig-default">120</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.startNet">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Description:
Starts Mininet accepts a topology(.py) file and/or an optional
argument, to start the mininet, as a parameter.
Can also send regular mininet command to load up desired topology.
Eg. Pass in a string 'sudo mn --topo=tree,3,3' to mnCmd
Options:
topoFile = file path for topology file (.py)
args = extra option added when starting the topology from the file
mnCmd = Mininet command use to start topology
Returns:
main.TRUE if the mininet starts successfully, main.FALSE
otherwise
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="pingall"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">pingall</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">timeout</span>=<span class="sig-default">300</span>,
<span class="sig-arg">shortCircuit</span>=<span class="sig-default">False</span>,
<span class="sig-arg">acceptableFailed</span>=<span class="sig-default">0</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingall">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Verifies the reachability of the hosts using pingall command.
Optional parameter timeout allows you to specify how long to
wait for pingall to complete
Optional:
timeout( seconds ) - How long to wait before breaking the pingall
shortCircuit - Break the pingall based on the number of failed hosts
ping
acceptableFailed - Set the number of acceptable failed pings for the
function to still return main.TRUE
Returns:
main.TRUE if pingall completes with no pings dropped
otherwise main.FALSE
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="fpingHost"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">fpingHost</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">**pingParams</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.fpingHost">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Uses the fping package for faster pinging... *requires fping to be
installed on machine running mininet</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="pingallHosts"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">pingallHosts</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">hostList</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingallHosts">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Ping all specified IPv4 hosts</p>
<p>Acceptable hostList:</p>
<ul>
<li>
[ 'h1','h2','h3','h4' ]
</li>
</ul>
<p>Returns main.TRUE if all hosts specified can reach each other</p>
<p>Returns main.FALSE if one or more of hosts specified cannot reach each
other</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="pingIpv6Hosts"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">pingIpv6Hosts</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">hostList</span>,
<span class="sig-arg">prefix</span>=<span class="sig-default">'1000::'</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingIpv6Hosts">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>IPv6 ping all hosts in hostList. If no prefix passed this will use
default prefix of 1000:</p>
<pre class="literalblock">
</pre>
<p>Returns main.TRUE if all hosts specified can reach each other</p>
<p>Returns main.FALSE if one or more of hosts specified cannot reach each
other</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="iperftcpAll"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">iperftcpAll</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">hosts</span>,
<span class="sig-arg">timeout</span>=<span class="sig-default">6</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperftcpAll">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Runs the iperftcp function with a given set of hosts and specified timeout.
@parm:
timeout: The defualt timeout is 6 sec to allow enough time for a successful test to complete,
and short enough to stop an unsuccessful test from quiting and cleaning up mininet.
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="iperftcp"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">iperftcp</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">host1</span>=<span class="sig-default">&quot;h1&quot;</span>,
<span class="sig-arg">host2</span>=<span class="sig-default">&quot;h2&quot;</span>,
<span class="sig-arg">timeout</span>=<span class="sig-default">6</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperftcp">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Creates an iperf TCP test between two hosts. Returns main.TRUE if test results
are valid.
@parm:
timeout: The defualt timeout is 6 sec to allow enough time for a successful test to complete,
and short enough to stop an unsuccessful test from quiting and cleaning up mininet.
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="iperfudp"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">iperfudp</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">bandwidth</span>=<span class="sig-default">&quot;10M&quot;</span>,
<span class="sig-arg">host1</span>=<span class="sig-default">&quot;h1&quot;</span>,
<span class="sig-arg">host2</span>=<span class="sig-default">&quot;h2&quot;</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperfudp">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Creates an iperf UDP test with a specific bandwidth. Returns true if
results are valid.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="getSwController"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">getSwController</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">sw</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwController">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Parameters:
sw: The name of an OVS switch. Example &quot;s1&quot;
Return:
The output of the command from the mininet cli
or main.FALSE on timeout
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="assignSwController"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">assignSwController</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">sw</span>,
<span class="sig-arg">ip</span>,
<span class="sig-arg">port</span>=<span class="sig-default">&quot;6633&quot;</span>,
<span class="sig-arg">ptcp</span>=<span class="sig-default">&quot;&quot;</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.assignSwController">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Description:
Assign switches to the controllers ( for ovs use only )
Required:
sw - Name of the switch. This can be a list or a string.
ip - Ip addresses of controllers. This can be a list or a string.
Optional:
port - ONOS use port 6633, if no list of ports is passed, then
the all the controller will use 6633 as their port number
ptcp - ptcp number, This can be a string or a list that has
the same length as switch. This is optional and not required
when using ovs switches.
NOTE: If switches and ptcp are given in a list type they should have the
same length and should be in the same order, Eg. sw=[ 's1' ... n ]
ptcp=[ '6637' ... n ], s1 has ptcp number 6637 and so on.
Return:
Returns main.TRUE if mininet correctly assigned switches to
controllers, otherwise it will return main.FALSE or an appropriate
exception(s)
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="addSwitch"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">addSwitch</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">sw</span>,
<span class="sig-arg">**kwargs</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addSwitch">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
adds a switch to the mininet topology
NOTE: This uses a custom mn function. MN repo should be on
dynamic_topo branch
NOTE: cannot currently specify what type of switch
required params:
sw = name of the new switch as a string
optional keywords:
dpid = &quot;dpid&quot;
returns: main.FALSE on an error, else main.TRUE
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="delSwitch"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">delSwitch</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">sw</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delSwitch">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
delete a switch from the mininet topology
NOTE: This uses a custom mn function. MN repo should be on
dynamic_topo branch
required params:
sw = name of the switch as a string
returns: main.FALSE on an error, else main.TRUE
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="addLink"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">addLink</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">node1</span>,
<span class="sig-arg">node2</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addLink">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
add a link to the mininet topology
NOTE: This uses a custom mn function. MN repo should be on
dynamic_topo branch
NOTE: cannot currently specify what type of link
required params:
node1 = the string node name of the first endpoint of the link
node2 = the string node name of the second endpoint of the link
returns: main.FALSE on an error, else main.TRUE
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="delLink"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">delLink</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">node1</span>,
<span class="sig-arg">node2</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delLink">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
delete a link from the mininet topology
NOTE: This uses a custom mn function. MN repo should be on
dynamic_topo branch
required params:
node1 = the string node name of the first endpoint of the link
node2 = the string node name of the second endpoint of the link
returns: main.FALSE on an error, else main.TRUE
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="addHost"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">addHost</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">hostname</span>,
<span class="sig-arg">**kwargs</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addHost">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Add a host to the mininet topology
NOTE: This uses a custom mn function. MN repo should be on
dynamic_topo branch
NOTE: cannot currently specify what type of host
required params:
hostname = the string hostname
optional key-value params
switch = &quot;switch name&quot;
returns: main.FALSE on an error, else main.TRUE
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="delHost"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">delHost</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">hostname</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delHost">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
delete a host from the mininet topology
NOTE: This uses a custom mn function. MN repo should be on
dynamic_topo branch
NOTE: this uses a custom mn function
required params:
hostname = the string hostname
returns: main.FALSE on an error, else main.TRUE
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="disconnect"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.disconnect">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Called at the end of the test to stop the mininet and disconnect the
handle.</p>
<dl class="fields">
<dt>Overrides:
component.Component.disconnect
</dt>
</dl>
</td></tr></table>
</div>
<a name="stopNet"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">stopNet</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">fileName</span>=<span class="sig-default">&quot;&quot;</span>,
<span class="sig-arg">timeout</span>=<span class="sig-default">5</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.stopNet">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Stops mininet.
Returns main.TRUE if the mininet successfully stops and
main.FALSE if the pexpect handle does not exist.
Will cleanup and exit the test if mininet fails to stop
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="getFlowTable"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">getFlowTable</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">protoVersion</span>,
<span class="sig-arg">sw</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getFlowTable">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Returns certain fields of an OVS flow table. Will force output to
either OF 1.0 or 1.3 format for consistency.
TODO add option to look at cookies. ignoring them for now
NOTE: Use format to force consistent flow table output across
versions
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="getPorts"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">getPorts</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">nodeName</span>,
<span class="sig-arg">verbose</span>=<span class="sig-default">False</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getPorts">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Read ports from a Mininet switch.</p>
<p>Returns a json structure containing information about the ports of the
given switch.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="getSwitches"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">getSwitches</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">verbose</span>=<span class="sig-default">False</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwitches">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Read switches from Mininet.</p>
<p>Returns a dictionary whose keys are the switch names and the value is
a dictionary containing information about the switch.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="getHosts"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">getHosts</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">verbose</span>=<span class="sig-default">False</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getHosts">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Read hosts from Mininet.</p>
<p>Returns a dictionary whose keys are the host names and the value is a
dictionary containing information about the host.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="getLinks"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">getLinks</span>(<span class="sig-arg">self</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getLinks">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Gathers information about current Mininet links. These links may not
be up if one of the ports is down.
Returns a list of dictionaries with link endpoints.
The dictionary structure is:
{ 'node1': str( node1 name )
'node2': str( node2 name )
'port1': str( port1 of_port )
'port2': str( port2 of_port ) }
Note: The port number returned is the eth#, not necessarily the of_port
number. In Mininet, for OVS switch, these should be the same. For
hosts, this is just the eth#.
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="compareSwitches"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">compareSwitches</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">switches</span>,
<span class="sig-arg">switchesJson</span>,
<span class="sig-arg">portsJson</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.compareSwitches">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Compare mn and onos switches
switchesJson: parsed json object from the onos devices api
Dependencies:
1. numpy - &quot;sudo pip install numpy&quot;
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="compareHosts"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">compareHosts</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">hosts</span>,
<span class="sig-arg">hostsJson</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.compareHosts">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Compare mn and onos Hosts.
Since Mininet hosts are quiet, ONOS will only know of them when they
speak. For this reason, we will only check that the hosts in ONOS
stores are in Mininet, and not vice versa.
Arguments:
hostsJson: parsed json object from the onos hosts api
Returns:
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="assignVLAN"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">assignVLAN</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">host</span>,
<span class="sig-arg">intf</span>,
<span class="sig-arg">vlan</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.assignVLAN">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<pre class="literalblock">
Add vlan tag to a host.
Dependencies:
This class depends on the &quot;vlan&quot; package
$ sudo apt-get install vlan
Configuration:
Load the 8021q module into the kernel
$sudo modprobe 8021q
To make this setup permanent:
$ sudo su -c 'echo &quot;8021q&quot; &gt;&gt; /etc/modules'
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>TestON</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>