]>
Commit | Line | Data |
---|---|---|
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 | 7 | ovs\-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 |
15 | any number of switches over the OpenFlow protocol, causing them to | |
16 | function as L2 MAC-learning switches or hubs. It is suitable for | |
17 | initial testing of OpenFlow networks. It is not a necessary or | |
18 | desirable part of a production OpenFlow deployment. | |
a9b4a41a | 19 | .PP |
0bc1b46a BP |
20 | \fBovs\-testcontroller\fR controls one or more OpenFlow switches, specified as |
21 | one 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 | 31 | By default, \fBovs\-testcontroller\fR sets up a flow in each OpenFlow switch |
064af421 BP |
32 | whenever it receives a packet whose destination is known due through |
33 | MAC learning. This option disables flow setup, so that every packet | |
34 | in the network passes through the controller. | |
a9b4a41a | 35 | .IP |
064af421 BP |
36 | This option is most useful for debugging. It reduces switching |
37 | performance, so it should not be used in production. | |
a9b4a41a | 38 | . |
064af421 | 39 | .TP |
4e312e69 | 40 | \fB\-\-max\-idle=\fIsecs\fR|\fBpermanent\fR |
064af421 BP |
41 | Sets \fIsecs\fR as the number of seconds that a flow set up by the |
42 | controller will remain in the switch's flow table without any matching | |
43 | packets being seen. If \fBpermanent\fR is specified, which is not | |
44 | recommended, flows will never expire. The default is 60 seconds. | |
a9b4a41a | 45 | .IP |
4e312e69 | 46 | This 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 |
51 | By default, the controller acts as an L2 MAC-learning switch. This |
52 | option changes its behavior to that of a hub that floods packets on | |
53 | all but the incoming port. | |
a9b4a41a | 54 | .IP |
4e312e69 | 55 | If \fB\-H\fR (or \fB\-\-hub\fR) and \fB\-n\fR (or \fB\-\-noflow\fR) are used |
064af421 BP |
56 | together, then the cumulative effect is that every packet passes |
57 | through the controller and every packet is flooded. | |
a9b4a41a | 58 | .IP |
064af421 BP |
59 | This option is most useful for debugging. It reduces switching |
60 | performance, 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 | 64 | By default, \fBovs\-testcontroller\fR sets up exact-match flows. This |
9af9e2e8 | 65 | option allows it to set up wildcarded flows, which may reduce |
7286b1e1 | 66 | flow setup latency by causing less traffic to be sent up to the |
9af9e2e8 JT |
67 | controller. |
68 | .IP | |
7286b1e1 BP |
69 | The optional \fIwildcard_mask\fR is an OpenFlow wildcard bitmask in |
70 | hexadecimal that specifies the fields to wildcard. If no | |
71 | \fIwildcard_mask\fR is specified, the default value 0x2820F0 is used | |
72 | which specifies L2-only switching and wildcards L3 and L4 fields. | |
73 | Another interesting value is 0x2000EC, which specifies L3-only | |
74 | switching and wildcards L2 and L4 fields. | |
75 | .IP | |
4e312e69 | 76 | This 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 | 81 | By default, \fBovs\-testcontroller\fR directs packets to a particular port |
9af9e2e8 JT |
82 | or floods them. This option causes it to direct non-flooded packets |
83 | to the OpenFlow \fBOFPP_NORMAL\fR port. This allows the switch itself | |
84 | to make decisions about packet destinations. Support for | |
85 | \fBOFPP_NORMAL\fR is optional in OpenFlow, so this option may not well | |
86 | with some non-Open vSwitch switches. | |
87 | . | |
4e312e69 | 88 | .IP "\fB\-\-mute\fR" |
0bc1b46a | 89 | Prevents ovs\-testcontroller from replying to any OpenFlow messages sent |
7778bd15 BP |
90 | to it by switches. |
91 | .IP | |
92 | This 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 | 97 | By default, \fBovs\-testcontroller\fR uses the default OpenFlow queue for |
611e9a35 BP |
98 | sending packets and setting up flows. Use one of these options, |
99 | supplying \fIid\fR as an OpenFlow queue ID as a decimal number, to | |
100 | instead use that specific queue. | |
101 | .IP | |
d4cdc6b4 BP |
102 | This option is incompatible with \fB\-N\fR or \fB\-\-normal\fR and |
103 | with \fB\-H\fR or \fB\-\-hub\fR. If more than one is specified then | |
104 | this option takes precedence. | |
105 | .IP | |
106 | This option may be useful for testing or debugging quality of service | |
107 | setups. | |
108 | . | |
109 | .IP "\fB\-Q \fIport-name\fB:\fIqueue-id\fR" | |
110 | .IP "\fB\-\-port\-queue \fIport-name\fB:\fIqueue-id\fR" | |
111 | Configures 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 | |
114 | overrides the default specified on \fB\-q\fR or \fB\-\-queue\fR. | |
115 | .IP | |
116 | This option may be specified any number of times with different | |
5d943800 | 117 | \fIport-name\fR arguments. |
d4cdc6b4 BP |
118 | .IP |
119 | This option is incompatible with \fB\-N\fR or \fB\-\-normal\fR and | |
120 | with \fB\-H\fR or \fB\-\-hub\fR. If more than one is specified then | |
121 | this option takes precedence. | |
122 | .IP | |
123 | This option may be useful for testing or debugging quality of service | |
124 | setups. | |
611e9a35 | 125 | . |
882c2399 JP |
126 | .IP "\fB\-\-with\-flows \fIfile\fR" |
127 | When 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 | |
129 | described for the \fBadd\-flows\fR command in the \fBFlow Syntax\fR | |
130 | section of the \fBovs\-ofctl\fR(8) man page. | |
09913dfd BP |
131 | .IP |
132 | Use 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 | 147 | To bind locally to port 6653 (the default) and wait for incoming |
c6278d20 BP |
148 | connections from OpenFlow switches: |
149 | .IP | |
0bc1b46a | 150 | \fB% ovs\-testcontroller ptcp:\fR |
c6278d20 BP |
151 | .SH "BUGS" |
152 | .PP | |
153 | Configuring a Citrix XenServer to connect to a particular controller | |
154 | only points the remote OVSDB management connection to that controller. | |
155 | It does not also configure OpenFlow connections, because the manager | |
156 | is 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 |
158 | how to do that. |
159 | .PP | |
160 | As a stopgap workaround, \fBovs\-vsctl\fR can wait for an OVSDB | |
161 | connection 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) |