Mininet Python API Reference Manual
Public Member Functions | List of all members Class Reference

Control network. More...

Inheritance diagram for

Public Member Functions

def configureControlNetwork (self)
 Configure control network.
def configureRoutedControlNetwork (self, ip='', prefixLen=16)
 Configure a routed control network on controller and switches. More...
- Public Member Functions inherited from
def __init__ (self, topo=None, switch=OVSKernelSwitch, host=Host, controller=DefaultController, link=Link, intf=Intf, build=True, xterms=False, cleanup=False, ipBase='', inNamespace=False, autoSetMacs=False, autoStaticArp=False, autoPinCpus=False, listenPort=None, waitConnected=False)
 Create Mininet object. More...
def waitConnected (self, timeout=None, delay=.5)
 wait for each switch to connect to a controller More...
def addHost (self, name, cls=None, **params)
 Add host. More...
def delNode (self, node, nodes=None)
 Delete node. More...
def delHost (self, host)
 Delete a host.
def addSwitch (self, name, cls=None, **params)
 Add switch. More...
def delSwitch (self, switch)
 Delete a switch.
def addController (self, name='c0', controller=None, **params)
 Add controller. More...
def delController (self, controller)
 Delete a controller Warning - does not reconfigure switches, so they may still attempt to connect to it!
def addNAT (self, name='nat0', connect=True, inNamespace=False, **params)
 Add a NAT to the Mininet network. More...
def getNodeByName (self, *args)
 Return node(s) with given name(s)
def get (self, *args)
 Convenience alias for getNodeByName.
def __getitem__ (self, key)
 net[ name ] operator: Return node with given name
def __delitem__ (self, key)
 del net[ name ] operator - delete node with given name
def __iter__ (self)
 return iterator over node names
def __len__ (self)
 returns number of nodes in net
def __contains__ (self, item)
 returns True if net contains named node
def keys (self)
 return a list of all node names or net's keys
def values (self)
 return a list of all nodes or net's values
def items (self)
 return (key,value) tuple list for every node in net
def addLink (self, node1, node2, port1=None, port2=None, cls=None, **params)
 "Add a link from node1 to node2 More...
def delLink (self, link)
 Remove a link from this network.
def linksBetween (self, node1, node2)
 Return Links between node1 and node2.
def delLinkBetween (self, node1, node2, index=0, allLinks=False)
 Delete link(s) between node1 and node2. More...
def configHosts (self)
 Configure a set of hosts.
def buildFromTopo (self, topo=None)
 Build mininet from a topology object At the end of this function, everything should be connected and up.
def build (self)
 Build mininet.
def startTerms (self)
 Start a terminal for each node.
def stopXterms (self)
 Kill each xterm.
def staticArp (self)
 Add all-pairs ARP entries to remove the need to handle broadcast.
def start (self)
 Start controller and switches.
def stop (self)
 Stop the controller(s), switches and hosts.
def run (self, test, *args, **kwargs)
 Perform a complete start/test/stop cycle.
def monitor (self, hosts=None, timeoutms=-1)
 Monitor a set of hosts (or all hosts by default), and return their output, a line at a time. More...
def ping (self, hosts=None, timeout=None)
 Ping between all specified hosts. More...
def pingFull (self, hosts=None, timeout=None)
 Ping between all specified hosts and return all data. More...
def pingAll (self, timeout=None)
 Ping between all hosts. More...
def pingPair (self)
 Ping between first two hosts, useful for testing. More...
def pingAllFull (self)
 Ping between all hosts. More...
def pingPairFull (self)
 Ping between first two hosts, useful for testing. More...
def iperf (self, hosts=None, l4Type='TCP', udpBw='10M', fmt=None, seconds=5, port=5001)
 Run iperf between two hosts. More...
def runCpuLimitTest (self, cpu, duration=5)
 run CPU limit test with 'while true' processes. More...
def configLinkStatus (self, src, dst, status)
 Change status of src <-> dst links. More...
def interact (self)
 Start network and run our simple CLI.
def init (cls)
 Initialize Mininet.

Additional Inherited Members

- Static Public Member Functions inherited from
def randMac ()
 Return a random, non-multicast MAC address.
- Public Attributes inherited from
- Static Public Attributes inherited from
bool inited = False

Detailed Description

Control network.

   Create an explicit control network. Currently this is only
   used/usable with the user datapath.

@param Notes

   1. If the controller and switches are in the same (e.g. root)
      namespace, they can just use the loopback connection.

   2. If we can get unix domain sockets to work, we can use them
      instead of an explicit control network.

   3. Instead of routing, we could bridge or use 'in-band' control.

   4. Even if we dispense with this in general, it could still be
      useful for people who wish to simulate a separate control
      network (since real networks may need one!)

   5. Basically nobody ever used this code, so it has been moved
      into its own class.

   6. Ultimately we may wish to extend this to allow us to create a
      control network which every node's control interface is
      attached to.

Member Function Documentation

◆ configureRoutedControlNetwork()

def (   self,
  ip = '',
  prefixLen = 16 

Configure a routed control network on controller and switches.

For use with the user datapath only right now.

The documentation for this class was generated from the following file: