meta-flow: Correctly set destination MAC in mf_set_flow_value().
[sliver-openvswitch.git] / utilities / ovs-controller.8.in
index e0c1540..cc21c9c 100644 (file)
@@ -1,3 +1,9 @@
+.\" -*- nroff -*-
+.de IQ
+.  br
+.  ns
+.  IP "\\$1"
+..
 .TH ovs\-controller 8 "March 2009" "Open vSwitch" "Open vSwitch Manual"
 .ds PN ovs\-controller
 .
@@ -21,7 +27,8 @@ one or more of the following OpenFlow connection methods:
 .RE
 .
 .SH OPTIONS
-.IP "\fB-n\fR, \fB--noflow\fR"
+.IP "\fB\-n\fR"
+.IQ "\fB\-\-noflow\fR"
 By default, \fBovs\-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
@@ -31,42 +38,47 @@ This option is most useful for debugging.  It reduces switching
 performance, so it should not be used in production.
 .
 .TP
-\fB--max-idle=\fIsecs\fR|\fBpermanent\fR
+\fB\-\-max\-idle=\fIsecs\fR|\fBpermanent\fR
 Sets \fIsecs\fR as the number of seconds that a flow set up by the
 controller will remain in the switch's flow table without any matching
 packets being seen.  If \fBpermanent\fR is specified, which is not
 recommended, flows will never expire.  The default is 60 seconds.
 .IP
-This option affects only flows set up by the OpenFlow controller.  In
-some configurations, the switch can set up some flows
-on its own.  To set the idle time for those flows, pass
-\fB--max-idle\fR to \fBovs\-openflowd\fR (on the switch).
-.IP
-This option has no effect when \fB-n\fR (or \fB--noflow\fR) is in use
+This option has no effect when \fB\-n\fR (or \fB\-\-noflow\fR) is in use
 (because the controller does not set up flows in that case).
 .
-.IP "\fB-H\fR, \fB--hub\fR"
+.IP "\fB\-H\fR"
+.IQ "\fB\-\-hub\fR"
 By default, the controller acts as an L2 MAC-learning switch.  This
 option changes its behavior to that of a hub that floods packets on
 all but the incoming port.
 .IP
-If \fB-H\fR (or \fB--hub\fR) and \fB-n\fR (or \fB--noflow\fR) are used
+If \fB\-H\fR (or \fB\-\-hub\fR) and \fB\-n\fR (or \fB\-\-noflow\fR) are used
 together, then the cumulative effect is that every packet passes
 through the controller and every packet is flooded.
 .IP
 This option is most useful for debugging.  It reduces switching
 performance, so it should not be used in production.
 .
-.IP "\fB-w\fR, \fB--wildcard\fR"
+.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
 option allows it to set up wildcarded flows, which may reduce
-flow-setup latency by causing less traffic to be sent up to the
+flow setup latency by causing less traffic to be sent up to the
 controller.
 .IP
-This option has no effect when \fB-n\fR (or \fB--noflow\fR) is in use
+The optional \fIwildcard_mask\fR is an OpenFlow wildcard bitmask in
+hexadecimal that specifies the fields to wildcard.  If no
+\fIwildcard_mask\fR is specified, the default value 0x2820F0 is used
+which specifies L2-only switching and wildcards L3 and L4 fields.
+Another interesting value is 0x2000EC, which specifies L3-only
+switching and wildcards L2 and L4 fields.
+.IP
+This option has no effect when \fB\-n\fR (or \fB\-\-noflow\fR) is in use
 (because the controller does not set up flows in that case).
 .
-.IP "\fB-N\fR, \fB--normal\fR"
+.IP "\fB\-N\fR"
+.IQ "\fB\-\-normal\fR"
 By default, \fBovs\-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
@@ -74,29 +86,84 @@ to make decisions about packet destinations.  Support for
 \fBOFPP_NORMAL\fR is optional in OpenFlow, so this option may not well
 with some non-Open vSwitch switches.
 .
-.IP "\fB--mute\fR"
+.IP "\fB\-\-mute\fR"
 Prevents ovs\-controller from replying to any OpenFlow messages sent
 to it by switches.
 .IP
 This option is only for debugging the Open vSwitch implementation of
 ``fail open'' mode.  It must not be used in production.
 .
+.IP "\fB\-q \fIid\fR"
+.IQ "\fB\-\-queue=\fIid\fR"
+By default, \fBovs\-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.
+.IP
+This option is incompatible with \fB\-N\fR or \fB\-\-normal\fR and
+with \fB\-H\fR or \fB\-\-hub\fR.  If more than one is specified then
+this option takes precedence.
+.IP
+This option may be useful for testing or debugging quality of service
+setups.
+.
+.IP "\fB\-Q \fIport-name\fB:\fIqueue-id\fR"
+.IP "\fB\-\-port\-queue \fIport-name\fB:\fIqueue-id\fR"
+Configures packets received on the port named \fIport-name\fR
+(e.g. \fBeth0\fR) to be output on OpenFlow queue ID \fIqueue-id\fR
+(specified as a decimal number).  For the specified port, this option
+overrides the default specified on \fB\-q\fR or \fB\-\-queue\fR.
+.IP
+This option may be specified any number of times with different
+\fIport-name\fR arguments.
+.IP
+This option is incompatible with \fB\-N\fR or \fB\-\-normal\fR and
+with \fB\-H\fR or \fB\-\-hub\fR.  If more than one is specified then
+this option takes precedence.
+.IP
+This option may be useful for testing or debugging quality of service
+setups.
+.
+.IP "\fB\-\-with\-flows \fIfile\fR"
+When a switch connects, push the flow entries as described in
+\fIfile\fR.  Each line in \fIfile\fR is a flow entry in the format
+described for the \fBadd\-flows\fR command in the \fBFlow Syntax\fR
+section of the \fBovs\-ofctl\fR(8) man page.
+.IP
+Use this option more than once to add flows from multiple files.
+.
 .SS "Public Key Infrastructure Options"
 .so lib/ssl.man
 .so lib/ssl-peer-ca-cert.man
+.ds DD
 .so lib/daemon.man
 .so lib/vlog.man
+.so lib/unixctl.man
 .so lib/common.man
 .
 .SH EXAMPLES
-.
-.TP
-To bind locally to port 6633 (the default) and wait for incoming connections from OpenFlow switches:
 .PP
-.B % ovs\-controller ptcp:
-.
+To bind locally to port 6633 (the default) and wait for incoming
+connections from OpenFlow switches:
+.IP
+\fB% ovs\-controller ptcp:\fR
+.SH "BUGS"
+.PP
+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
+how to do that.
+.PP
+As a stopgap workaround, \fBovs\-vsctl\fR can wait for an OVSDB
+connection and set the controller, e.g.:
+.IP
+\fB% ovs\-vsctl \-t0 \-\-db=pssl: \-\-certificate=cert.pem
+\-\-ca\-cert=none \-\-private\-key=privkey.pem
+\-\-peer\-ca\-cert=cacert.pem set\-controller ssl:\fIip\fR
 .SH "SEE ALSO"
 .
-.BR ovs\-openflowd (8),
 .BR ovs\-appctl (8),
+.BR ovs\-ofctl (8),
 .BR ovs\-dpctl (8)