]> git.proxmox.com Git - ovs.git/blame - utilities/ovs-testcontroller.8.in
Merge branch 'dpdk_merge' of https://github.com/istokes/ovs into HEAD
[ovs.git] / utilities / ovs-testcontroller.8.in
CommitLineData
0bc1b46a 1.\" -*- nroff -*-
611e9a35
BP
2.de IQ
3. br
4. ns
5. IP "\\$1"
6..
0bc1b46a
BP
7.TH ovs\-testcontroller 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
8.ds PN ovs\-testcontroller
a9b4a41a 9.
064af421 10.SH NAME
0bc1b46a 11ovs\-testcontroller \- simple OpenFlow controller for testing
a9b4a41a 12.
064af421 13.SH SYNOPSIS
0bc1b46a 14.B ovs\-testcontroller
064af421 15[\fIoptions\fR] \fImethod\fR \fB[\fImethod\fR]\&...
a9b4a41a 16.
064af421 17.SH DESCRIPTION
0bc1b46a
BP
18\fBovs\-testcontroller\fR is a simple OpenFlow controller that manages
19any number of switches over the OpenFlow protocol, causing them to
20function as L2 MAC-learning switches or hubs. It is suitable for
21initial testing of OpenFlow networks. It is not a necessary or
22desirable part of a production OpenFlow deployment.
a9b4a41a 23.PP
0bc1b46a
BP
24\fBovs\-testcontroller\fR controls one or more OpenFlow switches, specified as
25one or more of the following OpenFlow connection methods:
a9b4a41a 26.
84ee7bcf
BP
27.RS
28.so lib/vconn-passive.man
29.so lib/vconn-active.man
30.RE
a9b4a41a 31.
064af421 32.SH OPTIONS
611e9a35
BP
33.IP "\fB\-n\fR"
34.IQ "\fB\-\-noflow\fR"
0bc1b46a 35By default, \fBovs\-testcontroller\fR sets up a flow in each OpenFlow switch
064af421
BP
36whenever it receives a packet whose destination is known due through
37MAC learning. This option disables flow setup, so that every packet
38in the network passes through the controller.
a9b4a41a 39.IP
064af421
BP
40This option is most useful for debugging. It reduces switching
41performance, so it should not be used in production.
a9b4a41a 42.
064af421 43.TP
4e312e69 44\fB\-\-max\-idle=\fIsecs\fR|\fBpermanent\fR
064af421
BP
45Sets \fIsecs\fR as the number of seconds that a flow set up by the
46controller will remain in the switch's flow table without any matching
47packets being seen. If \fBpermanent\fR is specified, which is not
48recommended, flows will never expire. The default is 60 seconds.
a9b4a41a 49.IP
4e312e69 50This option has no effect when \fB\-n\fR (or \fB\-\-noflow\fR) is in use
064af421 51(because the controller does not set up flows in that case).
a9b4a41a 52.
611e9a35
BP
53.IP "\fB\-H\fR"
54.IQ "\fB\-\-hub\fR"
064af421
BP
55By default, the controller acts as an L2 MAC-learning switch. This
56option changes its behavior to that of a hub that floods packets on
57all but the incoming port.
a9b4a41a 58.IP
4e312e69 59If \fB\-H\fR (or \fB\-\-hub\fR) and \fB\-n\fR (or \fB\-\-noflow\fR) are used
064af421
BP
60together, then the cumulative effect is that every packet passes
61through the controller and every packet is flooded.
a9b4a41a 62.IP
064af421
BP
63This option is most useful for debugging. It reduces switching
64performance, so it should not be used in production.
9af9e2e8 65.
7286b1e1
BP
66.IP "\fB\-w\fR[\fIwildcard_mask\fR]"
67.IQ "\fB\-\-wildcards\fR[\fB=\fIwildcard_mask\fR]\fR"
0bc1b46a 68By default, \fBovs\-testcontroller\fR sets up exact-match flows. This
9af9e2e8 69option allows it to set up wildcarded flows, which may reduce
7286b1e1 70flow setup latency by causing less traffic to be sent up to the
9af9e2e8
JT
71controller.
72.IP
7286b1e1
BP
73The optional \fIwildcard_mask\fR is an OpenFlow wildcard bitmask in
74hexadecimal that specifies the fields to wildcard. If no
75\fIwildcard_mask\fR is specified, the default value 0x2820F0 is used
76which specifies L2-only switching and wildcards L3 and L4 fields.
77Another interesting value is 0x2000EC, which specifies L3-only
78switching and wildcards L2 and L4 fields.
79.IP
4e312e69 80This option has no effect when \fB\-n\fR (or \fB\-\-noflow\fR) is in use
9af9e2e8
JT
81(because the controller does not set up flows in that case).
82.
611e9a35
BP
83.IP "\fB\-N\fR"
84.IQ "\fB\-\-normal\fR"
0bc1b46a 85By default, \fBovs\-testcontroller\fR directs packets to a particular port
9af9e2e8
JT
86or floods them. This option causes it to direct non-flooded packets
87to the OpenFlow \fBOFPP_NORMAL\fR port. This allows the switch itself
88to make decisions about packet destinations. Support for
89\fBOFPP_NORMAL\fR is optional in OpenFlow, so this option may not well
90with some non-Open vSwitch switches.
91.
4e312e69 92.IP "\fB\-\-mute\fR"
0bc1b46a 93Prevents ovs\-testcontroller from replying to any OpenFlow messages sent
7778bd15
BP
94to it by switches.
95.IP
96This option is only for debugging the Open vSwitch implementation of
97``fail open'' mode. It must not be used in production.
a9b4a41a 98.
611e9a35
BP
99.IP "\fB\-q \fIid\fR"
100.IQ "\fB\-\-queue=\fIid\fR"
0bc1b46a 101By default, \fBovs\-testcontroller\fR uses the default OpenFlow queue for
611e9a35
BP
102sending packets and setting up flows. Use one of these options,
103supplying \fIid\fR as an OpenFlow queue ID as a decimal number, to
104instead use that specific queue.
105.IP
d4cdc6b4
BP
106This option is incompatible with \fB\-N\fR or \fB\-\-normal\fR and
107with \fB\-H\fR or \fB\-\-hub\fR. If more than one is specified then
108this option takes precedence.
109.IP
110This option may be useful for testing or debugging quality of service
111setups.
112.
113.IP "\fB\-Q \fIport-name\fB:\fIqueue-id\fR"
114.IP "\fB\-\-port\-queue \fIport-name\fB:\fIqueue-id\fR"
115Configures packets received on the port named \fIport-name\fR
116(e.g. \fBeth0\fR) to be output on OpenFlow queue ID \fIqueue-id\fR
117(specified as a decimal number). For the specified port, this option
118overrides the default specified on \fB\-q\fR or \fB\-\-queue\fR.
119.IP
120This option may be specified any number of times with different
5d943800 121\fIport-name\fR arguments.
d4cdc6b4
BP
122.IP
123This option is incompatible with \fB\-N\fR or \fB\-\-normal\fR and
124with \fB\-H\fR or \fB\-\-hub\fR. If more than one is specified then
125this option takes precedence.
126.IP
127This option may be useful for testing or debugging quality of service
128setups.
611e9a35 129.
882c2399
JP
130.IP "\fB\-\-with\-flows \fIfile\fR"
131When a switch connects, push the flow entries as described in
132\fIfile\fR. Each line in \fIfile\fR is a flow entry in the format
133described for the \fBadd\-flows\fR command in the \fBFlow Syntax\fR
134section of the \fBovs\-ofctl\fR(8) man page.
09913dfd
BP
135.IP
136Use this option more than once to add flows from multiple files.
882c2399 137.
ac300505 138.SS "Public Key Infrastructure Options"
84ee7bcf
BP
139.so lib/ssl.man
140.so lib/ssl-peer-ca-cert.man
58f870d0 141.ds DD
679d3475 142.SS "Daemon Options"
064af421
BP
143.so lib/daemon.man
144.so lib/vlog.man
b66bdf30 145.so lib/unixctl.man
064af421 146.so lib/common.man
4944b55c 147.so lib/ofp-version.man
a9b4a41a 148.
064af421 149.SH EXAMPLES
a9b4a41a 150.PP
d4763d1d 151To bind locally to port 6653 (the default) and wait for incoming
c6278d20
BP
152connections from OpenFlow switches:
153.IP
0bc1b46a 154\fB% ovs\-testcontroller ptcp:\fR
c6278d20
BP
155.SH "BUGS"
156.PP
157Configuring a Citrix XenServer to connect to a particular controller
158only points the remote OVSDB management connection to that controller.
159It does not also configure OpenFlow connections, because the manager
160is expected to do that over the management protocol.
0bc1b46a 161\fBovs\-testcontroller\fR is not an Open vSwitch manager and does not know
c6278d20
BP
162how to do that.
163.PP
164As a stopgap workaround, \fBovs\-vsctl\fR can wait for an OVSDB
165connection and set the controller, e.g.:
166.IP
167\fB% ovs\-vsctl \-t0 \-\-db=pssl: \-\-certificate=cert.pem
168\-\-ca\-cert=none \-\-private\-key=privkey.pem
169\-\-peer\-ca\-cert=cacert.pem set\-controller ssl:\fIip\fR
064af421 170.SH "SEE ALSO"
a9b4a41a 171.
064af421 172.BR ovs\-appctl (8),
882c2399 173.BR ovs\-ofctl (8),
064af421 174.BR ovs\-dpctl (8)