]> git.proxmox.com Git - ovs.git/blame - utilities/ovs-vsctl.8.in
gre: Workarounds for large packets over GRE
[ovs.git] / utilities / ovs-vsctl.8.in
CommitLineData
3b135da3
BP
1.\" -*- nroff -*-
2.de IQ
3. br
4. ns
5. IP "\\$1"
6..
5aa00635
JP
7.de ST
8. PP
9. RS -0.15in
10. I "\\$1"
11. RE
12. PP
13..
3fbe1d30 14.TH ovs\-vsctl 8 "November 2009" "Open vSwitch" "Open vSwitch Manual"
3b135da3
BP
15.ds PN ovs\-vsctl
16.
17.SH NAME
18ovs\-vsctl \- utility for querying and configuring \fBovs\-vswitchd\fR
19.
20.SH SYNOPSIS
460aad80 21\fBovs\-vsctl\fR [\fIoptions\fR] [\fB\-\-\fR] \fIcommand \fR[\fIargs\fR\&...]
4d14e30f 22[\fB\-\-\fR \fIcommand \fR[\fIargs\fR\&...]]
3b135da3
BP
23.
24.SH DESCRIPTION
dfbe07ba
BP
25The \fBovs\-vsctl\fR program configures \fBovs\-vswitchd\fR(8) by
26providing a high\-level interface to editing its configuration
27database. This program is mainly intended for use when
28\fBovs\-vswitchd\fR is running. If it is used when
29\fBovs\-vswitchd\fR is not running, then \fB\-\-no\-wait\fR should be
30specified and configuration changes will only take effect when
31\fBovs\-vswitchd\fR is started.
3b135da3 32.PP
dfbe07ba
BP
33By default, each time \fBovs\-vsctl\fR runs, it connects to an
34\fBovsdb\-server\fR process that maintains an Open vSwitch
35configuration database. Using this connection, it queries and
36possibly applies changes to the database, depending on the supplied
37commands. Then, if it applied any changes, it waits until
38\fBovs\-vswitchd\fR has finished reconfiguring itself before it exits.
460aad80
BP
39.PP
40\fBovs\-vsctl\fR can perform any number of commands in a single run,
41implemented as a single atomic transaction against the database.
42Commands are separated on the command line by \fB\-\-\fR arguments.
3b135da3
BP
43.
44.SS "Linux VLAN Bridging Compatibility"
45The \fBovs\-vsctl\fR program supports the model of a bridge
46implemented by Open vSwitch, in which a single bridge supports ports
47on multiple VLANs. In this model, each port on a bridge is either a
48trunk port that potentially passes packets tagged with 802.1Q headers
49that designate VLANs or it is assigned a single implicit VLAN that is
50never tagged with an 802.1Q header.
51.PP
52For compatibility with software designed for the Linux bridge,
53\fBovs\-vsctl\fR also supports a model in which traffic associated
54with a given 802.1Q VLAN is segregated into a separate bridge. A
55special form of the \fBadd\-br\fR command (see below) creates a ``fake
56bridge'' within an Open vSwitch bridge to simulate this behavior.
57When such a ``fake bridge'' is active, \fBovs\-vsctl\fR will treat it
58much like a bridge separate from its ``parent bridge,'' but the actual
59implementation in Open vSwitch uses only a single bridge, with ports on
60the fake bridge assigned the implicit VLAN of the fake bridge of which
61they are members.
62.
63.SH OPTIONS
64.
460aad80
BP
65The following options affect the behavior \fBovs\-vsctl\fR as a whole.
66Some individual commands also accept their own options, which are
67given just before the command name. If the first command on the
68command line has options, then those options must be separated from
69the global options by \fB\-\-\fR.
3b135da3 70.
dfbe07ba
BP
71.IP "\fB\-\-db=\fIserver\fR"
72Sets \fIserver\fR as the database server that \fBovs\-vsctl\fR
73contacts to query or modify configuration. The default is
74\fBunix:@RUNDIR@/ovsdb\-server\fR. \fIserver\fR must take one of the
75following forms:
76.RS
9467fe62 77.so ovsdb/remote-active.man
dfbe07ba 78.RE
9467fe62 79.
dfbe07ba
BP
80.IP "\fB\-\-no\-wait\fR"
81Prevents \fBovs\-vsctl\fR from waiting for \fBovs\-vswitchd\fR to
82reconfigure itself according to the the modified database. This
83option should be used if \fBovs\-vswitchd\fR is not running;
84otherwise, \fBovs-vsctl\fR will not exit until \fBovs-vswitchd\fR
85starts.
3b135da3 86.IP
dfbe07ba
BP
87This option has no effect if the commands specified do not change the
88database.
3b135da3 89.
37c84020
BP
90.IP "\fB\-\-no\-syslog\fR"
91By default, \fBovs\-vsctl\fR logs its arguments and the details of any
92changes that it makes to the system log. This option disables this
93logging.
dfbe07ba
BP
94.IP
95This option is equivalent to \fB\-\-verbose=vvsctl:syslog:warn\fR.
96.
2792c2ad 97.IP "\fB\-\-oneline\fR"
4d14e30f 98Modifies the output format so that the output for each command is printed
2792c2ad 99on a single line. New-line characters that would otherwise separate
4d14e30f 100lines are printed as \fB\\n\fR, and any instances of \fB\\\fR that
2792c2ad 101would otherwise appear in the output are doubled.
4d14e30f 102Prints a blank line for each command that has no output.
37c84020 103.
577aebdf
BP
104.IP "\fB\-\-dry\-run\fR"
105Prevents \fBovs\-vsctl\fR from actually modifying the database.
106.
342045e1
BP
107.IP "\fB-t \fIsecs\fR"
108.IQ "\fB--timeout=\fIsecs\fR"
a39a859a
JP
109Limits runtime to approximately \fIsecs\fR seconds. A value of
110zero will cause \fBovs\-vsctl\fR to wait forever. If the timeout expires,
111\fBovs\-vsctl\fR will exit with a \fBSIGALRM\fR signal. If this option is
112not used, \fBovs\-vsctl\fR uses a timeout of five seconds.
113(A timeout would normally happen only if the database cannot be contacted.)
342045e1 114.
84ee7bcf 115.so lib/ssl.man
dfbe07ba
BP
116.so lib/vlog.man
117.
3b135da3
BP
118.SH COMMANDS
119The commands implemented by \fBovs\-vsctl\fR are described in the
120sections below.
524555d1
BP
121.SS "Open vSwitch Commands"
122These commands work with an Open vSwitch as a whole.
123.
124.IP "\fBinit\fR"
125Initializes the Open vSwitch database, if it is empty. If the
126database has already been initialized, this command has no effect.
127.IP
128Any successful \fBovs\-vsctl\fR command automatically initializes the
129Open vSwitch database if it is empty. This command is provided to
130initialize the database without executing any other command.
3b135da3
BP
131.
132.SS "Bridge Commands"
133These commands examine and manipulate Open vSwitch bridges.
134.
135.IP "\fBadd\-br \fIbridge\fR"
136Creates a new bridge named \fIbridge\fR. Initially the bridge will
137have no ports (other than \fIbridge\fR itself).
138.
139.IP "\fBadd\-br \fIbridge parent vlan\fR"
140Creates a ``fake bridge'' named \fIbridge\fR within the existing Open
141vSwitch bridge \fIparent\fR, which must already exist and must not
142itself be a fake bridge. The new fake bridge will be on 802.1Q VLAN
143\fIvlan\fR, which must be an integer between 1 and 4095. Initially
144\fIbridge\fR will have no ports (other than \fIbridge\fR itself).
145.
460aad80 146.IP "[\fB\-\-if\-exists\fR] \fBdel\-br \fIbridge\fR"
3b135da3
BP
147Deletes \fIbridge\fR and all of its ports. If \fIbridge\fR is a real
148bridge, this command also deletes any fake bridges that were created
149with \fIbridge\fR as parent, including all of their ports.
460aad80
BP
150.IP
151Without \fB\-\-if\-exists\fR, attempting to delete a bridge that does
152not exist is an error. With \fB\-\-if\-exists\fR, attempting to
153delete a bridge that does not exist has no effect.
3b135da3
BP
154.
155.IP "\fBlist\-br\fR"
156Lists all existing real and fake bridges on standard output, one per
157line.
158.
159.IP "\fBbr\-exists \fIbridge\fR"
160Tests whether \fIbridge\fR exists as a real or fake bridge. If so,
161\fBovs\-vsctl\fR exits successfully with exit code 0. If not,
162\fBovs\-vsctl\fR exits unsuccessfully with exit code 2.
163.
8e58fa9a
BP
164.IP "\fBbr\-to\-vlan \fIbridge\fR"
165If \fIbridge\fR is a fake bridge, prints the bridge's 802.1Q VLAN as a
166decimal integer. If \fIbridge\fR is a real bridge, prints 0.
167.
168.IP "\fBbr\-to\-parent \fIbridge\fR"
169If \fIbridge\fR is a fake bridge, prints the name of its parent
170bridge. If \fIbridge\fR is a real bridge, print \fIbridge\fR.
171.
457e1eb0
BP
172.IP "\fBbr\-set\-external\-id \fIbridge key\fR [\fIvalue\fR]"
173Sets or clears an ``external ID'' value on \fIbridge\fR. These values
174are intended to identify entities external to Open vSwitch with which
175\fIbridge\fR is associated, e.g. the bridge's identifier in a
176virtualization management platform. The Open vSwitch database schema
177specifies well-known \fIkey\fR values, but \fIkey\fR and \fIvalue\fR
178are otherwise arbitrary strings.
179.IP
180If \fIvalue\fR is specified, then \fIkey\fR is set to \fIvalue\fR for
181\fIbridge\fR, overwriting any previous value. If \fIvalue\fR is
182omitted, then \fIkey\fR is removed from \fIbridge\fR's set of external
183IDs (if it was present).
184.
185.IP "\fBbr\-get\-external\-id \fIbridge\fR [\fIkey\fR]"
186Queries the external IDs on \fIbridge\fR. If \fIkey\fR is specified,
187the output is the value for that \fIkey\fR or the empty string if
188\fIkey\fR is unset. If \fIkey\fR is omitted, the output is
189\fIkey\fB=\fIvalue\fR, one per line, for each key-value pair.
190.
3b135da3
BP
191.SS "Port Commands"
192.
193These commands examine and manipulate Open vSwitch ports. These
194commands treat a bonded port as a single entity.
195.
196.IP "\fBlist\-ports \fIbridge\fR"
197Lists all of the ports within \fIbridge\fR on standard output, one per
198line. The local port \fIbridge\fR is not included in the list.
199.
200.IP "\fBadd\-port \fIbridge port\fR"
201Creates on \fIbridge\fR a new port named \fIport\fR from the network
202device of the same name.
203.
204.IP "\fBadd\-bond \fIbridge port iface\fR\&..."
205Creates on \fIbridge\fR a new port named \fIport\fR that bonds
206together the network devices given as each \fIiface\fR. At least two
207interfaces must be named.
208.
460aad80 209.IP "[\fB\-\-if\-exists\fR] \fBdel\-port \fR[\fIbridge\fR] \fIport\fR"
3d1b9636
BP
210Deletes \fIport\fR. If \fIbridge\fR is omitted, \fIport\fR is removed
211from whatever bridge contains it; if \fIbridge\fR is specified, it
212must be the real or fake bridge that contains \fIport\fR.
460aad80
BP
213.IP
214Without \fB\-\-if\-exists\fR, attempting to delete a port that does
215not exist is an error. With \fB\-\-if\-exists\fR, attempting to
216delete a port that does not exist has no effect.
3b135da3
BP
217.
218.IP "\fBport\-to\-br \fIport\fR"
219Prints the name of the bridge that contains \fIport\fR on standard
220output.
221.
457e1eb0
BP
222.IP "\fBport\-set\-external\-id \fIport key\fR [\fIvalue\fR]"
223Sets or clears an ``external ID'' value on \fIport\fR. These value
224are intended to identify entities external to Open vSwitch with which
225\fIport\fR is associated, e.g. the port's identifier in a
226virtualization management platform. The Open vSwitch database schema
227specifies well-known \fIkey\fR values, but \fIkey\fR and \fIvalue\fR
228are otherwise arbitrary strings.
229.IP
230If \fIvalue\fR is specified, then \fIkey\fR is set to \fIvalue\fR for
231\fIport\fR, overwriting any previous value. If \fIvalue\fR is
232omitted, then \fIkey\fR is removed from \fIport\fR's set of external
233IDs (if it was present).
234.
235.IP "\fBbr\-get\-external\-id \fIport\fR [\fIkey\fR]"
236Queries the external IDs on \fIport\fR. If \fIkey\fR is specified,
237the output is the value for that \fIkey\fR or the empty string if
238\fIkey\fR is unset. If \fIkey\fR is omitted, the output is
239\fIkey\fB=\fIvalue\fR, one per line, for each key-value pair.
240.
3b135da3
BP
241.SS "Interface Commands"
242.
243These commands examine the interfaces attached to an Open vSwitch
244bridge. These commands treat a bonded port as a collection of two or
245more interfaces, rather than as a single port.
246.
247.IP "\fBlist\-ifaces \fIbridge\fR"
248Lists all of the interfaces within \fIbridge\fR on standard output,
249one per line. The local port \fIbridge\fR is not included in the
250list.
251.
252.IP "\fBiface\-to\-br \fIiface\fR"
253Prints the name of the bridge that contains \fIiface\fR on standard
254output.
457e1eb0
BP
255.
256.IP "\fBiface\-set\-external\-id \fIiface key\fR [\fIvalue\fR]"
257Sets or clears an ``external ID'' value on \fIiface\fR. These value
258are intended to identify entities external to Open vSwitch with which
259\fIiface\fR is associated, e.g. the interface's identifier in a
260virtualization management platform. The Open vSwitch database schema
261specifies well-known \fIkey\fR values, but \fIkey\fR and \fIvalue\fR
262are otherwise arbitrary strings.
263.IP
264If \fIvalue\fR is specified, then \fIkey\fR is set to \fIvalue\fR for
265\fIiface\fR, overwriting any previous value. If \fIvalue\fR is
266omitted, then \fIkey\fR is removed from \fIiface\fR's set of external
267IDs (if it was present).
268.
269.IP "\fBbr\-get\-external\-id \fIiface\fR [\fIkey\fR]"
270Queries the external IDs on \fIiface\fR. If \fIkey\fR is specified,
271the output is the value for that \fIkey\fR or the empty string if
272\fIkey\fR is unset. If \fIkey\fR is omitted, the output is
273\fIkey\fB=\fIvalue\fR, one per line, for each key-value pair.
274.
5aa00635
JP
275.SS "OpenFlow Controller Connectivity"
276.
277\fBovs\-vswitchd\fR can perform all configured bridging and switching
278locally, or it can be configured to connect a given bridge to an
279external OpenFlow controller, such as NOX.
280.
281If a \fIbridge\fR argument is given, the settings apply only to the
282specified bridge. Otherwise, they apply to the Open vSwitch instance,
283and its configuration applies to any bridge that has not been explicitly
284configured through a \fIbridge\fR argument.
285.
286.IP "\fBget\-controller\fR [\fIbridge\fR]"
287Prints the configured controller target.
288.
289.IP "\fBdel\-controller\fR [\fIbridge\fR]"
290Deletes the configured controller target.
291.
292.IP "\fBset\-controller\fR [\fIbridge\fR] \fItarget\fR"
293Sets the configured controller target. The \fItarget\fR may use any of
294the following forms:
295.
296.RS
297.TP
84ee7bcf 298.so lib/vconn-active.man
5aa00635 299.RE
84ee7bcf 300.
5aa00635
JP
301.ST "Controller Failure Settings"
302.
303When a controller is configured, it is, ordinarily, responsible for
304setting up all flows on the switch. Thus, if the connection to
305the controller fails, no new network connections can be set up. If
306the connection to the controller stays down long enough, no packets
307can pass through the switch at all.
308.ST
309If the value is \fBstandalone\fR, or if neither of these settings
310is set, \fBovs\-vswitchd\fR will take over
311responsibility for setting up
312flows when no message has been received from the controller for three
313times the inactivity probe interval (xxx needs to be exposed). In this mode,
314\fBovs\-vswitchd\fR causes the datapath to act like an ordinary
315MAC-learning switch. \fBovs\-vswitchd\fR will continue to retry connecting
316to the controller in the background and, when the connection succeeds,
317it discontinues its standalone behavior.
318.ST
319If this option is set to \fBsecure\fR, \fBovs\-vswitchd\fR will not
320set up flows on its own when the controller connection fails.
321.
322.IP "\fBget\-fail\-mode\fR [\fIbridge\fR]"
323Prints the configured failure mode.
324.
325.IP "\fBdel\-fail\-mode\fR [\fIbridge\fR]"
326Deletes the configured failure mode.
327.
328.IP "\fBset\-fail\-mode\fR [\fIbridge\fR] \fBstandalone\fR|\fBsecure\fR"
329Sets the configured failure mode.
330.
dd8ac6fe
JP
331.SS "SSL Configuration"
332When \fBovs\-vswitchd\fR is configured to connect over SSL for management or
333controller connectivity, the following parameters are required:
334.TP
335\fBprivate-key\fR
336Specifies a PEM file containing the private key used as the virtual
337switch's identity for SSL connections to the controller.
338.TP
339\fBcertificate\fR
340Specifies a PEM file containing a certificate, signed by the
341certificate authority (CA) used by the controller and manager, that
342certifies the virtual switch's private key, identifying a trustworthy
343switch.
344.TP
345\fBca-cert\fR
346Specifies a PEM file containing the CA certificate used to verify that
347the virtual switch is connected to a trustworthy controller.
348.PP
349These files are read only once, at \fBovs\-vswitchd\fR startup time. If
350their contents change, \fBovs\-vswitchd\fR must be killed and restarted.
351.PP
352These SSL settings apply to all SSL connections made by the virtual
353switch.
354.
355.IP "\fBget\-ssl\fR"
356Prints the SSL configuration.
357.
358.IP "\fBdel\-ssl\fR"
359Deletes the current SSL configuration.
360.
361.IP "[\fB\-\-bootstrap\fR] \fBset\-ssl\fR \fIprivate-key\fR \fIcertificate\fR \fIca-cert\fR"
362Sets the SSL configuration. The \fB\-\-bootstrap\fR option is described
363below.
364.
365.ST "CA Certificate Bootstrap"
366Ordinarily, all of the files named in the SSL configuration must exist
367when \fBovs\-vswitchd\fR starts. However, if the \fB\-\-bootstrap\fR
368option is given, then \fBovs\-vswitchd\fR will attempt to obtain the
369CA certificate from the controller on its first SSL connection and
370save it to the named PEM file. If it is successful, it will
371immediately drop the connection and reconnect, and from then on all
372SSL connections must be authenticated by a certificate signed by the
373CA certificate thus obtained.
374.PP
375\fBThis option exposes the SSL connection to a man-in-the-middle
376attack obtaining the initial CA certificate\fR, but it may be useful
377for bootstrapping.
378.PP
379This option is only useful if the controller sends its CA certificate
380as part of the SSL certificate chain. The SSL protocol does not
381require the controller to send the CA certificate, but
382\fBcontroller\fR(8) can be configured to do so with the
383\fB--peer-ca-cert\fR option.
384.
4d14e30f
BP
385.SH "EXAMPLES"
386Create a new bridge named br0 and add port eth0 to it:
387.IP
388.B "ovs-vsctl add\-br br0"
389.br
390.B "ovs-vsctl add\-port br0 eth0"
391.PP
392Alternatively, perform both operations in a single atomic transaction:
393.IP
394.B "ovs-vsctl add\-br br0 \-\- add\-port br0 eth0"
460aad80
BP
395.PP
396Delete bridge \fBbr0\fR, reporting an error if it does not exist:
397.IP
398.B "ovs\-vsctl del\-br br0"
399.PP
400Delete bridge \fBbr0\fR if it exists (the \fB\-\-\fR is required to
401separate \fBdel\-br\fR's options from the global options):
402.IP
403.B "ovs\-vsctl \-\- \-\-if\-exists del\-br br0"
3b135da3
BP
404.
405.SH "EXIT STATUS"
406.IP "0"
407Successful program execution.
408.IP "1"
409Usage, syntax, or configuration file error.
410.IP "2"
411The \fIbridge\fR argument to \fBbr\-exists\fR specified the name of a
412bridge that does not exist.
413.SH "SEE ALSO"
414.
dfbe07ba 415.BR ovsdb\-server (1),
3b135da3 416.BR ovs\-vswitchd (8).