Mininet Python API Reference Manual
Public Member Functions | List of all members
mininet.net.MininetWithControlNet Class Reference

Control network. More...

Inheritance diagram for mininet.net.MininetWithControlNet:
mininet.net.Mininet

Public Member Functions

def configureControlNetwork (self)
 Configure control network.
 
def configureRoutedControlNetwork (self, ip='192.168.123.1', prefixLen=16)
 Configure a routed control network on controller and switches. More...
 
- Public Member Functions inherited from mininet.net.Mininet
def __init__ (self, topo=None, switch=OVSKernelSwitch, host=Host, controller=DefaultController, link=Link, intf=Intf, build=True, xterms=False, cleanup=False, ipBase='10.0.0.0/8', 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 mininet.net.Mininet
def randMac ()
 Return a random, non-multicast MAC address.
 
- Public Attributes inherited from mininet.net.Mininet
 topo
 
 switch
 
 host
 
 controller
 
 link
 
 intf
 
 ipBase
 
 prefixLen
 
 nextIP
 
 inNamespace
 
 xterms
 
 cleanup
 
 autoSetMacs
 
 autoStaticArp
 
 autoPinCpus
 
 numCores
 
 nextCore
 
 listenPort
 
 waitConn
 
 hosts
 
 switches
 
 controllers
 
 links
 
 nameToNode
 
 terms
 
 built
 
 inited
 
- Static Public Attributes inherited from mininet.net.Mininet
bool inited = False
 

Detailed Description

Control network.

Parameters
support
   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 mininet.net.MininetWithControlNet.configureRoutedControlNetwork (   self,
  ip = '192.168.123.1',
  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: