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)"
32 log_info
"Configuring OpenvSwitch...."
34 # Configure OpenvSwitch so we are able to run mininet
35 mkdir
-p /var
/run
/openvswitch
36 ovsdb-tool create
/etc
/openvswitch
/conf.db \
37 /usr
/share
/openvswitch
/vswitch.ovsschema
38 ovsdb-server
/etc
/openvswitch
/conf.db \
39 --remote=punix
:/var
/run
/openvswitch
/db.sock \
40 --remote=ptcp
:6640 --pidfile=ovsdb-server.pid
>/dev
/null
2>/dev
/null
& \
42 ovs-vswitchd
>/dev
/null
2>/dev
/null
& disown
46 ovs-vsctl
--no-wait -- init
47 ovs_version
=$
(ovs-vsctl
-V |
grep ovs-vsctl |
awk '{print $4}')
49 ovsdb-tool schema-version
/usr
/share
/openvswitch
/vswitch.ovsschema
)
50 ovs-vsctl
--no-wait -- set Open_vSwitch . db-version
="${ovs_db_version}"
51 ovs-vsctl
--no-wait -- set Open_vSwitch . ovs-version
="${ovs_version}"
52 ovs-vsctl
--no-wait -- set Open_vSwitch . system-type
="docker-ovs"
53 ovs-vsctl
--no-wait -- set Open_vSwitch . system-version
="0.1"
54 ovs-vsctl
--no-wait -- \
55 set Open_vSwitch . external-ids
:system-id
=`cat /proc/sys/kernel/random/uuid`
56 ovs-vsctl
--no-wait -- set-manager ptcp
:6640
57 ovs-appctl
-t ovsdb-server \
58 ovsdb-server
/add-remote db
:Open_vSwitch
,Open_vSwitch
,manager_options
60 bash
"${CDIR}/compile_frr.sh"
62 log_info
"Setting permissions on /tmp so we can generate logs"
65 log_info
"Starting bash shell to interact with topotests"