Revision dc630c54 examples/scratchnet.py

View differences:

examples/scratchnet.py
11 11
from mininet.net import init
12 12
from mininet.node import Node
13 13
from mininet.util import createLink
14
from mininet.log import info
15

  
16
# print out info() messages, including cmdPrint
17
logging.LOGLEVELDEFAULT = logging.INFO
14
from mininet.log import lg, info
18 15

  
19 16
def scratchNet( cname='controller', cargs='ptcp:'):
20
    # Create Network
21
    print "*** creating Nodes"
17

  
18
    info( "*** Creating nodes\n" )
22 19
    controller = Node( 'c0', inNamespace=False )
23 20
    switch = Node( 's0', inNamespace=False )
24 21
    h0 = Node( 'h0' )
25 22
    h1 = Node( 'h1' )
26
    print "*** creating links"
23
    
24
    info( "*** Creating links\n" )
27 25
    createLink( node1=h0, port1=0, node2=switch, port2=0 )
28 26
    createLink( node1=h1, port1=0, node2=switch, port2=1 )
29
    # Configure hosts
30
    print "*** configuring hosts"
27

  
28
    info( "*** Configuring hosts\n" )
31 29
    h0.setIP( h0.intfs[ 0 ], '192.168.123.1', '/24' )
32 30
    h1.setIP( h1.intfs[ 0 ], '192.168.123.2', '/24' )
33
    print h0
34
    print h1
35
    # Start network using kernel datapath
36
    controller.cmdPrint( cname + ' ' + cargs + '&' )
37
    switch.cmdPrint( 'dpctl deldp nl:0' )
38
    switch.cmdPrint( 'dpctl adddp nl:0' )
31
    info( str( h0 ) + '\n' )
32
    info( str( h1 ) + '\n' )
33
    
34
    info( "*** Starting network using kernel datapath\n" )
35
    controller.cmd( cname + ' ' + cargs + '&' )
36
    switch.cmd( 'dpctl deldp nl:0' )
37
    switch.cmd( 'dpctl adddp nl:0' )
39 38
    for intf in switch.intfs.values():
40
      switch.cmdPrint( 'dpctl addif nl:0 ' + intf )
41
    switch.cmdPrint( 'ofprotocol nl:0 tcp:localhost &')
42
    # Run test
43
    print h0.cmd( 'ping -c1 ' + h1.IP() )
44
    # Stop network
45
    controller.cmdPrint( 'kill %' + cname)
46
    switch.cmdPrint( 'dpctl deldp nl:0' )
47
    switch.cmdPrint( 'kill %ofprotocol' )
48
    switch.stop()
49
    controller.stop()
39
      switch.cmd( 'dpctl addif nl:0 ' + intf )
40
    switch.cmd( 'ofprotocol nl:0 tcp:localhost &')
41
    
42
    info( "*** Running test\n" )
43
    h0.cmdPrint( 'ping -c1 ' + h1.IP() )
44
    
45
    info( "*** Stopping network\n" )
46
    controller.cmd( 'kill %' + cname)
47
    switch.cmd( 'dpctl deldp nl:0' )
48
    switch.cmd( 'kill %ofprotocol' )
50 49
   
51 50
if __name__ == '__main__':
52
    info( '*** Scratch network demo\n' )
53
    init()   
51
    info( '*** Scratch network demo (kernel datapath)\n' )
52
    init()
53
    lg.setLogLevel( 'info' )
54 54
    scratchNet()

Also available in: Unified diff