diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html
new file mode 100644
index 0000000..edabdd8
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html
@@ -0,0 +1,761 @@
+<?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.remotemininetdriver.RemoteMininetDriver</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.remotemininetdriver-module.html">Module&nbsp;remotemininetdriver</a> ::
+        Class&nbsp;RemoteMininetDriver
+      </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.remotemininetdriver.RemoteMininetDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class RemoteMininetDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_remotemini" name="class_hierarchy_for_remotemini">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html" title="RemoteMininetDriver" alt="" coords="5,6,149,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html" title="emulatordriver.Emulator" alt="" coords="175,6,333,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="359,6,451,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="476,6,633,31"/>
+</map>
+  <img src="class_hierarchy_for_remotemini.gif" alt='' usemap="#class_hierarchy_for_remotemini" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<p>RemoteMininetCliDriver is the basic driver which will handle the 
+  Mininet functions. The main different between this and the 
+  MininetCliDriver is that this one does not build the mininet. It assumes 
+  that there is already a mininet running on the target.</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.remotemininetdriver.RemoteMininetDriver-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.remotemininetdriver-pysrc.html#RemoteMininetDriver.__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.remotemininetdriver.RemoteMininetDriver-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 />
+      ,user_name, ip_address, pwd,options ): 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.remotemininetdriver-pysrc.html#RemoteMininetDriver.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 name="checkForLoss"></a><span class="summary-sig-name">checkForLoss</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">pingList</span>)</span><br />
+      Returns main.FALSE for 0% packet loss and Returns main.ERROR if 
+      &quot;found multiple mininet&quot; is found and Returns main.TRUE 
+      else</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.checkForLoss">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="pingLong"></a><span class="summary-sig-name">pingLong</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**pingParams</span>)</span><br />
+      Starts a continuous ping on the mininet host outputting to a file in 
+      the /tmp dir.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingLong">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="pingstatus"></a><span class="summary-sig-name">pingstatus</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**pingParams</span>)</span><br />
+      Tails the respective ping output file and check that there is a 
+      moving &quot;64 bytes&quot;</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingstatus">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.remotemininetdriver.RemoteMininetDriver-class.html#pingKill" class="summary-sig-name">pingKill</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">testONUser</span>,
+        <span class="summary-sig-arg">testONIP</span>)</span><br />
+      Kills all continuous ping processes.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingKill">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="pingLongKill"></a><span class="summary-sig-name">pingLongKill</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.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingLongKill">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="pingHostOptical"></a><span class="summary-sig-name">pingHostOptical</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**pingParams</span>)</span><br />
+      This function is only for Packet Optical related ping Use the next 
+      pingHost() function for all normal scenarios ) 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.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingHostOptical">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 />
+      Pings between two hosts on remote mininet</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.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="checknum"></a><span class="summary-sig-name">checknum</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      Verifies the correct number of switches are running</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.checknum">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 class="summary-sig-arg">user</span>=<span class="summary-sig-default">&quot;admin&quot;</span>)</span><br />
+      Runs tcpdump 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.remotemininetdriver-pysrc.html#RemoteMininetDriver.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.remotemininetdriver-pysrc.html#RemoteMininetDriver.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 name="runOpticalMnScript"></a><span class="summary-sig-name">runOpticalMnScript</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">name</span>=<span class="summary-sig-default">'onos'</span>,
+        <span class="summary-sig-arg">ctrllerIP</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.remotemininetdriver-pysrc.html#RemoteMininetDriver.runOpticalMnScript">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="attachLincOESession"></a><span class="summary-sig-name">attachLincOESession</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Since executing opticalTest.py will give you mininet prompt, you 
+      would at some point require to get onto console of LincOE 
+      ((linc@onosTestBench)1&gt;) to execute commands like bring a optical 
+      port up or down on a ROADM You can attach to console of Linc-OE 
+      session by a cmd: sudo ~/linc-oe/rel/linc/bin/linc attach</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.attachLincOESession">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.remotemininetdriver.RemoteMininetDriver-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 disconnect the handle.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.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.remotemininetdriver.RemoteMininetDriver-class.html#setIpTablesOUTPUT" class="summary-sig-name">setIpTablesOUTPUT</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">dstIp</span>,
+        <span class="summary-sig-arg">dstPort</span>,
+        <span class="summary-sig-arg">action</span>=<span class="summary-sig-default">'add'</span>,
+        <span class="summary-sig-arg">packetType</span>=<span class="summary-sig-default">'tcp'</span>,
+        <span class="summary-sig-arg">rule</span>=<span class="summary-sig-default">'DROP'</span>)</span><br />
+      Description:
+    add or remove iptables rule to DROP ( default )
+    packets from specific IP and PORT
+Usage:
+* specify action ( 'add' or 'remove' )
+  when removing, pass in the same argument as you would add.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.setIpTablesOUTPUT">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.remotemininetdriver-pysrc.html#RemoteMininetDriver.__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.remotemininetdriver-pysrc.html#RemoteMininetDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>,user_name, ip_address, pwd,options ): 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="pingKill"></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">pingKill</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">testONUser</span>,
+        <span class="sig-arg">testONIP</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingKill">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Kills all continuous ping processes. Then copies all the ping files to
+  the TestStation.</p>
+  <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.remotemininetdriver-pysrc.html#RemoteMininetDriver.disconnect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Called at the end of the test to disconnect the handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.disconnect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="setIpTablesOUTPUT"></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">setIpTablesOUTPUT</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">dstIp</span>,
+        <span class="sig-arg">dstPort</span>,
+        <span class="sig-arg">action</span>=<span class="sig-default">'add'</span>,
+        <span class="sig-arg">packetType</span>=<span class="sig-default">'tcp'</span>,
+        <span class="sig-arg">rule</span>=<span class="sig-default">'DROP'</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.setIpTablesOUTPUT">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    add or remove iptables rule to DROP ( default )
+    packets from specific IP and PORT
+Usage:
+* specify action ( 'add' or 'remove' )
+  when removing, pass in the same argument as you would add. It will
+  delete that specific rule.
+* specify the destination ip to block with dstIp
+* specify destination port to block to dstPort
+* optional packet type to block ( default tcp )
+* optional iptables rule ( default DROP )
+WARNING:
+* This function uses root privilege iptables command which may result
+in unwanted network errors. USE WITH CAUTION
+
+</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>
