3 # Copyright 2018 Network Device Education Foundation, Inc. ("NetDEF")
5 # Permission is hereby granted, free of charge, to any person obtaining
6 # a copy of this software and associated documentation files (the
7 # "Software"), to deal in the Software without restriction, including
8 # without limitation the rights to use, copy, modify, merge, publish,
9 # distribute, sublicense, and/or sell copies of the Software, and to
10 # permit persons to whom the Software is furnished to do so, subject to
11 # the following conditions:
13 # The above copyright notice and this permission notice shall be
14 # included in all copies or substantial portions of the Software.
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
20 # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
21 # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 # Load shared functions
26 CDIR
="$(cd "$
(dirname "${BASH_SOURCE[0]}")" && pwd)"
33 log_info
"Configuring OpenvSwitch...."
35 # Configure OpenvSwitch so we are able to run mininet
36 mkdir
-p /var
/run
/openvswitch
37 ovsdb-tool create
/etc
/openvswitch
/conf.db \
38 /usr
/share
/openvswitch
/vswitch.ovsschema
39 ovsdb-server
/etc
/openvswitch
/conf.db \
40 --remote=punix
:/var
/run
/openvswitch
/db.sock \
41 --remote=ptcp
:6640 --pidfile=ovsdb-server.pid
>/dev
/null
2>/dev
/null
& \
43 ovs-vswitchd
>/dev
/null
2>/dev
/null
& disown
47 ovs-vsctl
--no-wait -- init
48 ovs_version
=$
(ovs-vsctl
-V |
grep ovs-vsctl |
awk '{print $4}')
50 ovsdb-tool schema-version
/usr
/share
/openvswitch
/vswitch.ovsschema
)
51 ovs-vsctl
--no-wait -- set Open_vSwitch . db-version
="${ovs_db_version}"
52 ovs-vsctl
--no-wait -- set Open_vSwitch . ovs-version
="${ovs_version}"
53 ovs-vsctl
--no-wait -- set Open_vSwitch . system-type
="docker-ovs"
54 ovs-vsctl
--no-wait -- set Open_vSwitch . system-version
="0.1"
55 ovs-vsctl
--no-wait -- \
56 set Open_vSwitch . external-ids
:system-id
=`cat /proc/sys/kernel/random/uuid`
57 ovs-vsctl
--no-wait -- set-manager ptcp
:6640
58 ovs-appctl
-t ovsdb-server \
59 ovsdb-server
/add-remote db
:Open_vSwitch
,Open_vSwitch
,manager_options