Hello,
after installing Ubuntu Precise 64 bit you need to run the following commands:
sudo su -
apt-get install python-software-properties ubuntu-cloud-keyring
add-apt-repository "deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/folsom main"
apt-get update
apt-get install openjdk-7-jre-headless postgresql keystone keystone-doc python-keystone iptables unzip
dpkg -i hp-sdn-ctl_2.0.0.4253_amd64.deb
Once installed you can access the controller under:
https://10.101.253.45:8443/sdn/ui/ sdn / skyline
Now you can connect either physical provision switches:
openflow
controller-id 1 ip 192.168.10.21 controller-interface vlan 1
instance aggregate
listen-port
controller-id 1
version 1.3
limit hardware-rate 10000000
limit software-rate 10000
enable
exit
enable
exit
Or physical Comware switches:
# Comware
vlan 4092
interface GigabitEthernet1/0/47
port access vlan 4092
interface GigabitEthernet1/0/48
port access vlan 4092
openflow instance 1
mac-learning forbidden
classification vlan 4092
controller 1 address ip 192.168.0.1
active instance
Or mininet which is a collection of scripts that uses linux network name spaces to simulate multiple switches and hosts. Linux namespaces allow multiple interfaces including loopback interfaces to have each own routing and arp table. This makes it possible to simulate large topologies on a small machine. Quickstart for mininet is to install another Ubuntu precise and execute the following commands:
apt-get install mininet
service openvswitch-switch start
cat > mininet_sample_topo.py <<EOF
from mininet.topo import Topo
class SampleTopo( Topo ):
"Simple topology"
def __init__( self ):
"Create custom topo."
# Initialize topology
Topo.__init__( self )
# Add hosts
h1= self.addHost( 'h1' )
h2= self.addHost( 'h2' )
h3= self.addHost( 'h3' )
h4= self.addHost( 'h4' )
h5= self.addHost( 'h5' )
h6= self.addHost( 'h6' )
h7= self.addHost( 'h7' )
h8= self.addHost( 'h8' )
h9= self.addHost( 'h9' )
# Switches
s1= self.addSwitch( 's1' )
s2= self.addSwitch( 's2' )
s3= self.addSwitch( 's3' )
s4= self.addSwitch( 's4' )
# Add links
self.addLink( s1, h1 )
self.addLink( s1, h2 )
self.addLink( s3, s4 )
self.addLink( h3, s2 )
self.addLink( h4, s2 )
self.addLink( h5, s3 )
self.addLink( h6, s3 )
self.addLink( s1, s2 )
self.addLink( s1, s3 )
self.addLink( s2, s4 )
self.addLink( s4, h7 )
self.addLink( s4, h8 )
self.addLink( s4, h9 )
topos = { 'sampletopo': ( lambda: SampleTopo() ) }
EOF
mn --custom mininet_sample_topo.py --topo sampletopo --mac --switch ovsk --arp --controller remote,ip=10.103.251.244
pingall
I have made two VMware images ready for the controller and mininet. If you're interested you can drop me an e-mail to thomas at glanzmann dot de.
Cheers,
Thomas