2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-22 01:51:26 +00:00

ovs-controller: Rename test-controller and do not install or package.

Too many users have incorrectly assumed that ovs-controller is a necessary
or desirable part of an Open vSwitch deployment.  This commit should fix
the problem by renaming it test-controller and removing it from the
default install and from packaging.

Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
Ben Pfaff 2013-10-11 16:24:41 -07:00
parent 19c8e9c11b
commit 1d5aaa61fa
36 changed files with 75 additions and 533 deletions

7
FAQ
View File

@ -89,10 +89,9 @@ A: Distributed vswitch applications (e.g., VMware vNetwork distributed
environments: OpenFlow, which exposes flow-based forwarding state,
and the OVSDB management protocol, which exposes switch port state.
In addition to the switch implementation itself, Open vSwitch
includes tools (ovs-controller, ovs-ofctl, ovs-vsctl) that developers
can script and extend to provide distributed vswitch capabilities
that are closely integrated with their virtualization management
platform.
includes tools (ovs-ofctl, ovs-vsctl) that developers can script and
extend to provide distributed vswitch capabilities that are closely
integrated with their virtualization management platform.
Q: Why doesn't Open vSwitch support distribution?

View File

@ -115,7 +115,7 @@ 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 ovs-controller,
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.

View File

@ -167,7 +167,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 ovs-controller(8) for more information on this topic.
of test-controller(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

4
NEWS
View File

@ -11,6 +11,10 @@ Post-v2.0.0
- Support for Linux kernels up to 3.11
- ovs-dpctl:
The "show" command also displays mega flow mask stats.
- ovs-controller has been renamed test-controller. It is no longer
packaged or installed by default, because too many users assumed
incorrectly that ovs-controller was a necessary or desirable part
of an Open vSwitch deployment.
v2.0.0 - 15 Oct 2013

2
README
View File

@ -69,8 +69,6 @@ The main components of this distribution are:
Open vSwitch also provides some tools:
* ovs-controller, a simple OpenFlow controller.
* ovs-ofctl, a utility for querying and controlling OpenFlow
switches and controllers.

1
debian/.gitignore vendored
View File

@ -8,7 +8,6 @@
/openvswitch
/openvswitch-common
/openvswitch-common.copyright
/openvswitch-controller
/openvswitch-datapath-source
/openvswitch-datapath-dkms
/openvswitch-dbg

8
debian/automake.mk vendored
View File

@ -11,14 +11,6 @@ EXTRA_DIST += \
debian/openvswitch-common.docs \
debian/openvswitch-common.install \
debian/openvswitch-common.manpages \
debian/openvswitch-controller.README.Debian \
debian/openvswitch-controller.default \
debian/openvswitch-controller.dirs \
debian/openvswitch-controller.init \
debian/openvswitch-controller.install \
debian/openvswitch-controller.manpages \
debian/openvswitch-controller.postinst \
debian/openvswitch-controller.postrm \
debian/openvswitch-datapath-module-_KVERS_.postinst.modules.in \
debian/openvswitch-datapath-dkms.postinst \
debian/openvswitch-datapath-dkms.prerm \

5
debian/changelog vendored
View File

@ -1,7 +1,10 @@
openvswitch (2.0.90-1) unstable; urgency=low
[ Open vSwitch team ]
* The openvswitch-controller package has been removed, because too many
users assumed incorrectly that ovs-controller was a necessary or
desirable part of an Open vSwitch deployment.
* New upstream version
- Nothing yet! Try NEWS...
- Try NEWS for more details...
-- Open vSwitch team <dev@openvswitch.org> Wed, 28 Aug 2013 16:17:38 -0700

21
debian/control vendored
View File

@ -60,8 +60,7 @@ 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
and openvswitch-controller.
openvswitch-common provides components required by both openvswitch-switch.
Package: openvswitch-switch
Architecture: linux-any
@ -118,30 +117,12 @@ 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-controller
Architecture: linux-any
Depends:
${shlibs:Depends}, openvswitch-common (= ${binary:Version}),
openvswitch-pki (= ${source:Version}), ${misc:Depends}
Description: Open vSwitch controller implementation
Open vSwitch is a production quality, multilayer, software-based,
Ethernet virtual switch. It is designed to enable massive network
automation through programmatic extension, while still supporting
standard management interfaces and protocols (e.g. NetFlow, IPFIX,
sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
to support distribution across multiple physical servers similar to
VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
.
The Open vSwitch controller enables OpenFlow switches that connect to it
to act as MAC-learning Ethernet switches.
Package: openvswitch-dbg
Section: debug
Architecture: linux-any
Depends:
${shlibs:Depends}, ${misc:Depends},
openvswitch-common (= ${binary:Version}),
openvswitch-controller (= ${binary:Version}),
openvswitch-switch (= ${binary:Version})
Description: Debug symbols for Open vSwitch packages
Open vSwitch is a production quality, multilayer, software-based,

View File

@ -1,7 +0,0 @@
README.Debian for openvswitch-controller
-------------------------------------
* To (re)configure the controller, edit /etc/default/openvswitch-controller
and run "/etc/init.d/openvswitch-controller restart".
-- Ben Pfaff <blp@nicira.com>, Fri, 4 Mar 2011 14:28:53 -0800

View File

@ -1,29 +0,0 @@
# 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-controller/privkey.pem
# CERT: Name of file containing certificate for private key.
# Required if SSL enabled.
CERT=/etc/openvswitch-controller/cert.pem
# CACERT: Name of file containing switch CA certificate.
# Required if SSL enabled.
CACERT=/etc/openvswitch-controller/cacert.pem
# Additional options to pass to controller, e.g. "--hub"
DAEMON_OPTS=""

View File

@ -1 +0,0 @@
etc/openvswitch-controller

View File

@ -1,278 +0,0 @@
#!/bin/sh
#
# Copyright (c) 2011 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-controller
# 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: Open vSwitch controller
# Description: The Open vSwitch 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-controller # Introduce the server's location here
NAME=ovs-controller # Introduce the short server's name here
DESC=ovs-controller # 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-controller
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-controller
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-controller/privkey.pem}
: ${CERT:=/etc/openvswitch-controller/cert.pem}
: ${CACERT:=/etc/openvswitch-controller/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-controller
echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0

View File

@ -1 +0,0 @@
usr/bin/ovs-controller

View File

@ -1 +0,0 @@
_debian/utilities/ovs-controller.8

View File

@ -1,60 +0,0 @@
#!/bin/sh
# postinst script for openvswitch-controller
#
# 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-controller
# 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

View File

@ -1,44 +0,0 @@
#!/bin/sh
# postrm script for openvswitch-controller
#
# 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-controller; 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

View File

@ -14,9 +14,7 @@ for bootstrapping.
.IP
This option is only useful if the SSL peer sends its CA certificate as
part of the SSL certificate chain. The SSL protocol does not require
the server to send the CA certificate, but
\fB\*(SN\fR(8) can be configured to do so with the
\fB\-\-peer\-ca\-cert\fR option.
the server to send the CA certificate.
.IP
This option is mutually exclusive with \fB\-C\fR and
\fB\-\-ca\-cert\fR.

View File

@ -80,6 +80,26 @@ 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:
@ -96,26 +116,6 @@ utilities/ovs-benchmark.1: \
utilities/ovs-benchmark.1.in:
lib/ovs.tmac:
utilities/ovs-controller.8: \
utilities/ovs-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/ovs-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/ovs-dpctl-top.8: \
utilities/ovs-dpctl-top.8.in
utilities/ovs-dpctl-top.8.in:

View File

@ -8,8 +8,6 @@
.TH ovsdb\-client 1 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
.\" This program's name:
.ds PN ovsdb\-client
.\" SSL peer program's name:
.ds SN ovsdb\-server
.
.SH NAME
ovsdb\-client \- command-line interface to \fBovsdb-server\fR(1)

View File

@ -7,8 +7,6 @@
.TH ovsdb\-server 1 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
.\" This program's name:
.ds PN ovsdb\-server
.\" SSL peer program's name:
.ds SN ovsdb\-client
.
.SH NAME
ovsdb\-server \- Open vSwitch database server

View File

@ -157,12 +157,10 @@ systemctl start openvswitch.service
/usr/bin/ovs-vsctl
/usr/bin/ovsdb-client
/usr/bin/ovsdb-tool
/usr/bin/ovs-controller
/usr/bin/ovs-pki
/usr/bin/ovs-test
/usr/bin/ovs-l3ping
/usr/bin/vtep-ctl
%doc /usr/share/man/man8/ovs-controller.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

View File

@ -56,8 +56,6 @@ 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-controller \
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-controller.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
View File

@ -13,6 +13,8 @@
/test-bundle
/test-byte-order
/test-classifier
/test-controller.8
/test-controller
/test-csum
/test-file_name
/test-flows

View File

@ -190,6 +190,13 @@ noinst_PROGRAMS += tests/test-classifier
tests_test_classifier_SOURCES = tests/test-classifier.c
tests_test_classifier_LDADD = lib/libopenvswitch.a $(SSL_LIBS)
noinst_PROGRAMS += tests/test-controller
MAN_ROOTS += tests/test-controller.8.in
DISTCLEANFILES += utilities/test-controller.8
noinst_man_MANS += tests/test-controller.8
tests_test_controller_SOURCES = tests/test-controller.c
tests_test_controller_LDADD = lib/libopenvswitch.a $(SSL_LIBS)
noinst_PROGRAMS += tests/test-csum
tests_test_csum_SOURCES = tests/test-csum.c
tests_test_csum_LDADD = lib/libopenvswitch.a $(SSL_LIBS)

View File

@ -1,25 +1,38 @@
.\" -*- nroff -*-
.\" -*- nroff -*-
.de IQ
. br
. ns
. IP "\\$1"
..
.TH ovs\-controller 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
.ds PN ovs\-controller
.TH test\-controller 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
.ds PN test\-controller
.
.SH NAME
ovs\-controller \- simple OpenFlow controller reference implementation
test\-controller \- simple OpenFlow controller for testing
.
.SH SYNOPSIS
.B ovs\-controller
.B test\-controller
[\fIoptions\fR] \fImethod\fR \fB[\fImethod\fR]\&...
.
.SH DESCRIPTION
\fBovs\-controller\fR manages any number of remote switches over OpenFlow
protocol, causing them to function as L2 MAC-learning switches or hub.
.PP
\fBovs\-controller\fR controls one or more OpenFlow switches, specified as
one or more of the following OpenFlow connection methods:
\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:
.
.RS
.so lib/vconn-passive.man
@ -29,7 +42,7 @@ one or more of the following OpenFlow connection methods:
.SH OPTIONS
.IP "\fB\-n\fR"
.IQ "\fB\-\-noflow\fR"
By default, \fBovs\-controller\fR sets up a flow in each OpenFlow switch
By default, \fBtest\-controller\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.
@ -62,7 +75,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, \fBovs\-controller\fR sets up exact-match flows. This
By default, \fBtest\-controller\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.
@ -79,7 +92,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, \fBovs\-controller\fR directs packets to a particular port
By default, \fBtest\-controller\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
@ -87,7 +100,7 @@ to make decisions about packet destinations. Support for
with some non-Open vSwitch switches.
.
.IP "\fB\-\-mute\fR"
Prevents ovs\-controller from replying to any OpenFlow messages sent
Prevents test\-controller from replying to any OpenFlow messages sent
to it by switches.
.IP
This option is only for debugging the Open vSwitch implementation of
@ -95,7 +108,7 @@ This option is only for debugging the Open vSwitch implementation of
.
.IP "\fB\-q \fIid\fR"
.IQ "\fB\-\-queue=\fIid\fR"
By default, \fBovs\-controller\fR uses the default OpenFlow queue for
By default, \fBtest\-controller\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.
@ -147,7 +160,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% ovs\-controller ptcp:\fR
\fB% test\-controller ptcp:\fR
.PP
In the future, the default port number will change to 6653, which is the
IANA-defined value.
@ -157,7 +170,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.
\fBovs\-controller\fR is not an Open vSwitch manager and does not know
\fBtest\-controller\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

View File

@ -8,8 +8,6 @@
/ovs-cfg-mod
/ovs-cfg-mod.8
/ovs-check-dead-ifs
/ovs-controller
/ovs-controller.8
/ovs-ctl
/ovs-dpctl
/ovs-dpctl.8

View File

@ -1,6 +1,5 @@
bin_PROGRAMS += \
utilities/ovs-appctl \
utilities/ovs-controller \
utilities/ovs-dpctl \
utilities/ovs-ofctl \
utilities/ovs-vsctl
@ -38,7 +37,6 @@ EXTRA_DIST += \
MAN_ROOTS += \
utilities/ovs-appctl.8.in \
utilities/ovs-benchmark.1.in \
utilities/ovs-controller.8.in \
utilities/ovs-ctl.8 \
utilities/ovs-dpctl.8.in \
utilities/ovs-dpctl-top.8.in \
@ -58,7 +56,6 @@ DISTCLEANFILES += \
utilities/ovs-ctl \
utilities/ovs-benchmark.1 \
utilities/ovs-check-dead-ifs \
utilities/ovs-controller.8 \
utilities/ovs-dpctl.8 \
utilities/ovs-dpctl-top \
utilities/ovs-dpctl-top.8 \
@ -83,7 +80,6 @@ DISTCLEANFILES += \
man_MANS += \
utilities/ovs-appctl.8 \
utilities/ovs-benchmark.1 \
utilities/ovs-controller.8 \
utilities/ovs-dpctl.8 \
utilities/ovs-dpctl-top.8 \
utilities/ovs-l3ping.8 \
@ -101,9 +97,6 @@ dist_man_MANS += utilities/ovs-ctl.8
utilities_ovs_appctl_SOURCES = utilities/ovs-appctl.c
utilities_ovs_appctl_LDADD = lib/libopenvswitch.a $(SSL_LIBS)
utilities_ovs_controller_SOURCES = utilities/ovs-controller.c
utilities_ovs_controller_LDADD = lib/libopenvswitch.a $(SSL_LIBS)
utilities_ovs_dpctl_SOURCES = utilities/ovs-dpctl.c
utilities_ovs_dpctl_LDADD = lib/libopenvswitch.a $(SSL_LIBS)

View File

@ -14,7 +14,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Copyright (c) 2005, 2007 XenSource Ltd.
# Copyright (c) 2010, 2011, 2012 Nicira, Inc.
# Copyright (c) 2010, 2011, 2012, 2013 Nicira, Inc.
#
# To add new entries to the bugtool, you need to:
@ -111,7 +111,6 @@ DHCP_LEASE_DIR = ['/var/lib/dhclient', '/var/lib/dhcp3']
OPENVSWITCH_LOG_DIR = '@LOGDIR@/'
OPENVSWITCH_DEFAULT_SWITCH = '/etc/default/openvswitch-switch' # Debian
OPENVSWITCH_SYSCONFIG_SWITCH = '/etc/sysconfig/openvswitch' # RHEL
OPENVSWITCH_DEFAULT_CONTROLLER = '/etc/default/openvswitch-controller'
OPENVSWITCH_CONF_DB = '@DBDIR@/conf.db'
OPENVSWITCH_COMPACT_DB = '@DBDIR@/bugtool-compact-conf.db'
OPENVSWITCH_VSWITCHD_PID = '@RUNDIR@/ovs-vswitchd.pid'

View File

@ -2029,6 +2029,5 @@ Prints the flow entries in the switch.
.SH "SEE ALSO"
.
.BR ovs\-appctl (8),
.BR ovs\-controller (8),
.BR ovs\-vswitchd (8)
.BR ovs\-vswitchd.conf.db (8)

View File

@ -236,7 +236,3 @@ Sets the log file to \fIfile\fR. Default:
.IP "\fB\-h\fR"
.IQ "\fB\-\^\-help\fR"
Prints a help usage message and exits.
.SH "SEE ALSO"
.BR ovs\-controller (8).

View File

@ -13,8 +13,6 @@
.TH ovs\-vsctl 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
.\" This program's name:
.ds PN ovs\-vsctl
.\" SSL peer program's name:
.ds SN ovsdb\-server
.
.SH NAME
ovs\-vsctl \- utility for querying and configuring \fBovs\-vswitchd\fR
@ -468,9 +466,7 @@ for bootstrapping.
.PP
This option is only useful if the controller sends its CA certificate
as part of the SSL certificate chain. The SSL protocol does not
require the controller to send the CA certificate, but
\fBovs\-controller\fR(8) can be configured to do so with the
\fB\-\-peer\-ca\-cert\fR option.
require the controller to send the CA certificate.
.
.SS "Database Commands"
.

View File

@ -7,8 +7,6 @@
.TH ovs\-vswitchd 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
.\" This program's name:
.ds PN ovs\-vswitchd
.\" SSL peer program's name:
.ds SN ovs\-controller
.
.SH NAME
ovs\-vswitchd \- Open vSwitch daemon

View File

@ -13,8 +13,6 @@
.TH vtep\-ctl 8 "March 2013" "Open vSwitch" "Open vSwitch Manual"
.\" This program's name:
.ds PN vtep\-ctl
.\" SSL peer program's name:
.ds SN ovsdb\-server
.
.SH NAME
vtep\-ctl \- utility for querying and configuring a VTEP database

View File

@ -123,12 +123,10 @@ 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-controller \
$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-controller.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