To create an ovs network on ubuntu 1404s
-create ovs switches with peer interconnection
-create virtual network in virsh
create ovs switches with peer interconnection
sudo ovs-vsctl add-br br51
sudo ovs-vsctl add-port br51 port51a
sudo ovs-vsctl set interface port51a type=patch
sudo ovs-vsctl set interface port51a options:peer=port51b
sudo ovs-vsctl add-br br5
sudo ovs-vsctl add-port br5 port51b
sudo ovs-vsctl set interface port51b type=patch
sudo ovs-vsctl set interface port51b options:peer=port51a
sudo ovs-vsctl add-br br61
sudo ovs-vsctl add-port br61 port61a
sudo ovs-vsctl set interface port61a type=patch
sudo ovs-vsctl set interface port61a options:peer=port61b
sudo ovs-vsctl add-br br6
sudo ovs-vsctl add-port br6 port61b
sudo ovs-vsctl set interface port61b type=patch
sudo ovs-vsctl set interface port61b options:peer=port61a
sudo ovs-vsctl add-br br71
sudo ovs-vsctl add-port br71 port71a
sudo ovs-vsctl set interface port71a type=patch
sudo ovs-vsctl set interface port71a options:peer=port71b
sudo ovs-vsctl add-br br7
sudo ovs-vsctl add-port br7 port71b
sudo ovs-vsctl set interface port71b type=patch
sudo ovs-vsctl set interface port71b options:peer=port71a
sudo ovs-vsctl add-port br5 port561b
sudo ovs-vsctl set interface port561b type=patch
sudo ovs-vsctl set interface port561b options:peer=port561a
sudo ovs-vsctl add-port br61 port561a
sudo ovs-vsctl set interface port561a type=patch
sudo ovs-vsctl set interface port561a options:peer=port561b
sudo ovs-vsctl add-port br61 port617a
sudo ovs-vsctl set interface port617a type=patch
sudo ovs-vsctl set interface port617a options:peer=port617b
sudo ovs-vsctl add-port br7 port617b
sudo ovs-vsctl set interface port617b type=patch
sudo ovs-vsctl set interface port617b options:peer=port617a
sudo ovs-vsctl add-port br51 port516a
sudo ovs-vsctl set interface port516a type=patch
sudo ovs-vsctl set interface port516a options:peer=port516b
sudo ovs-vsctl add-port br6 port516b
sudo ovs-vsctl set interface port516b type=patch
sudo ovs-vsctl set interface port516b options:peer=port516a
sudo ovs-vsctl add-port br6 port671b
sudo ovs-vsctl set interface port671b type=patch
sudo ovs-vsctl set interface port671b options:peer=port671a
sudo ovs-vsctl add-port br71 port671a
sudo ovs-vsctl set interface port671a type=patch
sudo ovs-vsctl set interface port671a options:peer=port671b
Now you can find br5,br51,br6,br61,br7,br71 created by cmd ifconfig
.
Then you can set the controller for each newly created ovs bridge.
sudo ovs-vsctl set-controller br3 tcp:10.20.31.207:6633
sudo ovs-vsctl set-controller br7 tcp:10.20.31.207:6633
sudo ovs-vsctl set-controller br71 tcp:10.20.31.207:6633
sudo ovs-vsctl set-controller br61 tcp:10.20.31.207:6633
sudo ovs-vsctl set-controller br6 tcp:10.20.31.207:6633
sudo ovs-vsctl set-controller br5 tcp:10.20.31.207:6633
sudo ovs-vsctl set-controller br51 tcp:10.20.31.207:6633
Now you can see these ovs bridges are connected to the controller by cmd sudo ovs-vsctl show
ubuntu@server:~$ sudo ovs-vsctl show
043c4d3e-c297-4a57-b747-412f403a294d
Bridge "br61"
Controller "tcp:10.20.31.207:6633"
is_connected: true
Port "vnet8"
Interface "vnet8"
Port "port61a"
Interface "port61a"
type: patch
options: {peer="port61b"}
Port "vnet5"
Interface "vnet5"
Port "port617a"
Interface "port617a"
type: patch
options: {peer="port617b"}
Port "port561a"
Interface "port561a"
type: patch
options: {peer="port561b"}
Port "br61"
Interface "br61"
type: internal
Port "vnet2"
Interface "vnet2"
Bridge "br6"
Controller "tcp:10.20.31.207:6633"
is_connected: true
Port "port61b"
Interface "port61b"
type: patch
options: {peer="port61a"}
Port "br6"
Interface "br6"
type: internal
Port "port516b"
Interface "port516b"
type: patch
options: {peer="port516a"}
Port "port671b"
Interface "port671b"
type: patch
options: {peer="port671a"}
Bridge "br51"
Controller "tcp:10.20.31.207:6633"
is_connected: true
Port "vnet1"
Interface "vnet1"
Port "br51"
Interface "br51"
type: internal
Port "port51a"
Interface "port51a"
type: patch
options: {peer="port51b"}
Port "vnet4"
Interface "vnet4"
Port "port516a"
Interface "port516a"
type: patch
options: {peer="port516b"}
Port "vnet7"
Interface "vnet7"
Bridge "br71"
Controller "tcp:10.20.31.207:6633"
is_connected: true
Port "br71"
Interface "br71"
type: internal
Port "port671a"
Interface "port671a"
type: patch
options: {peer="port671b"}
Port "port71a"
Interface "port71a"
type: patch
options: {peer="port71b"}
Port "vnet3"
Interface "vnet3"
Port "vnet6"
Interface "vnet6"
Port "vnet9"
Interface "vnet9"
Bridge "br5"
Controller "tcp:10.20.31.207:6633"
is_connected: true
Port "br5"
Interface "br5"
type: internal
Port "port51b"
Interface "port51b"
type: patch
options: {peer="port51a"}
Port "port561b"
Interface "port561b"
type: patch
options: {peer="port561a"}
Bridge "br7"
Controller "tcp:10.20.31.207:6633"
is_connected: true
Port "port71b"
Interface "port71b"
type: patch
options: {peer="port71a"}
Port "br7"
Interface "br7"
type: internal
Port "port617b"
Interface "port617b"
type: patch
options: {peer="port617a"}
ovs_version: "2.0.2"
create virtual network in virsh
-create network xml
-start, auto-start
step 1
vi /tmp/ovsnet.xml
<network>
<name>ovs-br5</name>
<forward mode='bridge'/>
<bridge name='br5'/>
<virtualport type='openvswitch'/>
</network>
step 2
# virsh net-define /tmp/ovsnet.xml
# virsh net-start ovs-br5
# virsh net-autostart ovs-br5
Then redo the same steps for other ovs bridges.
Done!
Open ODL controller, you can see the topology!