41 lines
1.3 KiB
Bash
41 lines
1.3 KiB
Bash
|
#!/bin/bash
|
||
|
# SPDX-License-Identifier: MIT
|
||
|
#
|
||
|
# Copyright 2018 Network Device Education Foundation, Inc. ("NetDEF")
|
||
|
|
||
|
# Load shared functions
|
||
|
CDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
. $CDIR/funcs.sh
|
||
|
|
||
|
#
|
||
|
# Script begin
|
||
|
#
|
||
|
|
||
|
log_info "Configuring OpenvSwitch...."
|
||
|
|
||
|
# Configure OpenvSwitch so we are able to run mininet
|
||
|
mkdir -p /var/run/openvswitch
|
||
|
ovsdb-tool create /etc/openvswitch/conf.db \
|
||
|
/usr/share/openvswitch/vswitch.ovsschema
|
||
|
ovsdb-server /etc/openvswitch/conf.db \
|
||
|
--remote=punix:/var/run/openvswitch/db.sock \
|
||
|
--remote=ptcp:6640 --pidfile=ovsdb-server.pid >/dev/null 2>/dev/null & \
|
||
|
disown
|
||
|
ovs-vswitchd >/dev/null 2>/dev/null & disown
|
||
|
|
||
|
sleep 2
|
||
|
|
||
|
ovs-vsctl --no-wait -- init
|
||
|
ovs_version=$(ovs-vsctl -V | grep ovs-vsctl | awk '{print $4}')
|
||
|
ovs_db_version=$(\
|
||
|
ovsdb-tool schema-version /usr/share/openvswitch/vswitch.ovsschema)
|
||
|
ovs-vsctl --no-wait -- set Open_vSwitch . db-version="${ovs_db_version}"
|
||
|
ovs-vsctl --no-wait -- set Open_vSwitch . ovs-version="${ovs_version}"
|
||
|
ovs-vsctl --no-wait -- set Open_vSwitch . system-type="docker-ovs"
|
||
|
ovs-vsctl --no-wait -- set Open_vSwitch . system-version="0.1"
|
||
|
ovs-vsctl --no-wait -- \
|
||
|
set Open_vSwitch . external-ids:system-id=`cat /proc/sys/kernel/random/uuid`
|
||
|
ovs-vsctl --no-wait -- set-manager ptcp:6640
|
||
|
ovs-appctl -t ovsdb-server \
|
||
|
ovsdb-server/add-remote db:Open_vSwitch,Open_vSwitch,manager_options
|