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