+.\" -*- nroff -*-
+.de IQ
+. br
+. ns
+. IP "\\$1"
+..
.TH ovs\-vswitchd 8 "June 2009" "Open vSwitch" "Open vSwitch Manual"
.ds PN ovs\-vswitchd
.
.
.SH SYNOPSIS
.B ovs\-vswitchd
-\fIconfig\fR
+\fIdatabase\fR
.
.SH DESCRIPTION
A daemon that manages and controls any number of Open vSwitch switches
on the local machine.
.PP
-The mandatory \fIconfig\fR argument specifies a configuration file.
-For a description of \fBovs\-vswitchd\fR configuration syntax, see
-\fBovs\-vswitchd.conf\fR(5).
+The mandatory \fIdatabase\fR argument specifies the
+\fBovsdb\-server\fR from which \fBovs\-vswitchd\fR's configuration
+should be retrieved. It takes one of the following forms:
+.IP "\fBtcp:\fIip\fB:\fIport\fR"
+Connect to the given TCP \fIport\fR on \fIip\fR.
+.IP "\fBunix:\fIfile\fR"
+Connect to the Unix domain server socket named \fIfile\fR.
.PP
-At startup or upon receipt of a \fBSIGHUP\fR signal, \fBovs\-vswitchd\fR
-reads the configuration file. It sets up Open vSwitch datapaths and then
-operates switching across each bridge described in its configuration
-files. If a logfile was specified on the command line it will also
-be opened or reopened.
+\fBovs\-vswitchd\fR retrieves its configuration from \fIdatabase\fR at
+startup. It sets up Open vSwitch datapaths and then operates
+switching across each bridge described in its configuration files. As
+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:
.so lib/common.man
.so lib/leak-checker.man
.
-.SH "BUGS"
+.SH "RUNTIME MANAGEMENT COMMANDS"
+\fBovs\-appctl\fR(8) can send commands to a running
+\fBovs\-vswitchd\fR process. The currently supported commands are
+described below. The command descriptions assume an understanding of
+how to configure Open vSwitch.
+.SS "BRIDGE COMMANDS"
+These commands manage bridges.
+.IP "\fBfdb/show\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.
.
-Only Open vSwitch kernel-based datapaths are currently supported. In the
-future, this restriction may be lifted.
-.PP
-Only Linux 2.6.\fIx\fR is currently supported.
+.IP "\fBbridge/dump-flows\fR \fIbridge\fR"
+Lists all flows in \fIbridge\fR, including those normally hidden to
+commands such as \fBovs-ofctl dump-flows\fR. Flows set up by mechanisms
+such as in-band control and fail-open are hidden from the controller
+since it is not allowed to modify or override them.
+.SS "BOND COMMANDS"
+These commands manage bonded ports on an Open vSwitch's bridges. To
+understand some of these commands, it is important to understand a
+detail of the bonding implementation called ``MAC hashing.'' Instead
+of directly assigning Ethernet source addresses to slaves, the bonding
+implementation computes a function that maps an 48-bit Ethernet source
+addresses into an 8-bit value (a ``MAC hash'' value). All of the
+Ethernet addresses that map to a single 8-bit value are then assigned
+to a single slave.
+.IP "\fBbond/list\fR"
+Lists all of the bonds, and their slaves, on each bridge.
+.
+.IP "\fBbond/show\fR \fIport\fR"
+Lists all of the bond-specific information about the given bonded
+\fIport\fR: updelay, downdelay, time until the next rebalance. Also
+lists information about each slave: whether it is enabled or disabled,
+the time to completion of an updelay or downdelay if one is in
+progress, whether it is the active slave, the MAC hashes assigned to
+the slave, and the MAC learning table entries that hash to each MAC.
+.IP "\fBbond/migrate\fR \fIport\fR \fIhash\fR \fIslave\fR"
+Assigns a given MAC hash to a new slave. \fIport\fR specifies the
+bond port, \fIhash\fR either the MAC hash to be migrated (as a decimal
+number between 0 and 255) or an Ethernet address to be hashed, and
+\fIslave\fR the new slave to be assigned.
+.IP
+The reassignment is not permanent: rebalancing or fail-over will
+cause the MAC hash to be shifted to a new slave in the usual
+manner.
+.IP
+A MAC hash cannot be migrated to a disabled slave.
+.IP "\fBbond/set-active-slave\fR \fIport\fR \fIslave\fR"
+Sets \fIslave\fR as the active slave on \fIport\fR. \fIslave\fR must
+currently be enabled.
+.IP
+The setting is not permanent: a new active slave will be selected
+if \fIslave\fR becomes disabled.
+.IP "\fBbond/enable-slave\fR \fIport\fR \fIslave\fR"
+.IQ "\fBbond/disable-slave\fR \fIport\fR \fIslave\fR"
+Enables (or disables) \fIslave\fR on the given bond \fIport\fR, skipping any
+updelay (or downdelay).
+.IP
+This setting is not permanent: it persists only until the carrier
+status of \fIslave\fR changes.
+.IP "\fBbond/hash\fR \fImac\fR"
+Returns the hash value which would be used for \fImac\fR.
.
+.so lib/vlog-unixctl.man
.SH "SEE ALSO"
.BR ovs\-appctl (8),
-.BR ovs\-vswitchd.conf (5),
.BR ovs\-brcompatd (8),
+.BR ovsdb\-server (1),
\fBINSTALL.Linux\fR in the Open vSwitch distribution.