Implement OpenFlow 1.4+ OFPMP_TABLE_DESC message.
[cascardo/ovs.git] / utilities / ovs-ctl.8
index 0e41162..c08c7db 100644 (file)
@@ -22,6 +22,9 @@ ovs\-ctl \- OVS startup helper script
 .br
 \fBovs\-ctl stop
 .br
+\fBovs\-ctl\fR \fB\-\-system\-id=random\fR|\fIuuid\fR
+[\fIoptions\fR] \fBrestart
+.br
 \fBovs\-ctl status
 .br
 \fBovs\-ctl version
@@ -69,41 +72,30 @@ bridge module and tries loading the Open vSwitch kernel module again.
 (This is because the Open vSwitch kernel module cannot coexist with
 the Linux bridge module before 2.6.37.)
 .
-.IP 2.
-If \fB\-\-brcompat\fR was specified, loads the Open vSwitch bridge
-compatibility module.
-.
 .PP
 The \fBstart\fR command skips the following steps if
 \fBovsdb\-server\fR is already running:
-.IP 3.
+.IP 2.
 If the Open vSwitch database file does not exist, it creates it.
 If the database does exist, but it has an obsolete version, it
 upgrades it to the latest schema.
 .
-.IP 4.
+.IP 3.
 Starts \fBovsdb-server\fR.
 .
-.IP 5.
+.IP 4.
 Initializes a few values inside the database.
 .
-.IP 6.
+.IP 5.
 If the \fB\-\-delete\-bridges\fR option was used, deletes all of the
 bridges from the database.
 .
 .PP
 The \fBstart\fR command skips the following step if
 \fBovs\-vswitchd\fR is already running:
-.IP 7.
+.IP 6.
 Starts \fBovs\-vswitchd\fR.
 .
-.PP
-The \fBstart\fR command skips the following step if
-\fBovs\-brcompatd\fR is already running or if \fB\-\-brcompat\fR is
-not specified:
-.IP 8.
-Starts \fBovs\-brcompatd\fR.
-.
 .SS "Options"
 .PP
 Several command-line options influence the \fBstart\fR command's
@@ -124,9 +116,8 @@ ID that persists from one run to another (stored in a file).  When
 another string is specified \fBovs\-ctl\fR uses it literally.
 .
 .PP
-On systems that have the \fBlsb_release\fR program, \fBovs\-ctl\fR
-chooses reasonable defaults for the following options.  Other systems
-should specify values:
+The following options should be specified if the defaults are not
+suitable:
 .
 .IP "\fB\-\-system\-type=\fItype\fR"
 .IQ "\fB\-\-system\-version=\fIversion\fR"
@@ -135,6 +126,11 @@ Sets the value to store in the \fBsystem-type\fR and
 \fBOpen_vSwitch\fR table.  Remote managers may use these values to
 determine the kind of system to which they are connected (primarily
 for display to human administrators).
+.IP
+When not specified, \fBovs\-ctl\fR uses values from the optional
+\fBsystem\-type.conf\fR and \fBsystem\-version.conf\fR files(see section
+\fBFILES\fR) or it uses the \fBlsb_release\fR program, if present, to
+provide reasonable defaults.
 .
 .PP
 The following options are also likely to be useful:
@@ -175,8 +171,38 @@ suppresses that behavior.
 .
 .IP "\fB\-\-ovsdb\-server\-priority=\fIniceness\fR"
 .IQ "\fB\-\-ovs\-vswitchd\-priority=\fIniceness\fR"
-Sets the \fBnice\fR(1) level used for \fBovsdb\-server\fR and
-\fBovs\-vswitchd\fR, respectively.  Both default to \fB\-10\fR.
+Sets the \fBnice\fR(1) level used for each daemon.  All of them
+default to \fB\-10\fR.
+.
+.IP "\fB\-\-ovsdb\-server\-wrapper=\fIwrapper\fR"
+.IQ "\fB\-\-ovs\-vswitchd\-wrapper=\fIwrapper\fR"
+.
+Configures the specified daemon to run under \fIwrapper\fR, which is
+one of the following:
+.
+.RS
+.IP "\fBvalgrind\fR"
+Run the daemon under \fBvalgrind\fR(1), if it is installed, logging to
+\fIdaemon\fB.valgrind.log.\fIpid\fR in the log directory.
+.
+.IP "\fBstrace\fR"
+Run the daemon under \fBstrace\fR(1), if it is installed, logging to
+\fIdaemon\fB.strace.log.\fIpid\fR in the log directory.
+.
+.IP "\fBglibc\fR"
+Enable GNU C library features designed to find memory errors.
+.RE
+.
+.IP
+By default, no wrapper is used.
+.
+.IP
+Each of the wrappers can expose bugs in Open vSwitch that lead to
+incorrect operation, including crashes.  The \fBvalgrind\fR and
+\fBstrace\fR wrappers greatly slow daemon operations so they should
+not be used in production.  They also produce voluminous logs that can
+quickly fill small disk partitions.  The \fBglibc\fR wrapper is less
+resource-intensive but still somewhat slows the daemons.
 .
 .PP
 The following options control file locations.  They should only be
@@ -193,12 +219,13 @@ Overrides the file name for the Unix domain socket used to connect to
 .IP "\fB\-\-db\-schema=\fIschema\fR"
 Overrides the file name for the OVS database schema.
 .
-.SH "The ``stop'' command"
+.IP "\fB\-\-extra-dbs=\fIfile\fR"
+Adds \fIfile\fR as an extra database for \fBovsdb\-server\fR to serve
+out.  Multiple space-separated file names may also be specified.
+\fIfile\fR should begin with \fB/\fR; if it does not, then it will be
+taken as relative to \fIdbdir\fR.
 .
-.PP
-The \fBstop\fR command shuts down Open vSwitch.  It kills any running
-\fBovs\-brcompatd\fR, \fBovs\-vswitchd\fR, or \fBovsdb\-server\fR
-daemons and waits for them to terminate.
+.SH "The ``stop'' command"
 .
 .PP
 The \fBstop\fR command does not unload the Open vSwitch kernel
@@ -208,21 +235,27 @@ modules.
 This command does nothing and finishes successfully if the OVS daemons
 aren't running.
 .
+.SH "The ``restart'' command"
+.
+.PP
+The \fBrestart\fR command performs a \fBstop\fR followed by a \fBstart\fR
+command.  The command can take the same options as that of the \fBstart\fR
+command. In addition, it saves and restores OpenFlow flows for each
+individual bridge.
+.
 .SH "The ``status'' command"
 .
 .PP
 The \fBstatus\fR command checks whether the OVS daemons
 \fBovs-vswitchd\fR and \fBovsdb\-server\fR are running and prints
-messages with that information.  If \fB\-\-brcompat\fR is specified,
-it also checks for \fBovs\-brcompatd\fR.  It exits with status 0 if
+messages with that information.  It exits with status 0 if
 the daemons are running, 1 otherwise.
 .
 .SH "The ``version'' command"
 .
 .PP
 The \fBversion\fR command runs \fBovsdb\-server \-\-version\fR and
-\fBovs\-vswitchd \-\-version\fR.  If \fB\-\-brcompat\fR is specified,
-it also runs \fBovs\-brcompatd \-\-version\fR.
+\fBovs\-vswitchd \-\-version\fR.
 .
 .SH "The ``force\-reload\-kmod'' command"
 .
@@ -237,31 +270,38 @@ implemented by Open vSwitch.  The most common examples of these are
 bridge ``local ports''.
 .
 .IP 2.
+Saves the OpenFlow flows of each bridge.
+.
+.IP 3.
 Stops the Open vSwitch daemons, as if by a call to \fBovs\-ctl
 stop\fR.
 .
-.IP 3.
+.IP 4.
 Saves the kernel configuration state of the OVS internal interfaces
 listed in step 1, including IP and IPv6 addresses and routing table
 entries.
 .
-.IP 4.
+.IP 5.
 Unloads the Open vSwitch kernel module (including the bridge
 compatibility module if it is loaded).
 .
-.IP 5.
+.IP 6.
 Starts OVS back up, as if by a call to \fBovs\-ctl start\fR.  This
-reloads the kernel module and restarts the OVS daemons (including
-\fBovs\-brcompatd\fR, if \fB\-\-brcompat\fR is specified).
+reloads the kernel module, restarts the OVS daemons and finally
+restores the saved OpenFlow flows.
 .
-.IP 6.
-Restores the kernel configuration state that was saved in step 3.
+.IP 7.
+Restores the kernel configuration state that was saved in step 4.
 .
-.PP
-The steps above are often enough to hot-upgrade a new kernel module
-with only a few seconds of downtime.  DHCP is a common problem: if the
-ISC DHCP client is running on an OVS internal interface, then it will
-have to be restarted after completing the above procedure.
+.IP 8.
+Checks for daemons that may need to be restarted because they have
+packet sockets that are listening on old instances of Open vSwitch
+kernel interfaces and, if it finds any, prints a warning on stdout.
+DHCP is a common example: if the ISC DHCP client is running on an OVS
+internal interface, then it will have to be restarted after completing
+the above procedure.  (It would be nice if \fBovs\-ctl\fR could restart
+daemons automatically, but the details are far too specific to a
+particular distribution and installation.)
 .
 .PP
 \fBforce\-kmod\-reload\fR internally stops and starts OVS, so it
@@ -278,8 +318,7 @@ from other errors that may occur when running the \fBstart\fR command.
 .
 .PP
 By default the \fBload\-kmod\fR command attempts to load the
-openvswitch_mod kernel module. If the \fB\-\-brcompat\fR option is
-specified then the brcompat_mod kernel module is also loaded.
+openvswitch kernel module.
 .
 .SH "The ``enable\-protocol'' command"
 .
@@ -332,16 +371,6 @@ Prints a usage message and exits successfully.
 In addition to the options listed for each command above, this option
 controls the behavior of several of \fBovs\-ctl\fR's commands.
 .
-.IP "\fB\-\-brcompat\fR"
-By default, \fBovs\-ctl\fR does not load the Open vSwitch bridge
-compatibility module and does not start or check the status or report
-the version of the \fBovs\-brcompatd\fR daemon.  This option enables
-all of those behaviors.
-.
-.IP
-The \fBstop\fR command always stops \fBovs\-brcompatd\fR, if it is
-running, regardless of this option.
-.
 .SH "EXIT STATUS"
 .
 \fBovs\-ctl\fR exits with status 0 on success and nonzero on failure.
@@ -361,6 +390,7 @@ that it runs.  \fBovs\-ctl\fR will add the \fIsbindir\fR and
 .
 .IP "\fBOVS_LOGDIR\fR"
 .IQ "\fBOVS_RUNDIR\fR"
+.IQ "\fBOVS_DBDIR\fR"
 .IQ "\fBOVS_SYSCONFDIR\fR"
 .IQ "\fBOVS_PKGDATADIR\fR"
 .IQ "\fBOVS_BINDIR\fR"
@@ -373,7 +403,7 @@ for the other Open vSwitch programs that it runs.
 .
 \fBovs\-ctl\fR uses the following files:
 .
-.IP "\fBovs\-lib.sh"
+.IP "\fBovs\-lib"
 Shell function library used internally by \fBovs\-ctl\fR.  It must be
 installed in the same directory as \fBovs\-ctl\fR.
 .
@@ -388,7 +418,7 @@ process ID.
 The OVS database schema used to initialize the database (use
 \fB\-\-db\-schema to override this location).
 .
-.IP "\fIsysconfdir\fB/openvswitch/conf.db\fR"
+.IP "\fIdbdir\fB/conf.db\fR"
 The OVS database (use \fB\-\-db\-file\fR to override this location).
 .
 .IP "\fIrundir\fB/openvswitch/db.sock\fR"
@@ -400,6 +430,11 @@ location).
 The persistent system UUID created and read by
 \fB\-\-system\-id=random\fR.
 .
+.IP "\fIsysconfdir\fB/openvswitch/system\-type.conf\fR"
+.IQ "\fIsysconfdir\fB/openvswitch/system\-version.conf\fR"
+The \fBsystem\-type\fR  and \fBsystem\-version\fR values stored in the database's
+\fBOpen_vSwitch\fR table when not specified as a command-line option.
+.
 .SH "EXAMPLE"
 .
 .PP
@@ -409,5 +444,5 @@ distribution are good examples of how to use \fBovs\-ctl\fR.
 .
 .SH "SEE ALSO"
 .
-\fBREADME\fR, \fBINSTALL.Linux\fR, \fBovsdb\-server\fR(8),
+\fBREADME.md\fR, \fBINSTALL.Linux.md\fR, \fBovsdb\-server\fR(8),
 \fBovs\-vswitchd\fR(8).