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