]>
Commit | Line | Data |
---|---|---|
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 | 11 | ovs\-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 |
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. | |
a9b4a41a | 23 | .PP |
0bc1b46a BP |
24 | \fBovs\-testcontroller\fR controls one or more OpenFlow switches, specified as |
25 | one 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 | 35 | By default, \fBovs\-testcontroller\fR sets up a flow in each OpenFlow switch |
064af421 BP |
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. | |
a9b4a41a | 39 | .IP |
064af421 BP |
40 | This option is most useful for debugging. It reduces switching |
41 | performance, so it should not be used in production. | |
a9b4a41a | 42 | . |
064af421 | 43 | .TP |
4e312e69 | 44 | \fB\-\-max\-idle=\fIsecs\fR|\fBpermanent\fR |
064af421 BP |
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. | |
a9b4a41a | 49 | .IP |
4e312e69 | 50 | This 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 |
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. | |
a9b4a41a | 58 | .IP |
4e312e69 | 59 | If \fB\-H\fR (or \fB\-\-hub\fR) and \fB\-n\fR (or \fB\-\-noflow\fR) are used |
064af421 BP |
60 | together, then the cumulative effect is that every packet passes |
61 | through the controller and every packet is flooded. | |
a9b4a41a | 62 | .IP |
064af421 BP |
63 | This option is most useful for debugging. It reduces switching |
64 | performance, 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 | 68 | By default, \fBovs\-testcontroller\fR sets up exact-match flows. This |
9af9e2e8 | 69 | option allows it to set up wildcarded flows, which may reduce |
7286b1e1 | 70 | flow setup latency by causing less traffic to be sent up to the |
9af9e2e8 JT |
71 | controller. |
72 | .IP | |
7286b1e1 BP |
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 | |
4e312e69 | 80 | This 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 | 85 | By default, \fBovs\-testcontroller\fR directs packets to a particular port |
9af9e2e8 JT |
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 | . | |
4e312e69 | 92 | .IP "\fB\-\-mute\fR" |
0bc1b46a | 93 | Prevents ovs\-testcontroller from replying to any OpenFlow messages sent |
7778bd15 BP |
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. | |
a9b4a41a | 98 | . |
611e9a35 BP |
99 | .IP "\fB\-q \fIid\fR" |
100 | .IQ "\fB\-\-queue=\fIid\fR" | |
0bc1b46a | 101 | By default, \fBovs\-testcontroller\fR uses the default OpenFlow queue for |
611e9a35 BP |
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 | |
d4cdc6b4 BP |
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 | |
5d943800 | 121 | \fIport-name\fR arguments. |
d4cdc6b4 BP |
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. | |
611e9a35 | 129 | . |
882c2399 JP |
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. | |
09913dfd BP |
135 | .IP |
136 | Use 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 |
064af421 BP |
142 | .so lib/daemon.man |
143 | .so lib/vlog.man | |
b66bdf30 | 144 | .so lib/unixctl.man |
064af421 | 145 | .so lib/common.man |
4944b55c | 146 | .so lib/ofp-version.man |
a9b4a41a | 147 | . |
064af421 | 148 | .SH EXAMPLES |
a9b4a41a | 149 | .PP |
d4763d1d | 150 | To bind locally to port 6653 (the default) and wait for incoming |
c6278d20 BP |
151 | connections from OpenFlow switches: |
152 | .IP | |
0bc1b46a | 153 | \fB% ovs\-testcontroller ptcp:\fR |
c6278d20 BP |
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. | |
0bc1b46a | 160 | \fBovs\-testcontroller\fR is not an Open vSwitch manager and does not know |
c6278d20 BP |
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 | |
064af421 | 169 | .SH "SEE ALSO" |
a9b4a41a | 170 | . |
064af421 | 171 | .BR ovs\-appctl (8), |
882c2399 | 172 | .BR ovs\-ofctl (8), |
064af421 | 173 | .BR ovs\-dpctl (8) |