ovs-testcontroller.8.in 6.3 KB
Newer Older
1
.\" -*- nroff -*-
2 3 4 5 6
.de IQ
.  br
.  ns
.  IP "\\$1"
..
7 8
.TH ovs\-testcontroller 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
.ds PN ovs\-testcontroller
9
.
10
.SH NAME
11
ovs\-testcontroller \- simple OpenFlow controller for testing
12
.
13
.SH SYNOPSIS
14
.B ovs\-testcontroller
15
[\fIoptions\fR] \fImethod\fR \fB[\fImethod\fR]\&...
16
.
17
.SH DESCRIPTION
18 19 20 21 22
\fBovs\-testcontroller\fR is a simple OpenFlow controller that manages
any number of switches over the OpenFlow protocol, causing them to
function as L2 MAC-learning switches or hubs.  It is suitable for
initial testing of OpenFlow networks.  It is not a necessary or
desirable part of a production OpenFlow deployment.
23
.PP
24 25
\fBovs\-testcontroller\fR controls one or more OpenFlow switches, specified as
one or more of the following OpenFlow connection methods:
26
.
27 28 29 30
.RS
.so lib/vconn-passive.man
.so lib/vconn-active.man
.RE
31
.
32
.SH OPTIONS
33 34
.IP "\fB\-n\fR"
.IQ "\fB\-\-noflow\fR"
35
By default, \fBovs\-testcontroller\fR sets up a flow in each OpenFlow switch
36 37 38
whenever it receives a packet whose destination is known due through
MAC learning.  This option disables flow setup, so that every packet
in the network passes through the controller.
39
.IP
40 41
This option is most useful for debugging.  It reduces switching
performance, so it should not be used in production.
42
.
43
.TP
44
\fB\-\-max\-idle=\fIsecs\fR|\fBpermanent\fR
45 46 47 48
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.
49
.IP
50
This option has no effect when \fB\-n\fR (or \fB\-\-noflow\fR) is in use
51
(because the controller does not set up flows in that case).
52
.
53 54
.IP "\fB\-H\fR"
.IQ "\fB\-\-hub\fR"
55 56 57
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.
58
.IP
59
If \fB\-H\fR (or \fB\-\-hub\fR) and \fB\-n\fR (or \fB\-\-noflow\fR) are used
60 61
together, then the cumulative effect is that every packet passes
through the controller and every packet is flooded.
62
.IP
63 64
This option is most useful for debugging.  It reduces switching
performance, so it should not be used in production.
65
.
66 67
.IP "\fB\-w\fR[\fIwildcard_mask\fR]"
.IQ "\fB\-\-wildcards\fR[\fB=\fIwildcard_mask\fR]\fR"
68
By default, \fBovs\-testcontroller\fR sets up exact-match flows.  This
69
option allows it to set up wildcarded flows, which may reduce
70
flow setup latency by causing less traffic to be sent up to the
71 72
controller.
.IP
73 74 75 76 77 78 79
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
80
This option has no effect when \fB\-n\fR (or \fB\-\-noflow\fR) is in use
81 82
(because the controller does not set up flows in that case).
.
83 84
.IP "\fB\-N\fR"
.IQ "\fB\-\-normal\fR"
85
By default, \fBovs\-testcontroller\fR directs packets to a particular port
86 87 88 89 90 91
or floods them.  This option causes it to direct non-flooded packets
to the OpenFlow \fBOFPP_NORMAL\fR port.  This allows the switch itself
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.
.
92
.IP "\fB\-\-mute\fR"
93
Prevents ovs\-testcontroller from replying to any OpenFlow messages sent
94 95 96 97
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.
98
.
99 100
.IP "\fB\-q \fIid\fR"
.IQ "\fB\-\-queue=\fIid\fR"
101
By default, \fBovs\-testcontroller\fR uses the default OpenFlow queue for
102 103 104 105
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
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
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
121
\fIport-name\fR arguments.
122 123 124 125 126 127 128
.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.
129
.
130 131 132 133 134
.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.
135 136
.IP
Use this option more than once to add flows from multiple files.
137
.
138
.SS "Public Key Infrastructure Options"
139 140
.so lib/ssl.man
.so lib/ssl-peer-ca-cert.man
141
.ds DD
142
.SS "Daemon Options"
143 144
.so lib/daemon.man
.so lib/vlog.man
145
.so lib/unixctl.man
146
.so lib/common.man
147
.so lib/ofp-version.man
148
.
149
.SH EXAMPLES
150
.PP
151
To bind locally to port 6653 (the default) and wait for incoming
152 153
connections from OpenFlow switches:
.IP
154
\fB% ovs\-testcontroller ptcp:\fR
155 156 157 158 159 160
.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.
161
\fBovs\-testcontroller\fR is not an Open vSwitch manager and does not know
162 163 164 165 166 167 168 169
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
170
.SH "SEE ALSO"
171
.
172
.BR ovs\-appctl (8),
173
.BR ovs\-ofctl (8),
174
.BR ovs\-dpctl (8)