70 lines
2.1 KiB
Plaintext
Executable File
70 lines
2.1 KiB
Plaintext
Executable File
#Setup variables
|
|
#My IP address is required for the ovsdb server.
|
|
#MYIP=192.168.178.109
|
|
MYIP=127.0.0.1
|
|
|
|
# This is the OpenFlow controller ID which we're going to load into the OVS
|
|
#CTLIP=192.168.178.67
|
|
CTLIP=10.0.0.1
|
|
|
|
# This is our DataPath ID
|
|
DPID=0000000000000001
|
|
|
|
# This is the name of the bridge that we're going to be creating
|
|
SW=ovs-br0
|
|
|
|
mkdir -pv /var/run/openvswitch/
|
|
|
|
#What ports are we going to put in the OVS?
|
|
#DPPORTS="eth0.1 eth0.2 eth0.3 eth0.4 wlan0 wlan0-2 wlan0-3"
|
|
#DPPORTS="eth0.1 eth0.2 eth0.3 eth0.4 wlan1"
|
|
DPPORTS="eth0.1 eth0.2 eth0.3 eth0.4"
|
|
#Alias some variables
|
|
#VSCTL="ovs-vsctl --db=tcp:$MYIP:9999"
|
|
VSCTL="ovs-vsctl"
|
|
OVSDB=/tmp/ovs-vswitchd.conf.db
|
|
|
|
# Kill off the servers and remove any stale lockfiles
|
|
/usr/bin/killall ovsdb-server
|
|
/usr/bin/killall ovs-vswitchd
|
|
rm /tmp/.ovs-vswitchd.conf.db.~lock~
|
|
|
|
# Remove the OVS Database and then recreate.
|
|
rm -f $OVSDB
|
|
ovsdb-tool create $OVSDB /usr/share/openvswitch/vswitch.ovsschema
|
|
|
|
# Start the OVSDB server and wait until it starts
|
|
#ovsdb-server $OVSDB --remote=ptcp:9999:$MYIP &
|
|
ovsdb-server $OVSDB --detach --overwrite-pidfile --remote=punix:/var/run/openvswitch/db.sock
|
|
sleep 2
|
|
|
|
# Start vSwitchd
|
|
#ovs-vswitchd tcp:$MYIP:9999 --pidfile=ovs-vswitchd.pid --overwrite-pidfile -- &
|
|
ovs-vswitchd --pidfile=ovs-vswitchd.pid --overwrite-pidfile --detach
|
|
|
|
# Create the bridge and pass in some configuration options
|
|
$VSCTL add-br $SW
|
|
$VSCTL set bridge $SW protocols=OpenFlow13
|
|
|
|
#Cycle through the DataPath ports adding them to the switch
|
|
C=1
|
|
for i in $DPPORTS ; do
|
|
PORT=$i
|
|
ifconfig $PORT up
|
|
$VSCTL add-port $SW $PORT -- set interface $PORT ofport_request=$C
|
|
C=$((C+1))
|
|
done
|
|
|
|
#Ensure that the switch has the correct DataPath ID
|
|
$VSCTL set bridge $SW other-config:datapath-id=$DPID
|
|
|
|
#Configure the switch to have an OpenFlow Controller. This will contact the controller.
|
|
$VSCTL set-controller $SW tcp:$CTLIP:6653
|
|
$VSCTL set controller $SW connection-mode=out-of-band
|
|
# Turn off the fail-safe mode
|
|
$VSCTL set-fail-mode $SW secure
|
|
#
|
|
#
|
|
#$VSCTL --id=@sflow create sflow agent=192.168.178.109 target=\"$CTLIP:6653\" sampling=2 polling=20 -- -- set bridge $SW sflow=@sflow
|
|
|