.
.SH SYNOPSIS
.B ovs\-openflowd
-[\fIoptions\fR] \fIdatapath\fR [\fIcontroller\fR\&...]
+[\fIoptions\fR] \fIdatapath\fR \fIcontroller\fR\&...
.
.SH DESCRIPTION
The \fBovs\-openflowd\fR program implements an OpenFlow switch using a
For a more powerful alternative to \fBovs\-openflowd\fR, see
\fBovs\-vswitchd\fR(8). Do not run both daemons at the same time.
.PP
-The mandatory \fIdatapath\fR argument argument specifies the local datapath
-to relay. It takes one of the following forms:
-.
-.so lib/dpif.man
+The mandatory \fIdatapath\fR argument argument specifies the local
+datapath to relay. It takes the form [\fItype\fB@\fR]\fIname\fR,
+where \fIname\fR is the network device associated with the datapath's
+local port. If \fItype\fR is given, it specifies the datapath
+provider of \fIname\fR, otherwise the default provider \fBsystem\fR is
+assumed.
.
.PP
The optional \fIcontroller\fR arguments specify how to connect to the
controllers are themselves designed to coordinate with each other.
(The Nicira-defined \fBNXT_ROLE\fR OpenFlow vendor extension may be
useful for this.)
-.PP
-If no \fIcontroller\fR is specified, \fBovs\-openflowd\fR attempts to
-discover the location of a controller automatically (see below).
.
.SS "Contacting Controllers"
The OpenFlow switch must be able to contact the OpenFlow controllers
.IP
In-band control is the default for \fBovs\-openflowd\fR, so no special
command-line option is required.
-.IP
-With in-band control, the location of the controller can be configured
-manually or discovered automatically:
-.
-.RS
-.IP "controller discovery"
-To make \fBovs\-openflowd\fR discover the location of the controller
-automatically, do not specify a controller on the \fBovs\-openflowd\fR
-command line.
-.IP
-In this mode, \fBovs\-openflowd\fR will broadcast a DHCP request with vendor
-class identifier \fBOpenFlow\fR across the network devices added to
-the datapath with \fBovs\-dpctl add\-if\fR. It will accept any valid DHCP
-reply that has the same vendor class identifier and includes a
-vendor-specific option with code 1 whose contents are a string
-specifying the location of the controller in the same format used on
-the \fBovs\-openflowd\fR command line (e.g. \fBssl:192.168.0.1\fR).
-.IP
-The DHCP reply may also, optionally, include a vendor-specific option
-with code 2 whose contents are a string specifying the URI to the base
-of the OpenFlow PKI (e.g. \fBhttp://192.168.0.1/openflow/pki\fR).
-This URI is used only for bootstrapping the OpenFlow PKI at initial
-switch setup; \fBovs\-openflowd\fR does not use it at all.
-.IP
-The following ISC DHCP server configuration file assigns the IP
-address range 192.168.0.20 through 192.168.0.30 to OpenFlow switches
-that follow the switch protocol and addresses 192.168.0.1 through
-192.168.0.10 to all other DHCP clients:
-.IP
-default\-lease\-time 600;
-.br
-max\-lease\-time 7200;
-.br
-option space openflow;
-.br
-option openflow.controller\-vconn code 1 = text;
-.br
-option openflow.pki\-uri code 2 = text;
-.br
-class "OpenFlow" {
-.br
- match if option vendor\-class\-identifier = "OpenFlow";
-.br
- vendor\-option\-space openflow;
-.br
- option openflow.controller\-vconn "tcp:192.168.0.10";
-.br
- option openflow.pki\-uri "http://192.168.0.10/openflow/pki";
-.br
- option vendor\-class\-identifier "OpenFlow";
-.br
-}
-.br
-subnet 192.168.0.0 netmask 255.255.255.0 {
-.br
- pool {
-.br
- allow members of "OpenFlow";
-.br
- range 192.168.0.20 192.168.0.30;
-.br
- }
-.br
- pool {
-.br
- deny members of "OpenFlow";
-.br
- range 192.168.0.1 192.168.0.10;
-.br
- }
-.br
-}
-.br
-.
-.IP "manual configuration"
-To configure in-band control manually, specify the location of the
+
+Specify the location of the
controller on the \fBovs\-openflowd\fR command line as the \fIcontroller\fR
argument. You must also configure the network device for the OpenFlow
``local port'' to allow \fBovs\-openflowd\fR to connect to that controller.
purposes and is not guaranteed to be unique and should not be used as
the primary identifier of the datapath.
.
-.SS "Controller Discovery Options"
-.TP
-\fB\-\-accept\-vconn=\fIregex\fR
-When \fBovs\-openflowd\fR performs controller discovery (see \fBContacting
-the Controller\fR, above, for more information about controller
-discovery), it validates the controller location obtained via DHCP
-with a POSIX extended regular expression. Only controllers whose
-names match the regular expression will be accepted.
-.IP
-The default regular expression is \fBssl:.*\fR (meaning that only SSL
-controller connections will be accepted) when any of the SSL
-configuration options \fB\-\-private\-key\fR, \fB\-\-certificate\fR, or
-\fB\-\-ca\-cert\fR is specified. The default is \fB^tcp:.*\fR otherwise
-(meaning that only TCP controller connections will be accepted).
-.IP
-The \fIregex\fR is implicitly anchored at the beginning of the
-controller location string, as if it begins with \fB^\fR.
-.IP
-When controller discovery is not performed, this option has no effect.
-.
-.TP
-\fB\-\-no\-resolv\-conf\fR
-When \fBovs\-openflowd\fR performs controller discovery (see \fBContacting
-the Controller\fR, above, for more information about controller
-discovery), by default it overwrites the system's
-\fB/etc/resolv.conf\fR with domain information and DNS servers
-obtained via DHCP. If the location of the controller is specified
-using a hostname, rather than an IP address, and the network's DNS
-servers ever change, this behavior is essential. But because it also
-interferes with any administrator or process that manages
-\fB/etc/resolv.conf\fR, when this option is specified, \fBovs\-openflowd\fR
-will not modify \fB/etc/resolv.conf\fR.
-.IP
-\fBovs\-openflowd\fR will only modify \fBresolv.conf\fR if the DHCP response
-that it receives specifies one or more DNS servers.
-.IP
-When controller discovery is not performed, this option has no effect.
-.
.SS "Networking Options"
.TP
\fB\-\-datapath\-id=\fIdpid\fR
These commands are specific to \fBovs\-openflowd\fR.
.IP "\fBexit\fR"
Causes \fBovs\-openflowd\fR to gracefully terminate.
+.so ofproto/ofproto-unixctl.man
.so lib/vlog-unixctl.man
.
.SH "SEE ALSO"
.
.BR ovs\-appctl (8),
.BR ovs\-controller (8),
-.BR ovs\-discover (8),
.BR ovs\-dpctl (8),
.BR ovs\-ofctl (8),
.BR ovs\-pki (8)