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