mirror of
https://github.com/openvswitch/ovs
synced 2025-08-29 05:18:13 +00:00
test-controller: Rename to ovs-testcontroller, again install.
mininet uses the Open vSwitch controller by default, for testing. CC: 757761@bugs.debian.org Reported-at: https://bugs.debian.org/757761 Requested-by: Tomasz Buchert <tomasz.buchert@inria.fr> Requested-by: Dariusz Dwornikowski <dariusz.dwornikowski@cs.put.poznan.pl> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Justin Pettit <jpettit@nicira.com>
This commit is contained in:
parent
588c900103
commit
0bc1b46a38
@ -115,10 +115,10 @@ that contains the PKI structure:
|
||||
% ovs-pki req+sign ctl controller
|
||||
|
||||
ctl-privkey.pem and ctl-cert.pem would need to be copied to the
|
||||
controller for its use at runtime. If you were to use test-controller,
|
||||
the simple OpenFlow controller included with Open vSwitch, then the
|
||||
--private-key and --certificate options, respectively, would point to
|
||||
these files.
|
||||
controller for its use at runtime. If, for testing purposes, you were
|
||||
to use ovs-testcontroller, the simple OpenFlow controller included
|
||||
with Open vSwitch, then the --private-key and --certificate options,
|
||||
respectively, would point to these files.
|
||||
|
||||
It is very important to make sure that no stray copies of
|
||||
ctl-privkey.pem are created, because they could be used to impersonate
|
||||
|
@ -172,7 +172,7 @@ controller on XenServer and, as a consequence of the step above that
|
||||
deletes all of the bridges at boot time, controller configuration only
|
||||
persists until XenServer reboot. The configuration database manager
|
||||
can, however, configure controllers for bridges. See the BUGS section
|
||||
of test-controller(8) for more information on this topic.
|
||||
of ovs-testcontroller(8) for more information on this topic.
|
||||
|
||||
* The Open vSwitch startup script automatically adds a firewall rule
|
||||
to allow GRE traffic. This rule is needed for the XenServer feature
|
||||
|
3
NEWS
3
NEWS
@ -19,6 +19,9 @@ Post-v2.3.0
|
||||
* Nicira extension "move" actions may now be included in action sets.
|
||||
- ovsdb-server: New OVSDB protocol extension allows inequality tests on
|
||||
"optional scalar" columns. See ovsdb-server(1) for details.
|
||||
- test-controller has been renamed ovs-testcontroller at request of users
|
||||
who find it useful for testing basic OpenFlow setups. It is still not
|
||||
a necessary or desirable part of most Open vSwitch deployments.
|
||||
|
||||
|
||||
v2.3.0 - 14 Aug 2014
|
||||
|
3
README
3
README
@ -72,6 +72,9 @@ Open vSwitch also provides some tools:
|
||||
* ovs-pki, a utility for creating and managing the public-key
|
||||
infrastructure for OpenFlow switches.
|
||||
|
||||
* ovs-testcontroller, a simple OpenFlow controller that may be useful
|
||||
for testing (though not for production).
|
||||
|
||||
* A patch to tcpdump that enables it to parse OpenFlow messages.
|
||||
|
||||
What other documentation is available?
|
||||
|
1
debian/.gitignore
vendored
1
debian/.gitignore
vendored
@ -16,6 +16,7 @@
|
||||
/openvswitch-switch
|
||||
/openvswitch-switch.copyright
|
||||
/openvswitch-test
|
||||
/openvswitch-testcontroller
|
||||
/openvswitch-vtep
|
||||
/python-openvswitch
|
||||
/tmp
|
||||
|
8
debian/automake.mk
vendored
8
debian/automake.mk
vendored
@ -37,6 +37,14 @@ EXTRA_DIST += \
|
||||
debian/openvswitch-test.dirs \
|
||||
debian/openvswitch-test.install \
|
||||
debian/openvswitch-test.manpages \
|
||||
debian/openvswitch-testcontroller.README.Debian \
|
||||
debian/openvswitch-testcontroller.default \
|
||||
debian/openvswitch-testcontroller.dirs \
|
||||
debian/openvswitch-testcontroller.init \
|
||||
debian/openvswitch-testcontroller.install \
|
||||
debian/openvswitch-testcontroller.manpages \
|
||||
debian/openvswitch-testcontroller.postinst \
|
||||
debian/openvswitch-testcontroller.postrm \
|
||||
debian/openvswitch-vtep.default \
|
||||
debian/openvswitch-vtep.dirs \
|
||||
debian/openvswitch-vtep.init \
|
||||
|
5
debian/changelog
vendored
5
debian/changelog
vendored
@ -1,5 +1,10 @@
|
||||
openvswitch (2.3.90-1) unstable; urgency=low
|
||||
[ Open vSwitch team ]
|
||||
* The openvswitch-testcontroller package is new. It reintroduces the
|
||||
simple OpenFlow controller that was packaged with Open vSwitch prior to
|
||||
version 2.1, at request of users who find it useful for testing basic
|
||||
OpenFlow setups. It is still not a necessary or desirable part of most
|
||||
Open vSwitch deployments.
|
||||
* New upstream version
|
||||
- Nothing yet! Try NEWS...
|
||||
|
||||
|
17
debian/control
vendored
17
debian/control
vendored
@ -60,7 +60,8 @@ Description: Open vSwitch common components
|
||||
to support distribution across multiple physical servers similar to
|
||||
VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
|
||||
.
|
||||
openvswitch-common provides components required by both openvswitch-switch.
|
||||
openvswitch-common provides components required by both openvswitch-switch
|
||||
and openvswitch-testcontroller.
|
||||
|
||||
Package: openvswitch-switch
|
||||
Architecture: linux-any
|
||||
@ -117,6 +118,17 @@ Description: Open vSwitch public key infrastructure dependency package
|
||||
Open vSwitch switches and controllers, reducing the risk of
|
||||
man-in-the-middle attacks on the Open vSwitch network infrastructure.
|
||||
|
||||
Package: openvswitch-testcontroller
|
||||
Architecture: linux-any
|
||||
Depends:
|
||||
${shlibs:Depends}, openvswitch-common (= ${binary:Version}),
|
||||
openvswitch-pki (= ${source:Version}), ${misc:Depends}
|
||||
Description: Simple controller for testing OpenFlow setups
|
||||
This controller enables OpenFlow switches that connect to it to act
|
||||
as MAC-learning Ethernet switches. It can be used for initial
|
||||
testing of OpenFlow networks. It is not a necessary or desirable
|
||||
part of a production OpenFlow deployment.
|
||||
|
||||
Package: openvswitch-dbg
|
||||
Section: debug
|
||||
Architecture: linux-any
|
||||
@ -124,6 +136,9 @@ Depends:
|
||||
${shlibs:Depends}, ${misc:Depends},
|
||||
openvswitch-common (= ${binary:Version}),
|
||||
openvswitch-switch (= ${binary:Version})
|
||||
Conflicts:
|
||||
openvswitch-testcontroller (<< ${binary:Version}),
|
||||
openvswitch-testcontroller (>> ${binary:Version})
|
||||
Description: Debug symbols for Open vSwitch packages
|
||||
Open vSwitch is a production quality, multilayer, software-based,
|
||||
Ethernet virtual switch. It is designed to enable massive network
|
||||
|
12
debian/openvswitch-testcontroller.README.Debian
vendored
Normal file
12
debian/openvswitch-testcontroller.README.Debian
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
README.Debian for openvswitch-testcontroller
|
||||
--------------------------------------------
|
||||
|
||||
The controller in this package enables OpenFlow switches that connect
|
||||
to it to act as MAC-learning Ethernet switches. It can be used for
|
||||
initial testing of OpenFlow networks. It is not a necessary or
|
||||
desirable part of a production OpenFlow deployment.
|
||||
|
||||
To (re)configure the controller, edit /etc/default/openvswitch-testcontroller
|
||||
and run "/etc/init.d/openvswitch-testcontroller restart".
|
||||
|
||||
-- Ben Pfaff <pfaffben@debian.org>, Thu, 14 Aug 2014 10:49:34 -0700
|
29
debian/openvswitch-testcontroller.default
vendored
Normal file
29
debian/openvswitch-testcontroller.default
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
# This is a POSIX shell fragment -*- sh -*-
|
||||
|
||||
# LISTEN: What OpenFlow connection methods should the controller listen on?
|
||||
#
|
||||
# This is a space-delimited list of connection methods:
|
||||
#
|
||||
# * "pssl:[PORT]": Listen for SSL connections on the specified PORT
|
||||
# (default: 6633). The private key, certificate, and CA certificate
|
||||
# must be specified below.
|
||||
#
|
||||
# * "ptcp:[PORT]": Listen for TCP connections on the specified PORT
|
||||
# (default: 6633). Not recommended for security reasons.
|
||||
#
|
||||
LISTEN="pssl:"
|
||||
|
||||
# PRIVKEY: Name of file containing controller's private key.
|
||||
# Required if SSL enabled.
|
||||
PRIVKEY=/etc/openvswitch-testcontroller/privkey.pem
|
||||
|
||||
# CERT: Name of file containing certificate for private key.
|
||||
# Required if SSL enabled.
|
||||
CERT=/etc/openvswitch-testcontroller/cert.pem
|
||||
|
||||
# CACERT: Name of file containing switch CA certificate.
|
||||
# Required if SSL enabled.
|
||||
CACERT=/etc/openvswitch-testcontroller/cacert.pem
|
||||
|
||||
# Additional options to pass to ovs-testcontroller, e.g. "--hub"
|
||||
DAEMON_OPTS=""
|
1
debian/openvswitch-testcontroller.dirs
vendored
Normal file
1
debian/openvswitch-testcontroller.dirs
vendored
Normal file
@ -0,0 +1 @@
|
||||
etc/openvswitch-testcontroller
|
278
debian/openvswitch-testcontroller.init
vendored
Executable file
278
debian/openvswitch-testcontroller.init
vendored
Executable file
@ -0,0 +1,278 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2011, 2014 Nicira, Inc.
|
||||
# Copyright (c) 2007, 2009 Javier Fernandez-Sanguino <jfs@debian.org>
|
||||
#
|
||||
# This is free software; you may redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2,
|
||||
# or (at your option) any later version.
|
||||
#
|
||||
# This is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License with
|
||||
# the Debian operating system, in /usr/share/common-licenses/GPL; if
|
||||
# not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
# Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: openvswitch-testcontroller
|
||||
# Required-Start: $network $local_fs $remote_fs
|
||||
# Required-Stop: $remote_fs
|
||||
# Should-Start: $named
|
||||
# Should-Stop:
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Simple OpenFlow controller for testing
|
||||
# Description: This controller enables OpenFlow switches that connect to
|
||||
# it to act as MAC-learning Ethernet switches.
|
||||
### END INIT INFO
|
||||
|
||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||
|
||||
DAEMON=/usr/bin/ovs-testcontroller # Introduce the server's location here
|
||||
NAME=ovs-testcontroller # Introduce the short server's name here
|
||||
DESC=ovs-testcontroller # Introduce a short description here
|
||||
LOGDIR=/var/log/openvswitch # Log directory to use
|
||||
|
||||
PIDFILE=/var/run/openvswitch/$NAME.pid
|
||||
|
||||
test -x $DAEMON || exit 0
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
# Default options, these can be overriden by the information
|
||||
# at /etc/default/openvswitch-testcontroller
|
||||
DAEMON_OPTS="" # Additional options given to the server
|
||||
|
||||
DODTIME=10 # Time to wait for the server to die, in seconds
|
||||
# If this value is set too low you might not
|
||||
# let some servers to die gracefully and
|
||||
# 'restart' will not work
|
||||
|
||||
LOGFILE=$LOGDIR/$NAME.log # Server logfile
|
||||
#DAEMONUSER= # User to run the daemons as. If this value
|
||||
# is set start-stop-daemon will chuid the server
|
||||
|
||||
# Include defaults if available
|
||||
default=/etc/default/openvswitch-testcontroller
|
||||
if [ -f $default ] ; then
|
||||
. $default
|
||||
fi
|
||||
|
||||
# Check that the user exists (if we set a user)
|
||||
# Does the user exist?
|
||||
if [ -n "$DAEMONUSER" ] ; then
|
||||
if getent passwd | grep -q "^$DAEMONUSER:"; then
|
||||
# Obtain the uid and gid
|
||||
DAEMONUID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $3}'`
|
||||
DAEMONGID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $4}'`
|
||||
else
|
||||
log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
set -e
|
||||
|
||||
running_pid() {
|
||||
# Check if a given process pid's cmdline matches a given name
|
||||
pid=$1
|
||||
name=$2
|
||||
[ -z "$pid" ] && return 1
|
||||
[ ! -d /proc/$pid ] && return 1
|
||||
cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
|
||||
# Is this the expected server
|
||||
[ "$cmd" != "$name" ] && return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
running() {
|
||||
# Check if the process is running looking at /proc
|
||||
# (works for all users)
|
||||
|
||||
# No pidfile, probably no daemon present
|
||||
[ ! -f "$PIDFILE" ] && return 1
|
||||
pid=`cat $PIDFILE`
|
||||
running_pid $pid $DAEMON || return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
start_server() {
|
||||
if [ -z "$LISTEN" ]; then
|
||||
echo "$default: No connection methods configured, controller disabled" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -d /var/run/openvswitch ]; then
|
||||
install -d -m 755 -o root -g root /var/run/openvswitch
|
||||
fi
|
||||
|
||||
SSL_OPTS=
|
||||
case $LISTEN in
|
||||
*ssl*)
|
||||
: ${PRIVKEY:=/etc/openvswitch-testcontroller/privkey.pem}
|
||||
: ${CERT:=/etc/openvswitch-testcontroller/cert.pem}
|
||||
: ${CACERT:=/etc/openvswitch-testcontroller/cacert.pem}
|
||||
if test ! -e "$PRIVKEY" || test ! -e "$CERT" ||
|
||||
test ! -e "$CACERT"; then
|
||||
if test ! -e "$PRIVKEY"; then
|
||||
echo "$PRIVKEY: private key missing" >&2
|
||||
fi
|
||||
if test ! -e "$CERT"; then
|
||||
echo "$CERT: certificate for private key missing" >&2
|
||||
fi
|
||||
if test ! -e "$CACERT"; then
|
||||
echo "$CACERT: CA certificate missing" >&2
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
SSL_OPTS="--private-key=$PRIVKEY --certificate=$CERT --ca-cert=$CACERT"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Start the process using the wrapper
|
||||
if [ -z "$DAEMONUSER" ] ; then
|
||||
start-stop-daemon --start --pidfile $PIDFILE \
|
||||
--exec $DAEMON -- --detach --pidfile=$PIDFILE \
|
||||
$LISTEN $DAEMON_OPTS $SSL_OPTS
|
||||
errcode=$?
|
||||
else
|
||||
# if we are using a daemonuser then change the user id
|
||||
start-stop-daemon --start --quiet --pidfile $PIDFILE \
|
||||
--chuid $DAEMONUSER --exec $DAEMON -- \
|
||||
--detach --pidfile=$PIDFILE $LISTEN $DAEMON_OPTS \
|
||||
$SSL_OPTS
|
||||
errcode=$?
|
||||
fi
|
||||
return $errcode
|
||||
}
|
||||
|
||||
stop_server() {
|
||||
# Stop the process using the wrapper
|
||||
if [ -z "$DAEMONUSER" ] ; then
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
--exec $DAEMON
|
||||
errcode=$?
|
||||
else
|
||||
# if we are using a daemonuser then look for process that match
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
--user $DAEMONUSER --exec $DAEMON
|
||||
errcode=$?
|
||||
fi
|
||||
|
||||
return $errcode
|
||||
}
|
||||
|
||||
reload_server() {
|
||||
[ ! -f "$PIDFILE" ] && return 1
|
||||
pid=`cat $PIDFILE` # This is the daemon's pid
|
||||
# Send a SIGHUP
|
||||
kill -1 $pid
|
||||
return $?
|
||||
}
|
||||
|
||||
force_stop() {
|
||||
# Force the process to die killing it manually
|
||||
[ ! -e "$PIDFILE" ] && return
|
||||
if running ; then
|
||||
kill -15 $pid
|
||||
# Is it really dead?
|
||||
sleep "$DODTIME"
|
||||
if running ; then
|
||||
kill -9 $pid
|
||||
sleep "$DODTIME"
|
||||
if running ; then
|
||||
echo "Cannot kill $NAME (pid=$pid)!"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
rm -f $PIDFILE
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
log_daemon_msg "Starting $DESC " "$NAME"
|
||||
# Check if it's running first
|
||||
if running ; then
|
||||
log_progress_msg "apparently already running"
|
||||
log_end_msg 0
|
||||
exit 0
|
||||
fi
|
||||
if start_server && running ; then
|
||||
# It's ok, the server started and is running
|
||||
log_end_msg 0
|
||||
else
|
||||
# Either we could not start it or it is not running
|
||||
# after we did
|
||||
# NOTE: Some servers might die some time after they start,
|
||||
# this code does not try to detect this and might give
|
||||
# a false positive (use 'status' for that)
|
||||
log_end_msg 1
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
log_daemon_msg "Stopping $DESC" "$NAME"
|
||||
if running ; then
|
||||
# Only stop the server if we see it running
|
||||
stop_server
|
||||
log_end_msg $?
|
||||
else
|
||||
# If it's not running don't do anything
|
||||
log_progress_msg "apparently not running"
|
||||
log_end_msg 0
|
||||
exit 0
|
||||
fi
|
||||
;;
|
||||
force-stop)
|
||||
# First try to stop gracefully the program
|
||||
$0 stop
|
||||
if running; then
|
||||
# If it's still running try to kill it more forcefully
|
||||
log_daemon_msg "Stopping (force) $DESC" "$NAME"
|
||||
force_stop
|
||||
log_end_msg $?
|
||||
fi
|
||||
;;
|
||||
restart|force-reload)
|
||||
log_daemon_msg "Restarting $DESC" "$NAME"
|
||||
if running; then
|
||||
stop_server
|
||||
# Wait some sensible amount, some server need this.
|
||||
[ -n "$DODTIME" ] && sleep $DODTIME
|
||||
fi
|
||||
start_server
|
||||
running
|
||||
log_end_msg $?
|
||||
;;
|
||||
status)
|
||||
|
||||
log_daemon_msg "Checking status of $DESC" "$NAME"
|
||||
if running ; then
|
||||
log_progress_msg "running"
|
||||
log_end_msg 0
|
||||
else
|
||||
log_progress_msg "apparently not running"
|
||||
log_end_msg 1
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
# Use this if the daemon cannot reload
|
||||
reload)
|
||||
log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
|
||||
log_warning_msg "cannot re-read the config file (use restart)."
|
||||
;;
|
||||
*)
|
||||
N=/etc/init.d/openvswitch-testcontroller
|
||||
echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
1
debian/openvswitch-testcontroller.install
vendored
Normal file
1
debian/openvswitch-testcontroller.install
vendored
Normal file
@ -0,0 +1 @@
|
||||
usr/bin/ovs-testcontroller
|
1
debian/openvswitch-testcontroller.manpages
vendored
Normal file
1
debian/openvswitch-testcontroller.manpages
vendored
Normal file
@ -0,0 +1 @@
|
||||
_debian/utilities/ovs-testcontroller.8
|
60
debian/openvswitch-testcontroller.postinst
vendored
Executable file
60
debian/openvswitch-testcontroller.postinst
vendored
Executable file
@ -0,0 +1,60 @@
|
||||
#!/bin/sh
|
||||
# postinst script for openvswitch-testcontroller
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> `abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
cd /etc/openvswitch-testcontroller
|
||||
|
||||
# If cacert.pem is a symlink to the old location for cacert.pem,
|
||||
# remove it so that we can symlink it to the new location.
|
||||
if test -h cacert.pem && \
|
||||
test X"`readlink cacert.pem`" = X/usr/share/openvswitch/pki/switchca/cacert.pem; then
|
||||
rm -f cacert.pem
|
||||
fi
|
||||
|
||||
if ! test -e cacert.pem; then
|
||||
ln -s /var/lib/openvswitch/pki/switchca/cacert.pem cacert.pem
|
||||
fi
|
||||
if ! test -e privkey.pem || ! test -e cert.pem; then
|
||||
oldumask=$(umask)
|
||||
umask 077
|
||||
ovs-pki req+sign tmp controller >/dev/null
|
||||
mv tmp-privkey.pem privkey.pem
|
||||
mv tmp-cert.pem cert.pem
|
||||
mv tmp-req.pem req.pem
|
||||
chmod go+r cert.pem req.pem
|
||||
umask $oldumask
|
||||
fi
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
||||
|
44
debian/openvswitch-testcontroller.postrm
vendored
Executable file
44
debian/openvswitch-testcontroller.postrm
vendored
Executable file
@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
# postrm script for openvswitch-testcontroller
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postrm> `remove'
|
||||
# * <postrm> `purge'
|
||||
# * <old-postrm> `upgrade' <new-version>
|
||||
# * <new-postrm> `failed-upgrade' <old-version>
|
||||
# * <new-postrm> `abort-install'
|
||||
# * <new-postrm> `abort-install' <old-version>
|
||||
# * <new-postrm> `abort-upgrade' <old-version>
|
||||
# * <disappearer's-postrm> `disappear' <overwriter>
|
||||
# <overwriter-version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
purge)
|
||||
if cd /etc/openvswitch-testcontroller; then
|
||||
rm -f cacert.pem cert.pem privkey.pem req.pem
|
||||
rm -f tmp-privkey.pem tmp-cert.pem tmp-req.pem
|
||||
fi
|
||||
;;
|
||||
|
||||
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postrm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
40
manpages.mk
40
manpages.mk
@ -84,26 +84,6 @@ lib/common.man:
|
||||
lib/vlog-syn.man:
|
||||
lib/vlog.man:
|
||||
|
||||
tests/test-controller.8: \
|
||||
tests/test-controller.8.in \
|
||||
lib/common.man \
|
||||
lib/daemon.man \
|
||||
lib/ssl-peer-ca-cert.man \
|
||||
lib/ssl.man \
|
||||
lib/unixctl.man \
|
||||
lib/vconn-active.man \
|
||||
lib/vconn-passive.man \
|
||||
lib/vlog.man
|
||||
tests/test-controller.8.in:
|
||||
lib/common.man:
|
||||
lib/daemon.man:
|
||||
lib/ssl-peer-ca-cert.man:
|
||||
lib/ssl.man:
|
||||
lib/unixctl.man:
|
||||
lib/vconn-active.man:
|
||||
lib/vconn-passive.man:
|
||||
lib/vlog.man:
|
||||
|
||||
utilities/bugtool/ovs-bugtool.8: \
|
||||
utilities/bugtool/ovs-bugtool.8.in
|
||||
utilities/bugtool/ovs-bugtool.8.in:
|
||||
@ -190,6 +170,26 @@ lib/common-syn.man:
|
||||
lib/common.man:
|
||||
utilities/ovs-vlan-bugs.man:
|
||||
|
||||
utilities/ovs-testcontroller.8: \
|
||||
utilities/ovs-testcontroller.8.in \
|
||||
lib/common.man \
|
||||
lib/daemon.man \
|
||||
lib/ssl-peer-ca-cert.man \
|
||||
lib/ssl.man \
|
||||
lib/unixctl.man \
|
||||
lib/vconn-active.man \
|
||||
lib/vconn-passive.man \
|
||||
lib/vlog.man
|
||||
utilities/ovs-testcontroller.8.in:
|
||||
lib/common.man:
|
||||
lib/daemon.man:
|
||||
lib/ssl-peer-ca-cert.man:
|
||||
lib/ssl.man:
|
||||
lib/unixctl.man:
|
||||
lib/vconn-active.man:
|
||||
lib/vconn-passive.man:
|
||||
lib/vlog.man:
|
||||
|
||||
utilities/ovs-vlan-bug-workaround.8: \
|
||||
utilities/ovs-vlan-bug-workaround.8.in \
|
||||
lib/common.man \
|
||||
|
@ -179,10 +179,12 @@ systemctl start openvswitch.service
|
||||
/usr/bin/ovs-vsctl
|
||||
/usr/bin/ovsdb-client
|
||||
/usr/bin/ovsdb-tool
|
||||
/usr/bin/ovs-testcontroller
|
||||
/usr/bin/ovs-pki
|
||||
/usr/bin/ovs-test
|
||||
/usr/bin/ovs-l3ping
|
||||
/usr/bin/vtep-ctl
|
||||
%doc /usr/share/man/man8/ovs-testcontroller.8.gz
|
||||
%doc /usr/share/man/man8/ovs-pki.8.gz
|
||||
%doc /usr/share/man/man1/ovsdb-client.1.gz
|
||||
%doc /usr/share/man/man1/ovsdb-server.1.gz
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Spec file for Open vSwitch on Red Hat Enterprise Linux.
|
||||
|
||||
# Copyright (C) 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
|
||||
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc.
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification,
|
||||
# are permitted in any medium without royalty provided the copyright
|
||||
@ -60,6 +60,8 @@ install python/compat/argparse.py $RPM_BUILD_ROOT/usr/share/openvswitch/python
|
||||
|
||||
# Get rid of stuff we don't want to make RPM happy.
|
||||
rm \
|
||||
$RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
|
||||
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
|
||||
$RPM_BUILD_ROOT/usr/bin/ovs-test \
|
||||
$RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
|
||||
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 \
|
||||
|
2
tests/.gitignore
vendored
2
tests/.gitignore
vendored
@ -14,8 +14,6 @@
|
||||
/test-bundle
|
||||
/test-byte-order
|
||||
/test-classifier
|
||||
/test-controller.8
|
||||
/test-controller
|
||||
/test-csum
|
||||
/test-flows
|
||||
/test-hash
|
||||
|
@ -181,13 +181,6 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
|
||||
echo 'm4_define([AT_PACKAGE_BUGREPORT], [$(PACKAGE_BUGREPORT)])'; \
|
||||
} >'$(srcdir)/package.m4'
|
||||
|
||||
noinst_PROGRAMS += tests/test-controller
|
||||
MAN_ROOTS += tests/test-controller.8.in
|
||||
DISTCLEANFILES += tests/test-controller.8
|
||||
noinst_man_MANS += tests/test-controller.8
|
||||
tests_test_controller_SOURCES = tests/test-controller.c
|
||||
tests_test_controller_LDADD = lib/libopenvswitch.la
|
||||
|
||||
noinst_PROGRAMS += tests/test-ovsdb
|
||||
tests_test_ovsdb_SOURCES = \
|
||||
tests/test-ovsdb.c \
|
||||
|
2
utilities/.gitignore
vendored
2
utilities/.gitignore
vendored
@ -8,6 +8,8 @@
|
||||
/ovs-cfg-mod
|
||||
/ovs-cfg-mod.8
|
||||
/ovs-check-dead-ifs
|
||||
/ovs-testcontroller
|
||||
/ovs-testcontroller.8
|
||||
/ovs-ctl
|
||||
/ovs-dpctl
|
||||
/ovs-dpctl.8
|
||||
|
@ -1,5 +1,6 @@
|
||||
bin_PROGRAMS += \
|
||||
utilities/ovs-appctl \
|
||||
utilities/ovs-testcontroller \
|
||||
utilities/ovs-dpctl \
|
||||
utilities/ovs-ofctl \
|
||||
utilities/ovs-vsctl
|
||||
@ -39,6 +40,7 @@ EXTRA_DIST += \
|
||||
MAN_ROOTS += \
|
||||
utilities/ovs-appctl.8.in \
|
||||
utilities/ovs-benchmark.1.in \
|
||||
utilities/ovs-testcontroller.8.in \
|
||||
utilities/ovs-ctl.8 \
|
||||
utilities/ovs-dpctl.8.in \
|
||||
utilities/ovs-dpctl-top.8.in \
|
||||
@ -58,6 +60,7 @@ DISTCLEANFILES += \
|
||||
utilities/ovs-ctl \
|
||||
utilities/ovs-benchmark.1 \
|
||||
utilities/ovs-check-dead-ifs \
|
||||
utilities/ovs-testcontroller.8 \
|
||||
utilities/ovs-dpctl.8 \
|
||||
utilities/ovs-dpctl-top \
|
||||
utilities/ovs-dpctl-top.8 \
|
||||
@ -83,6 +86,7 @@ man_MANS += \
|
||||
utilities/ovs-appctl.8 \
|
||||
utilities/ovs-benchmark.1 \
|
||||
utilities/ovs-ctl.8 \
|
||||
utilities/ovs-testcontroller.8 \
|
||||
utilities/ovs-dpctl.8 \
|
||||
utilities/ovs-dpctl-top.8 \
|
||||
utilities/ovs-l3ping.8 \
|
||||
@ -99,6 +103,9 @@ man_MANS += \
|
||||
utilities_ovs_appctl_SOURCES = utilities/ovs-appctl.c
|
||||
utilities_ovs_appctl_LDADD = lib/libopenvswitch.la
|
||||
|
||||
utilities_ovs_testcontroller_SOURCES = utilities/ovs-testcontroller.c
|
||||
utilities_ovs_testcontroller_LDADD = lib/libopenvswitch.la $(SSL_LIBS)
|
||||
|
||||
utilities_ovs_dpctl_SOURCES = utilities/ovs-dpctl.c
|
||||
utilities_ovs_dpctl_LDADD = lib/libopenvswitch.la
|
||||
|
||||
|
@ -1,38 +1,28 @@
|
||||
.\" -*- nroff -*-
|
||||
.\" -*- nroff -*-
|
||||
.de IQ
|
||||
. br
|
||||
. ns
|
||||
. IP "\\$1"
|
||||
..
|
||||
.TH test\-controller 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
|
||||
.ds PN test\-controller
|
||||
.TH ovs\-testcontroller 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
|
||||
.ds PN ovs\-testcontroller
|
||||
.
|
||||
.SH NAME
|
||||
test\-controller \- simple OpenFlow controller for testing
|
||||
ovs\-testcontroller \- simple OpenFlow controller for testing
|
||||
.
|
||||
.SH SYNOPSIS
|
||||
.B test\-controller
|
||||
.B ovs\-testcontroller
|
||||
[\fIoptions\fR] \fImethod\fR \fB[\fImethod\fR]\&...
|
||||
.
|
||||
.SH DESCRIPTION
|
||||
\fBovs\-testcontroller\fR is a simple OpenFlow controller that manages
|
||||
any number of switches over the OpenFlow protocol, causing them to
|
||||
function as L2 MAC-learning switches or hubs. It is suitable for
|
||||
initial testing of OpenFlow networks. It is not a necessary or
|
||||
desirable part of a production OpenFlow deployment.
|
||||
.PP
|
||||
\fBtest\-controller\fR is a simple OpenFlow controller. It is very
|
||||
easy to set up, so it may be suitable for initial testing of
|
||||
connectivity between an OpenFlow switch and a controller. It may also
|
||||
be useful for developer testing and debugging of some Open vSwitch
|
||||
features.
|
||||
.PP
|
||||
\fBtest\-controller\fR is not a general-purpose OpenFlow controller.
|
||||
It does not make sense to deploy it routinely or in production.
|
||||
\fBtest\-controller\fR does not provide any features that are not
|
||||
built into Open vSwitch, and lacks many that are built in to Open
|
||||
vSwitch, so adding it to an Open vSwitch deployment actually reduces
|
||||
functionality and performance while increasing latency.
|
||||
.PP
|
||||
\fBtest\-controller\fR manages any number of remote switches over
|
||||
OpenFlow protocol, causing them to function as L2 MAC-learning
|
||||
switches or hub. The switches it controls are specified as one or
|
||||
more of the following OpenFlow connection methods:
|
||||
\fBovs\-testcontroller\fR controls one or more OpenFlow switches, specified as
|
||||
one or more of the following OpenFlow connection methods:
|
||||
.
|
||||
.RS
|
||||
.so lib/vconn-passive.man
|
||||
@ -42,7 +32,7 @@ more of the following OpenFlow connection methods:
|
||||
.SH OPTIONS
|
||||
.IP "\fB\-n\fR"
|
||||
.IQ "\fB\-\-noflow\fR"
|
||||
By default, \fBtest\-controller\fR sets up a flow in each OpenFlow switch
|
||||
By default, \fBovs\-testcontroller\fR sets up a flow in each OpenFlow switch
|
||||
whenever it receives a packet whose destination is known due through
|
||||
MAC learning. This option disables flow setup, so that every packet
|
||||
in the network passes through the controller.
|
||||
@ -75,7 +65,7 @@ performance, so it should not be used in production.
|
||||
.
|
||||
.IP "\fB\-w\fR[\fIwildcard_mask\fR]"
|
||||
.IQ "\fB\-\-wildcards\fR[\fB=\fIwildcard_mask\fR]\fR"
|
||||
By default, \fBtest\-controller\fR sets up exact-match flows. This
|
||||
By default, \fBovs\-testcontroller\fR sets up exact-match flows. This
|
||||
option allows it to set up wildcarded flows, which may reduce
|
||||
flow setup latency by causing less traffic to be sent up to the
|
||||
controller.
|
||||
@ -92,7 +82,7 @@ This option has no effect when \fB\-n\fR (or \fB\-\-noflow\fR) is in use
|
||||
.
|
||||
.IP "\fB\-N\fR"
|
||||
.IQ "\fB\-\-normal\fR"
|
||||
By default, \fBtest\-controller\fR directs packets to a particular port
|
||||
By default, \fBovs\-testcontroller\fR directs packets to a particular port
|
||||
or floods them. This option causes it to direct non-flooded packets
|
||||
to the OpenFlow \fBOFPP_NORMAL\fR port. This allows the switch itself
|
||||
to make decisions about packet destinations. Support for
|
||||
@ -100,7 +90,7 @@ to make decisions about packet destinations. Support for
|
||||
with some non-Open vSwitch switches.
|
||||
.
|
||||
.IP "\fB\-\-mute\fR"
|
||||
Prevents test\-controller from replying to any OpenFlow messages sent
|
||||
Prevents ovs\-testcontroller from replying to any OpenFlow messages sent
|
||||
to it by switches.
|
||||
.IP
|
||||
This option is only for debugging the Open vSwitch implementation of
|
||||
@ -108,7 +98,7 @@ This option is only for debugging the Open vSwitch implementation of
|
||||
.
|
||||
.IP "\fB\-q \fIid\fR"
|
||||
.IQ "\fB\-\-queue=\fIid\fR"
|
||||
By default, \fBtest\-controller\fR uses the default OpenFlow queue for
|
||||
By default, \fBovs\-testcontroller\fR uses the default OpenFlow queue for
|
||||
sending packets and setting up flows. Use one of these options,
|
||||
supplying \fIid\fR as an OpenFlow queue ID as a decimal number, to
|
||||
instead use that specific queue.
|
||||
@ -160,7 +150,7 @@ Use this option more than once to add flows from multiple files.
|
||||
To bind locally to port 6633 (the default) and wait for incoming
|
||||
connections from OpenFlow switches:
|
||||
.IP
|
||||
\fB% test\-controller ptcp:\fR
|
||||
\fB% ovs\-testcontroller ptcp:\fR
|
||||
.PP
|
||||
In the future, the default port number will change to 6653, which is the
|
||||
IANA-defined value.
|
||||
@ -170,7 +160,7 @@ Configuring a Citrix XenServer to connect to a particular controller
|
||||
only points the remote OVSDB management connection to that controller.
|
||||
It does not also configure OpenFlow connections, because the manager
|
||||
is expected to do that over the management protocol.
|
||||
\fBtest\-controller\fR is not an Open vSwitch manager and does not know
|
||||
\fBovs\-testcontroller\fR is not an Open vSwitch manager and does not know
|
||||
how to do that.
|
||||
.PP
|
||||
As a stopgap workaround, \fBovs\-vsctl\fR can wait for an OVSDB
|
@ -1,6 +1,6 @@
|
||||
# Spec file for Open vSwitch.
|
||||
|
||||
# Copyright (C) 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
|
||||
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc.
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification,
|
||||
# are permitted in any medium without royalty provided the copyright
|
||||
@ -129,10 +129,12 @@ cp -rf $RPM_BUILD_ROOT/usr/share/openvswitch/bugtool-plugins/* $RPM_BUILD_ROOT/e
|
||||
# Get rid of stuff we don't want to make RPM happy.
|
||||
rm \
|
||||
$RPM_BUILD_ROOT/usr/bin/ovs-benchmark \
|
||||
$RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
|
||||
$RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
|
||||
$RPM_BUILD_ROOT/usr/bin/ovs-pki \
|
||||
$RPM_BUILD_ROOT/usr/bin/ovs-test \
|
||||
$RPM_BUILD_ROOT/usr/share/man/man1/ovs-benchmark.1 \
|
||||
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
|
||||
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \
|
||||
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-pki.8 \
|
||||
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8
|
||||
|
Loading…
x
Reference in New Issue
Block a user