.\" -*- nroff -*-
-.de IQ
-. br
-. ns
-. IP "\\$1"
-..
+.so lib/ovs.tmac
.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
on the local machine.
.PP
The \fIdatabase\fR argument specifies how \fBovs\-vswitchd\fR connects
-to \fBovsdb\-server\fR. The default is \fBunix:@RUNDIR@/db.sock\fR.
-The following forms are accepted:
-.so ovsdb/remote-active.man
-.so ovsdb/remote-passive.man
+to \fBovsdb\-server\fR. \fIdatabase\fR may be an OVSDB active or
+passive connection method, as described in \fBovsdb\fR(7). The
+default is \fBunix:@RUNDIR@/db.sock\fR.
.PP
\fBovs\-vswitchd\fR retrieves its configuration from \fIdatabase\fR at
startup. It sets up Open vSwitch datapaths and then operates
the database changes, \fBovs\-vswitchd\fR automatically updates its
configuration to match.
.PP
-Upon receipt of a SIGHUP signal, \fBovs\-vswitchd\fR reopens its log
-file, if one was specified on the command line.
-.PP
\fBovs\-vswitchd\fR switches may be configured with any of the following
features:
.
A single \fBovs\-vswitchd\fR can manage any number of switch instances, up
to the maximum number of supported Open vSwitch datapaths.
.PP
-\fBovs\-vswitchd\fR does all the necessary management of Open vSwitch datapaths
-itself. Thus, external tools, such \fBovs\-dpctl\fR(8), are not needed for
-managing datapaths in conjunction with \fBovs\-vswitchd\fR, and their use
-to modify datapaths when \fBovs\-vswitchd\fR is running can interfere with
-its operation. (\fBovs\-dpctl\fR may still be useful for diagnostics.)
+\fBovs\-vswitchd\fR does all the necessary management of Open vSwitch
+datapaths itself. Thus, \fBovs\-dpctl\fR(8) (and its userspace
+datapath counterparts accessible via \fBovs\-appctl
+dpctl/\fIcommand\fR) are not needed with \fBovs\-vswitchd\fR and should
+not be used because they can interfere with its operation. These
+tools are still useful for diagnostics.
.PP
An Open vSwitch datapath kernel module must be loaded for \fBovs\-vswitchd\fR
-to be useful. Please refer to the \fBINSTALL.Linux\fR file included in the
-Open vSwitch distribution for instructions on how to build and load
-the Open vSwitch kernel module.
+to be useful. Refer to the documentation for instructions on how to build and
+load the Open vSwitch kernel module.
.PP
.SH OPTIONS
.IP "\fB\-\-mlockall\fR"
\fBovs\-vswitchd\fR emits a log message if \fBmlockall()\fR is
unavailable or unsuccessful.
.
+.SS "DPDK Options"
+For details on initializing the \fBovs\-vswitchd\fR DPDK datapath,
+refer to the documentation or \fBovs\-vswitchd.conf.db\fR(5) for
+details.
+.SS "Daemon Options"
.ds DD \
\fBovs\-vswitchd\fR detaches only after it has connected to the \
database, retrieved the initial configuration, and set up that \
configuration.
.so lib/daemon.man
+.SS "Service Options"
+.so lib/service.man
.SS "Public Key Infrastructure Options"
.so lib/ssl.man
.so lib/ssl-bootstrap.man
+.so lib/ssl-peer-ca-cert.man
+.SS "Logging Options"
.so lib/vlog.man
+.SS "Other Options"
+.so lib/unixctl.man
.so lib/common.man
-.so lib/leak-checker.man
.
.SH "RUNTIME MANAGEMENT COMMANDS"
\fBovs\-appctl\fR(8) can send commands to a running
described below. The command descriptions assume an understanding of
how to configure Open vSwitch.
.SS "GENERAL COMMANDS"
-.IP "\fBexit\fR"
-Causes \fBovs\-vswitchd\fR to gracefully terminate.
+.IP "\fBexit\fR \fI--cleanup\fR"
+Causes \fBovs\-vswitchd\fR to gracefully terminate. If \fI--cleanup\fR
+is specified, release datapath resources configured by \fBovs\-vswitchd\fR.
+Otherwise, datapath flows and other resources remains undeleted.
+.
+.IP "\fBqos/show-types\fR \fIinterface\fR"
+Queries the interface for a list of Quality of Service types that are
+configurable via Open vSwitch for the given \fIinterface\fR.
.IP "\fBqos/show\fR \fIinterface\fR"
Queries the kernel for Quality of Service configuration and statistics
associated with the given \fIinterface\fR.
+.IP "\fBbfd/show\fR [\fIinterface\fR]"
+Displays detailed information about Bidirectional Forwarding Detection
+configured on \fIinterface\fR. If \fIinterface\fR is not specified,
+then displays detailed information about all interfaces with BFD
+enabled.
+.IP "\fBbfd/set-forwarding\fR [\fIinterface\fR] \fIstatus\fR"
+Force the fault status of the BFD module on \fIinterface\fR (or all
+interfaces if none is given) to be \fIstatus\fR. \fIstatus\fR can be
+"true", "false", or "normal" which reverts to the standard behavior.
.IP "\fBcfm/show\fR [\fIinterface\fR]"
Displays detailed information about Connectivity Fault Management
configured on \fIinterface\fR. If \fIinterface\fR is not specified,
.IP "\fBstp/tcn\fR [\fIbridge\fR]"
Forces a topology change event on \fIbridge\fR if it's running STP. This
may cause it to send Topology Change Notifications to its peers and flush
-its MAC table.. If no \fIbridge\fR is given, forces a topology change
+its MAC table. If no \fIbridge\fR is given, forces a topology change
event on all bridges.
+.IP "\fBstp/show\fR [\fIbridge\fR]"
+Displays detailed information about spanning tree on the \fIbridge\fR. If
+\fIbridge\fR is not specified, then displays detailed information about all
+bridges with STP enabled.
+.IP "\fBrstp/tcn\fR [\fIbridge\fR]"
+Forces a topology change event on \fIbridge\fR if it's running RSTP. This
+may cause it to send Topology Change Notifications to its peers and flush
+its MAC table. If no \fIbridge\fR is given, forces a topology change
+event on all bridges.
+.IP "\fBrstp/show\fR [\fIbridge\fR]"
+Displays detailed information about rapid spanning tree on the \fIbridge\fR.
+If \fIbridge\fR is not specified, then displays detailed information about all
+bridges with RSTP enabled.
.SS "BRIDGE COMMANDS"
These commands manage bridges.
.IP "\fBfdb/flush\fR [\fIbridge\fR]"
Lists each MAC address/VLAN pair learned by the specified \fIbridge\fR,
along with the port on which it was learned and the age of the entry,
in seconds.
+.IP "\fBfdb/stats-clear\fR [\fIbridge\fR]"
+Clear \fIbridge\fR MAC address learning table statistics, or all
+statistics if no \fIbridge\fR is given.
+.IP "\fBfdb/stats-show\fR \fIbridge\fR"
+Show MAC address learning table statistics for the specified \fIbridge\fR.
+.IP "\fBmdb/flush\fR [\fIbridge\fR]"
+Flushes \fIbridge\fR multicast snooping table, or all snooping tables
+if no \fIbridge\fR is given.
+.IP "\fBmdb/show\fR \fIbridge\fR"
+Lists each multicast group/VLAN pair learned by the specified \fIbridge\fR,
+along with the port on which it was learned and the age of the entry,
+in seconds.
.IP "\fBbridge/reconnect\fR [\fIbridge\fR]"
Makes \fIbridge\fR drop all of its OpenFlow controller connections and
reconnect. If \fIbridge\fR is not specified, then all bridges drop
then displays detailed information about all interfaces with CFM
enabled.
.
+.IP "\fBlacp/stats-show\fR [\fIport\fR]"
+Lists various stats about LACP PDUs (number of RX/TX PDUs, bad PDUs received)
+and slave state (number of time slave's state expired/defaulted and carrier
+status changed) for the given \fIport\fR. If \fIport\fR is not specified,
+then displays stats of all interfaces with LACP enabled.
+.SS "DPCTL DATAPATH DEBUGGING COMMANDS"
+The primary way to configure \fBovs\-vswitchd\fR is through the Open
+vSwitch database, e.g. using \fBovs\-vsctl\fR(8). These commands
+provide a debugging interface for managing datapaths. They implement
+the same features (and syntax) as \fBovs\-dpctl\fR(8). Unlike
+\fBovs\-dpctl\fR(8), these commands work with datapaths that are
+integrated into \fBovs\-vswitchd\fR (e.g. the \fBnetdev\fR datapath
+type).
+.PP
+.
+.ds DX \fBdpctl/\fR
+.de DO
+\\$2 \\$1 \\$3
+..
+.so lib/dpctl.man
+.
+.so lib/dpif-netdev-unixctl.man
+.so lib/netdev-dpdk-unixctl.man
.so ofproto/ofproto-dpif-unixctl.man
.so ofproto/ofproto-unixctl.man
.so lib/vlog-unixctl.man
.so lib/memory-unixctl.man
.so lib/coverage-unixctl.man
-.so lib/stress-unixctl.man
+.so ofproto/ofproto-tnl-unixctl.man
.
.SH "OPENFLOW IMPLEMENTATION"
.
of time before buffers may be reused.
.
.PP
-Open vSwitch maintain a separate set of 256 packet buffers for each
-OpenFlow connection. Any given packet buffer is preserved until it is
-referenced by an \fBOFPT_FLOW_MOD\fR or \fBOFPT_PACKET_OUT\fR request
-or for 5 seconds, whichever comes first.
+Open vSwitch does not maintains any packet buffers.
+.
+.SS "Bundle lifetime"
+The OpenFlow specification, version 1.4, says:
+.
+.IP
+If the switch does not receive any OFPT_BUNDLE_CONTROL or
+OFPT_BUNDLE_ADD_MESSAGE message for an opened bundle_id for a switch
+defined time greater than 1s, it may send an ofp_error_msg with
+OFPET_BUNDLE_FAILED type and OFPBFC_TIMEOUT code. If the switch does
+not receive any new message in a bundle apart from echo request and
+replies for a switch defined time greater than 1s, it may send an
+ofp_error_msg with OFPET_BUNDLE_FAILED type and OFPBFC_TIMEOUT code.
+.
+.PP
+Open vSwitch implements default idle bundle lifetime of 10 seconds.
+(This is configurable via \fBother-config:bundle-idle-timeout\fR in
+the \fBOpen_vSwitch\fR table. See \fBovs-vswitchd.conf.db\fR(5)
+for details.)
.
.SH "LIMITS"
.
limits assume the use of the Linux kernel datapath.
.
.IP \(bu
-Approximately 256 bridges given the allowance of 5,000 file
-descriptors that \fBovs\-ctl\fR(8) configures. (\fBovs\-vswitchd\fR
-requires 17 file descriptors per datapath.)
-.
-.IP \(bu
-65,280 ports per bridge. Performance will degrade beyond 1,024 ports
-per bridge due to fixed hash table sizing.
+\fBovs\-vswitchd\fR started through \fBovs\-ctl\fR(8) provides a limit of 65535
+file descriptors. The limits on the number of bridges and ports is decided by
+the availability of file descriptors. With the Linux kernel datapath, creation
+of a single bridge consumes three file descriptors and adding a port consumes
+"n-handler-threads" file descriptors per bridge port. Performance will degrade
+beyond 1,024 ports per bridge due to fixed hash table sizing. Other platforms
+may have different limitations.
.
.IP \(bu
2,048 MAC learning entries per bridge, by default. (This is
.
.SH "SEE ALSO"
.BR ovs\-appctl (8),
-.BR ovsdb\-server (1),
-\fBINSTALL.Linux\fR in the Open vSwitch distribution.
+.BR ovsdb\-server (1).