]>
Commit | Line | Data |
---|---|---|
1e9c095c RZ |
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 | log_info "Configuring OpenvSwitch...." | |
33 | ||
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 & \ | |
41 | disown | |
42 | ovs-vswitchd >/dev/null 2>/dev/null & disown | |
43 | ||
44 | sleep 2 | |
45 | ||
46 | ovs-vsctl --no-wait -- init | |
47 | ovs_version=$(ovs-vsctl -V | grep ovs-vsctl | awk '{print $4}') | |
48 | ovs_db_version=$(\ | |
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 | |
59 | ||
60 | # Build FRR | |
61 | env \ | |
62 | CLEAN=1 \ | |
63 | VERBOSE=0 \ | |
64 | bash /opt/topotests/compile_frr.sh | |
65 | ||
66 | log_info "Setting permissions on /tmp so we can generate logs" | |
67 | chmod -v 1777 /tmp | |
68 | ||
69 | log_info "Starting bash shell to interact with topotests" | |
70 | echo '' | |
71 | ||
72 | tmux | |
73 | ||
74 | log_info "Stopping OpenvSwitch" | |
75 | service openvswitch-switch stop |