]>
Commit | Line | Data |
---|---|---|
31eae3e3 CF |
1 | #!/bin/bash |
2 | # | |
3 | # Copyright 2018 Network Device Education Foundation, Inc. ("NetDEF") | |
4 | # | |
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: | |
12 | # | |
13 | # The above copyright notice and this permission notice shall be | |
14 | # included in all copies or substantial portions of the Software. | |
15 | # | |
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 | |
23 | # SOFTWARE. | |
24 | ||
25 | # Load shared functions | |
26 | CDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
27 | . $CDIR/funcs.sh | |
28 | ||
29 | # | |
30 | # Script begin | |
31 | # | |
32 | ||
33 | log_info "Configuring OpenvSwitch...." | |
34 | ||
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 & \ | |
42 | disown | |
43 | ovs-vswitchd >/dev/null 2>/dev/null & disown | |
44 | ||
45 | sleep 2 | |
46 | ||
47 | ovs-vsctl --no-wait -- init | |
48 | ovs_version=$(ovs-vsctl -V | grep ovs-vsctl | awk '{print $4}') | |
49 | ovs_db_version=$(\ | |
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 |