lost and found ( for me ? )

Showing posts with label Mininet. Show all posts
Showing posts with label Mininet. Show all posts

how to use Mininet part 1

Here’s sample usage of Mininet.
just referred to http://mininet.github.com/walkthrough/

I am using Mininet VM provided by Mininet github which is running within KVM.

[ sample operations ]

log onto the Mininet VM and become root user.

openflow@mininet-vm:~$ sudo su -
root@mininet-vm:~#


run mininet ( mn )
mn is python script.
root@mininet-vm:~# which mn
/usr/local/bin/mn

root@mininet-vm:~# cat /usr/local/bin/mn
#!/usr/bin/python
# EASY-INSTALL-SCRIPT: 'mininet==0.0.0','mn'
__requires__ = 'mininet==0.0.0'
import pkg_resources
pkg_resources.run_script('mininet==0.0.0', 'mn')


rum mn
root@mininet-vm:~# mn
*** Loading openvswitch_mod
*** Adding controller
*** Creating network
*** Adding hosts:
h2 h3
*** Adding switches:
s1
*** Adding links:
(s1, h2) (s1, h3)
*** Configuring hosts
h2 h3
*** Starting controller
*** Starting 1 switches
s1
*** Starting CLI:
mininet>


get info about nodes , links and all nodes
mininet> nodes
available nodes are:
c0 h3 h2 s1
mininet> net
s1 <-> h2-eth0 h3-eth0
mininet> dump
c0: IP=127.0.0.1 intfs= pid=1218
s1: IP=None intfs=s1-eth1,s1-eth2 pid=1221
h2: IP=10.0.0.2 intfs=h2-eth0 pid=1219
h3: IP=10.0.0.3 intfs=h3-eth0 pid=1220
mininet>


There are two hosts , “h2 and h3” and one switch “s1” and one controller “c0”

an output of ifconfig on “h2” host.
mininet> h2 ifconfig
h2-eth0   Link encap:Ethernet  HWaddr 8e:6b:ff:e6:5c:91
         inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.0.0.0

ininet> h3 ifconfig
h3-eth0   Link encap:Ethernet  HWaddr 6e:ce:21:9e:a7:de
         inet addr:10.0.0.3  Bcast:10.255.255.255  Mask:255.0.0.0


s1
mininet> s1 ifconfig
eth0      Link encap:Ethernet  HWaddr 52:54:00:fa:e0:d1
         inet addr:192.168.10.253  Bcast:192.168.10.255  Mask:255.255.255.0

lo        Link encap:Local Loopback
         inet addr:127.0.0.1  Mask:255.0.0.0


s1-eth1   Link encap:Ethernet  HWaddr a2:92:fb:c4:fc:52
         inet6 addr: fe80::a092:fbff:fec4:fc52/64 Scope:Link

s1-eth2   Link encap:Ethernet  HWaddr 06:93:f8:db:73:ad
         inet6 addr: fe80::493:f8ff:fedb:73ad/64 Scope:Link


send ping to h3 from h2
mininet> h2 ping -c 1 h3
PING 10.0.0.3 (10.0.0.3) 56(84) bytes of data.
64 bytes from 10.0.0.3: icmp_req=1 ttl=64 time=4.75 ms

--- 10.0.0.3 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 4.753/4.753/4.753/0.000 ms


send ping to all nodes
mininet> pingall
*** Ping: testing ping reachability
h2 -> h3
h3 -> h2
*** Results: 0% dropped (0/2 lost)


run web server on h2
mininet> h2 python -m SimpleHTTPServer 80 &


get an web content from h3
In my environment , it took around 15 seconds to get the content.
mininet> h3 wget -O - h2
--2012-12-20 18:15:48--  http://10.0.0.2/
Connecting to 10.0.0.2:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 370 [text/html]
Saving to: `STDOUT'
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html>
<title>Directory listing for /</title>
<body>
<h2>Directory listing for /</h2>
<hr>
<ul>
<li><a href=".aptitude/">.aptitude/</a>
<li><a href=".bash_history">.bash_history</a>
<li><a href=".bashrc">.bashrc</a>
<li><a href=".profile">.profile</a>
<li><a href=".viminfo">.viminfo</a>
</ul>
<hr>
</body>
</html>

    0K                                                       100% 42.5M=0s

2012-12-20 18:16:08 (42.5 MB/s) - written to stdout [370/370]

mininet>


stop web server on h2

check PID
mininet> h2 ps aux | grep python | grep -v grep
root       944  0.0  1.9  16536  9772 ttyS0    R+   17:47   0:00 /usr/bin/python /usr/local/bin/mn
root      1030  0.0  1.1  11940  5764 ?        SN   18:14   0:00 python -m SimpleHTTPServer 80
mininet> h2 kill 1030


kill process
mininet> h2 kill 1030


run regression tests which Mininet has

ping
mininet> dump
c0: IP=127.0.0.1 intfs= pid=956
s1: IP=None intfs=s1-eth1,s1-eth2 pid=959
h2: IP=10.0.0.2 intfs=h2-eth0 pid=957
h3: IP=10.0.0.3 intfs=h3-eth0 pid=958

mininet> pingpair
h2 -> h3
h3 -> h2
*** Results: 0% dropped (0/2 lost)


iperf
mininet> iperf
*** Iperf: testing TCP bandwidth between h2 and h3
*** Results: ['3.88 Gbits/sec', '3.88 Gbits/sec']


exit
mininet> exit
*** Stopping 2 hosts
h2 h3
*** Stopping 1 switches
s1..
*** Stopping 1 controllers
*** Done
completed in 7.443 seconds
root@mininet-vm:~#


run mn with debug mode
root@mininet-vm:~# mn -v debug
*** openvswitch_mod already loaded
*** Adding controller
*** Creating network
*** Adding hosts:
h2 h3
*** Adding switches:
s1
*** Adding links:
*** h2 : ('ip link show',)
17: lo: <LOOPBACK> mtu 16436 qdisc noop state DOWN
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
19: h2-eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
   link/ether 9a:e3:c2:9e:af:fd brd ff:ff:ff:ff:ff:ff
(s1, h2) *** h3 : ('ip link show',)
18: lo: <LOOPBACK> mtu 16436 qdisc noop state DOWN
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
21: h3-eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
   link/ether 82:84:4d:91:6a:c9 brd ff:ff:ff:ff:ff:ff
(s1, h3)
*** Configuring hosts
*** h2 : ('ifconfig', 'h2-eth0', '10.0.0.2/8', 'up')
*** h2 : ('ip route flush root 0/0',)
*** h2 : ('route add default h2-eth0',)
h2 *** h3 : ('ifconfig', 'h3-eth0', '10.0.0.3/8', 'up')
*** h3 : ('ip route flush root 0/0',)
*** h3 : ('route add default h3-eth0',)
h3
*** Starting controller
*** c0 : ('controller -v ptcp:6633 1>/tmp/c0.log 2>/tmp/c0.log&',)
*** Starting 1 switches
s1 *** s1 : ('ovs-dpctl add-dp dp0',)
*** s1 : ('ovs-dpctl', 'add-if', 'dp0', 's1-eth1 s1-eth2')
*** s1 : ('ovs-openflowd dp0 tcp:127.0.0.1:6633 --fail=secure  --listen=ptcp:6634  --datapath-id=0000000000000001  1>/tmp/s1-ofp.log 2>/tmp/s1-ofp.log&',)

*** Starting CLI:
mininet> dump
c0: IP=127.0.0.1 intfs= pid=1223
*** s1 : ('ifconfig s1-eth2',)
s1-eth2   Link encap:Ethernet  HWaddr b6:87:52:62:69:f8
         inet6 addr: fe80::b487:52ff:fe62:69f8/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:5 errors:0 dropped:0 overruns:0 frame:0
         TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:398 (398.0 B)  TX bytes:796 (796.0 B)

s1: IP=None intfs=s1-eth1,s1-eth2 pid=1226
*** h2 : ('ifconfig h2-eth0',)
h2-eth0   Link encap:Ethernet  HWaddr 9a:e3:c2:9e:af:fd
         inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.0.0.0
         inet6 addr: fe80::98e3:c2ff:fe9e:affd/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:10 errors:0 dropped:0 overruns:0 frame:0
         TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:796 (796.0 B)  TX bytes:398 (398.0 B)

h2: IP=10.0.0.2 intfs=h2-eth0 pid=1224
*** h3 : ('ifconfig h3-eth0',)
h3-eth0   Link encap:Ethernet  HWaddr 82:84:4d:91:6a:c9
         inet addr:10.0.0.3  Bcast:10.255.255.255  Mask:255.0.0.0
         inet6 addr: fe80::8084:4dff:fe91:6ac9/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:10 errors:0 dropped:0 overruns:0 frame:0
         TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:796 (796.0 B)  TX bytes:398 (398.0 B)

h3: IP=10.0.0.3 intfs=h3-eth0 pid=1225
mininet>
mininet> iperf
*** Iperf: testing TCP bandwidth between h2 and h3
*** h3 : ('killall -9 iperf',)
iperf: no process found
*** h2 : ('sh -c "echo A | telnet -e A 10.0.0.3 5001"',)
Telnet escape character is 'A'.
Trying 10.0.0.3...
Connected to 10.0.0.3.
Escape character is 'A'.

telnet> Connection closed.
*** h2 : ('iperf -t 5 -c 10.0.0.3 ',)
------------------------------------------------------------
Client connecting to 10.0.0.3, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.2 port 52003 connected with 10.0.0.3 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec  2.15 GBytes  3.69 Gbits/sec
Client output: ------------------------------------------------------------
Client connecting to 10.0.0.3, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.2 port 52003 connected with 10.0.0.3 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec  2.15 GBytes  3.69 Gbits/sec

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 52002
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 0.0 sec  0.00 Bytes  0.00 bits/sec
[  5] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 52003
[  5]  0.0- 5.0 sec  2.15 GBytes  3.69 Gbits/sec
Server output: ------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 52002
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 0.0 sec  0.00 Bytes  0.00 bits/sec
[  5] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 52003
[  5]  0.0- 5.0 sec  2.15 GBytes  3.69 Gbits/sec

*** Results: ['3.69 Gbits/sec', '3.69 Gbits/sec']
mininet>
mininet> exit


- customize topologies

there’s a sample python script “topo-2sw-2host.py” under /home/openflow/mininet/custom
directory.

two hosts ( h1 and h2 )
two switches ( s3 and s4 )
root@mininet-vm:~# cat -n /home/openflow/mininet/custom/topo-2sw-2host.py
    1  """Custom topology example
    2
    3  author: Brandon Heller (brandonh@stanford.edu)
    4
    5  Two directly connected switches plus a host for each switch:
    6
    7     host --- switch --- switch --- host
    8
    9  Adding the 'topos' dict with a key/value pair to generate our newly defined
   10  topology enables one to pass in '--topo=mytopo' from the command line.
   11  """
   12
   13  from mininet.topo import Topo, Node
   14
   15  class MyTopo( Topo ):
   16      "Simple topology example."
   17
   18      def __init__( self, enable_all = True ):
   19          "Create custom topo."
   20
   21          # Add default members to class.
   22          super( MyTopo, self ).__init__()
   23
   24          # Set Node IDs for hosts and switches
   25          leftHost = 1
   26          leftSwitch = 2
   27          rightSwitch = 3
   28          rightHost = 4
   29
   30          # Add nodes
   31          self.add_node( leftSwitch, Node( is_switch=True ) )
   32          self.add_node( rightSwitch, Node( is_switch=True ) )
   33          self.add_node( leftHost, Node( is_switch=False ) )
   34          self.add_node( rightHost, Node( is_switch=False ) )
   35
   36          # Add edges
   37          self.add_edge( leftHost, leftSwitch )
   38          self.add_edge( leftSwitch, rightSwitch )
   39          self.add_edge( rightSwitch, rightHost )
   40
   41          # Consider all switches and hosts 'on'
   42          self.enable_all()
   43
   44
   45  topos = { 'mytopo': ( lambda: MyTopo() ) }
root@mininet-vm:~#


run mn with topo-2sw-2host.py
root@mininet-vm:~# mn --custom /home/openflow/mininet/custom/topo-2sw-2host.py --test iperf -v debug --topo mytopo
custom in sys.argv
*** openvswitch_mod already loaded
*** Adding controller
*** Creating network
*** Adding hosts:
h1 h4
*** Adding switches:
s2 s3
*** Adding links:
*** h1 : ('ip link show',)
38: lo: <LOOPBACK> mtu 16436 qdisc noop state DOWN
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
41: h1-eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
   link/ether fe:2d:67:92:55:26 brd ff:ff:ff:ff:ff:ff
(h1, s2) (s2, s3) *** h4 : ('ip link show',)
39: lo: <LOOPBACK> mtu 16436 qdisc noop state DOWN
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
44: h4-eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
   link/ether ca:11:19:56:86:e0 brd ff:ff:ff:ff:ff:ff
(s3, h4)
*** Configuring hosts
*** h1 : ('ifconfig', 'h1-eth0', '10.0.0.1/8', 'up')
*** h1 : ('ip route flush root 0/0',)
*** h1 : ('route add default h1-eth0',)
h1 *** h4 : ('ifconfig', 'h4-eth0', '10.0.0.4/8', 'up')
*** h4 : ('ip route flush root 0/0',)
*** h4 : ('route add default h4-eth0',)
h4
*** Starting controller
*** c0 : ('controller -v ptcp:6633 1>/tmp/c0.log 2>/tmp/c0.log&',)
*** Starting 2 switches
s2 *** s2 : ('ovs-dpctl add-dp dp0',)
*** s2 : ('ovs-dpctl', 'add-if', 'dp0', 's2-eth1 s2-eth2')
*** s2 : ('ovs-openflowd dp0 tcp:127.0.0.1:6633 --fail=secure  --listen=ptcp:6634  --datapath-id=0000000000000002  1>/tmp/s2-ofp.log 2>/tmp/s2-ofp.log&',)
s3 *** s3 : ('ovs-dpctl add-dp dp1',)
*** s3 : ('ovs-dpctl', 'add-if', 'dp1', 's3-eth1 s3-eth2')
*** s3 : ('ovs-openflowd dp1 tcp:127.0.0.1:6633 --fail=secure  --listen=ptcp:6635  --datapath-id=0000000000000003  1>/tmp/s3-ofp.log 2>/tmp/s3-ofp.log&',)

*** Iperf: testing TCP bandwidth between h1 and h4
*** h4 : ('killall -9 iperf',)
iperf: no process found
*** h1 : ('sh -c "echo A | telnet -e A 10.0.0.4 5001"',)
Telnet escape character is 'A'.
Trying 10.0.0.4...
Connected to 10.0.0.4.
Escape character is 'A'.

telnet> Connection closed.
*** h1 : ('iperf -t 5 -c 10.0.0.4 ',)
------------------------------------------------------------
Client connecting to 10.0.0.4, TCP port 5001
TCP window size: 69.3 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 59865 connected with 10.0.0.4 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec  1.28 GBytes  2.21 Gbits/sec
Client output: ------------------------------------------------------------
Client connecting to 10.0.0.4, TCP port 5001
TCP window size: 69.3 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 59865 connected with 10.0.0.4 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec  1.28 GBytes  2.21 Gbits/sec

[  4] local 10.0.0.4 port 5001 connected with 10.0.0.1 port 59864
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 0.0 sec  0.00 Bytes  0.00 bits/sec
[  5] local 10.0.0.4 port 5001 connected with 10.0.0.1 port 59865
[  5]  0.0- 5.0 sec  1.28 GBytes  2.20 Gbits/sec
Server output: ------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.0.0.4 port 5001 connected with 10.0.0.1 port 59864
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 0.0 sec  0.00 Bytes  0.00 bits/sec
[  5] local 10.0.0.4 port 5001 connected with 10.0.0.1 port 59865
[  5]  0.0- 5.0 sec  1.28 GBytes  2.20 Gbits/sec

*** Results: ['2.20 Gbits/sec', '2.21 Gbits/sec']
*** Stopping 2 hosts
h1 h4
*** Stopping 2 switches
s2*** s2 : ('kill %ovs-openflowd',)
..s3*** s3 : ('kill %ovs-openflowd',)
..
*** Stopping 1 controllers
*** c0 : ('kill %controller',)
*** Done
completed in 5.459 seconds
root@mininet-vm:~#


get h2 host info
root@mininet-vm:~# mn

mininet> py dir(h2)
['IP', 'MAC', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_ipMatchRegex', '_macMatchRegex', 'addIntf', 'args', 'cleanup', 'cmd', 'cmdPrint', 'connection', 'connectionsTo', 'defaultIP', 'defaultIntf', 'defaultMAC', 'deleteIntfs', 'execed', 'fdToNode', 'inNamespace', 'inToNode', 'intfIsUp', 'intfName', 'intfs', 'ips', 'lastCmd', 'lastPid', 'linkTo', 'macs', 'monitor', 'name', 'newPort', 'outToNode', 'pid', 'pollOut', 'portBase', 'ports', 'read', 'readbuf', 'readline', 'registerIntf', 'sendCmd', 'sendInt', 'setARP', 'setDefaultRoute', 'setHostRoute', 'setIP', 'setMAC', 'shell', 'stdin', 'stdout', 'stop', 'terminate', 'updateIP', 'updateMAC', 'waitOutput', 'waitReadable', 'waiting', 'write']

mininet> py h2.IP(),h2.MAC()
('10.0.0.2', 'f6:b3:d5:d4:6f:66')


down/up links
mininet> link s1 h2 down
mininet> pingall
*** Ping: testing ping reachability
h2 -> X
h3 -> X
*** Results: 100% dropped (2/2 lost)
mininet>
mininet> link s1 h2 up
mininet> pingall
*** Ping: testing ping reachability
h2 -> h3
h3 -> h2
*** Results: 0% dropped (0/2 lost)


run four hosts and access to the hosts over SSH

run sample script
root@mininet-vm:~# /home/openflow/mininet/examples/sshd.py
*** Adding controller
*** Creating network
*** Adding hosts:
h1 h2 h3 h4
*** Adding switches:
s5
*** Adding links:
(h1, s5) (h2, s5) (h3, s5) (h4, s5)
*** Configuring hosts
h1 h2 h3 h4
*** Starting controller
*** Starting 1 switches
s5

*** Hosts are running sshd at the following addresses:

h1 10.0.0.1
h2 10.0.0.2
h3 10.0.0.3
h4 10.0.0.4


access to the h1 over SSH
open another terminal and access to the h1
root@mininet-vm:~# ssh 10.0.0.1 -l openflow
openflow@10.0.0.1's password:
Welcome to Ubuntu 11.10 (GNU/Linux 3.0.0-12-generic i686)

* Documentation:  https://help.ubuntu.com/
New release '12.04 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Thu Dec 20 20:00:13 2012 from 10.123.123.1

openflow@mininet-vm:~$ ping 10.0.0.2 -c 1
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_req=1 ttl=64 time=4.90 ms

--- 10.0.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 4.901/4.901/4.901/0.000 ms
openflow@mininet-vm:~$ exit
logout
Connection to 10.0.0.1 closed.
root@mininet-vm:~#

How to deploy Mininet VMDK image within KVM

- about Mininet

http://mininet.github.com/
Miniet is a software to evaluate openflow , controllers , switches and hosts.

You can use Mininet by using VM images which is provided by mininet gitgub or installing Mininet manually on Ubuntu distribution.

Here’s an example of how to deploy Mininet VMDK image within KVM.

KVM host

# kvm –version
QEMU emulator version 1.2.0 (qemu-kvm-1.2.0+noroms-0ubuntu2, Debian), Copyright (c) 2003-2008 Fabrice Bellard

# uname -ri
3.5.0-21-generic x86_64


download the VM image from http://mininet.github.com/download/
mininet-vm-ubuntu11.10-052312.vmware.zip


unzip the file.
$ unzip mininet-vm-ubuntu11.10-052312.vmware.zip
Archive:  mininet-vm-ubuntu11.10-052312.vmware.zip
  creating: Mininet-VM/
 inflating: Mininet-VM/Mininet-VM.nvram
 inflating: Mininet-VM/Mininet-VM.vmdk
extracting: Mininet-VM/Mininet-VM.vmsd
 inflating: Mininet-VM/Mininet-VM.vmx
 inflating: Mininet-VM/Mininet-VM.vmxf
 inflating: Mininet-VM/vmware.log
 inflating: Mininet-VM/vprintproxy.log


convert the VM format to qcow2 from vmdk.
# qemu-img convert Mininet-VM.vmdk -O qcow2 Mininet-VM.qcow2

# qemu-img info Mininet-VM.qcow2
image: Mininet-VM.qcow2
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 2.5G
cluster_size: 65536


import the VM within KVM.
# virt-install --connect=qemu:///session --name mininet --ram=
512 --graphics vnc,port=5911 --disk path=./Mininet-VM.qcow2,format=qcow2 --netwo
rk=bridge:br0 –import


the VM named “mininet” has been deployed within KVM.
virsh # list
Id    Name                           State
----------------------------------------------------
3     mininet                        running




user : openflow
password : openflow