]> git.proxmox.com Git - ovs.git/blame - vswitchd/ovs-vswitchd.8.in
openvswitch: deprecates support for IPsec tunnel port.
[ovs.git] / vswitchd / ovs-vswitchd.8.in
CommitLineData
7d9809ef
BP
1.\" -*- nroff -*-
2.de IQ
3. br
4. ns
5. IP "\\$1"
6..
d2cb6c95 7.TH ovs\-vswitchd 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
812560d7 8.\" This program's name:
064af421
BP
9.ds PN ovs\-vswitchd
10.
11.SH NAME
f30f26be 12ovs\-vswitchd \- Open vSwitch daemon
064af421
BP
13.
14.SH SYNOPSIS
80df177a 15\fBovs\-vswitchd \fR[\fIdatabase\fR]
064af421
BP
16.
17.SH DESCRIPTION
299a244b 18A daemon that manages and controls any number of Open vSwitch switches
f30f26be 19on the local machine.
064af421 20.PP
80df177a
BP
21The \fIdatabase\fR argument specifies how \fBovs\-vswitchd\fR connects
22to \fBovsdb\-server\fR. The default is \fBunix:@RUNDIR@/db.sock\fR.
23The following forms are accepted:
6f61c75b 24.so ovsdb/remote-active.man
c9f3f37a 25.so ovsdb/remote-passive.man
064af421 26.PP
76343538
BP
27\fBovs\-vswitchd\fR retrieves its configuration from \fIdatabase\fR at
28startup. It sets up Open vSwitch datapaths and then operates
29switching across each bridge described in its configuration files. As
30the database changes, \fBovs\-vswitchd\fR automatically updates its
31configuration to match.
32.PP
299a244b 33\fBovs\-vswitchd\fR switches may be configured with any of the following
f30f26be 34features:
064af421
BP
35.
36.IP \(bu
37L2 switching with MAC learning.
38.
39.IP \(bu
40NIC bonding with automatic fail-over and source MAC-based TX load
41balancing ("SLB").
42.
43.IP \(bu
44802.1Q VLAN support.
45.
46.IP \(bu
47Port mirroring, with optional VLAN tagging.
48.
49.IP \(bu
50NetFlow v5 flow logging.
51.
52.IP \(bu
d1ae8299 53sFlow(R) monitoring.
72b06300
BP
54.
55.IP \(bu
064af421
BP
56Connectivity to an external OpenFlow controller, such as NOX.
57.
58.PP
59Only a single instance of \fBovs\-vswitchd\fR is intended to run at a time.
f30f26be 60A single \fBovs\-vswitchd\fR can manage any number of switch instances, up
064af421
BP
61to the maximum number of supported Open vSwitch datapaths.
62.PP
f30f26be 63\fBovs\-vswitchd\fR does all the necessary management of Open vSwitch datapaths
064af421
BP
64itself. Thus, external tools, such \fBovs\-dpctl\fR(8), are not needed for
65managing datapaths in conjunction with \fBovs\-vswitchd\fR, and their use
66to modify datapaths when \fBovs\-vswitchd\fR is running can interfere with
67its operation. (\fBovs\-dpctl\fR may still be useful for diagnostics.)
68.PP
69An Open vSwitch datapath kernel module must be loaded for \fBovs\-vswitchd\fR
5fca1acd 70to be useful. Please refer to the \fBINSTALL.Linux\fR file included in the
064af421
BP
71Open vSwitch distribution for instructions on how to build and load
72the Open vSwitch kernel module.
73.PP
74.SH OPTIONS
4e312e69 75.IP "\fB\-\-mlockall\fR"
86a06318
BP
76Causes \fBovs\-vswitchd\fR to call the \fBmlockall()\fR function, to
77attempt to lock all of its process memory into physical RAM,
78preventing the kernel from paging any of its memory to disk. This
79helps to avoid networking interruptions due to system memory pressure.
80.IP
81Some systems do not support \fBmlockall()\fR at all, and other systems
82only allow privileged users, such as the superuser, to use it.
83\fBovs\-vswitchd\fR emits a log message if \fBmlockall()\fR is
84unavailable or unsuccessful.
85.
d1279464 86.SS "DPDK Options"
bab69409
AC
87For details on initializing the \fBovs\-vswitchd\fR DPDK datapath,
88refer to INSTALL.DPDK.md or \fBovs\-vswitchd.conf.db\fR(5) for
89details.
42dd41ef 90.SS "Daemon Options"
a7ff9bd7
BP
91.ds DD \
92\fBovs\-vswitchd\fR detaches only after it has connected to the \
93database, retrieved the initial configuration, and set up that \
94configuration.
064af421 95.so lib/daemon.man
42dd41ef
GS
96.SS "Service Options"
97.so lib/service.man
ac300505 98.SS "Public Key Infrastructure Options"
6f61c75b
BP
99.so lib/ssl.man
100.so lib/ssl-bootstrap.man
b3fca241 101.SS "Logging Options"
064af421 102.so lib/vlog.man
8a986a0a
GS
103.SS "Other Options"
104.so lib/unixctl.man
064af421 105.so lib/common.man
064af421 106.
b16fdafe
BP
107.SH "RUNTIME MANAGEMENT COMMANDS"
108\fBovs\-appctl\fR(8) can send commands to a running
109\fBovs\-vswitchd\fR process. The currently supported commands are
110described below. The command descriptions assume an understanding of
76343538 111how to configure Open vSwitch.
9e15c889
BP
112.SS "GENERAL COMMANDS"
113.IP "\fBexit\fR"
114Causes \fBovs\-vswitchd\fR to gracefully terminate.
3d657a0a
IS
115.IP "\fBqos/show-types\fR \fIinterface\fR"
116Queries the interface for a list of Quality of Service types that are
117configurable via Open vSwitch for the given \fIinterface\fR.
e8fe3026
EJ
118.IP "\fBqos/show\fR \fIinterface\fR"
119Queries the kernel for Quality of Service configuration and statistics
120associated with the given \fIinterface\fR.
6d13e6dd
PR
121.IP "\fBbfd/show\fR [\fIinterface\fR]"
122Displays detailed information about Bidirectional Forwarding Detection
123configured on \fIinterface\fR. If \fIinterface\fR is not specified,
124then displays detailed information about all interfaces with BFD
125enabled.
126.IP "\fBbfd/set-forwarding\fR [\fIinterface\fR] \fIstatus\fR"
127Force the fault status of the BFD module on \fIinterface\fR (or all
128interfaces if none is given) to be \fIstatus\fR. \fIstatus\fR can be
129"true", "false", or "normal" which reverts to the standard behavior.
ae75dae3 130.IP "\fBcfm/show\fR [\fIinterface\fR]"
20c8e971 131Displays detailed information about Connectivity Fault Management
ae75dae3
JP
132configured on \fIinterface\fR. If \fIinterface\fR is not specified,
133then displays detailed information about all interfaces with CFM
134enabled.
d7243b93
EJ
135.IP "\fBcfm/set-fault\fR [\fIinterface\fR] \fIstatus\fR"
136Force the fault status of the CFM module on \fIinterface\fR (or all
137interfaces if none is given) to be \fIstatus\fR. \fIstatus\fR can be
138"true", "false", or "normal" which reverts to the standard behavior.
fe4a02e4
EJ
139.IP "\fBstp/tcn\fR [\fIbridge\fR]"
140Forces a topology change event on \fIbridge\fR if it's running STP. This
141may cause it to send Topology Change Notifications to its peers and flush
142its MAC table.. If no \fIbridge\fR is given, forces a topology change
143event on all bridges.
b16fdafe
BP
144.SS "BRIDGE COMMANDS"
145These commands manage bridges.
96e466a3
EJ
146.IP "\fBfdb/flush\fR [\fIbridge\fR]"
147Flushes \fIbridge\fR MAC address learning table, or all learning tables
148if no \fIbridge\fR is given.
b16fdafe
BP
149.IP "\fBfdb/show\fR \fIbridge\fR"
150Lists each MAC address/VLAN pair learned by the specified \fIbridge\fR,
08fdcc12
FL
151along with the port on which it was learned and the age of the entry,
152in seconds.
153.IP "\fBmdb/flush\fR [\fIbridge\fR]"
154Flushes \fIbridge\fR multicast snooping table, or all snooping tables
155if no \fIbridge\fR is given.
156.IP "\fBmdb/show\fR \fIbridge\fR"
157Lists each multicast group/VLAN pair learned by the specified \fIbridge\fR,
b16fdafe
BP
158along with the port on which it was learned and the age of the entry,
159in seconds.
fa05809b
BP
160.IP "\fBbridge/reconnect\fR [\fIbridge\fR]"
161Makes \fIbridge\fR drop all of its OpenFlow controller connections and
162reconnect. If \fIbridge\fR is not specified, then all bridges drop
163their controller connections and reconnect.
164.IP
165This command might be useful for debugging OpenFlow controller issues.
cdd35cff 166.
4e312e69 167.IP "\fBbridge/dump\-flows\fR \fIbridge\fR"
cdd35cff 168Lists all flows in \fIbridge\fR, including those normally hidden to
4e312e69 169commands such as \fBovs\-ofctl dump\-flows\fR. Flows set up by mechanisms
cdd35cff
JP
170such as in-band control and fail-open are hidden from the controller
171since it is not allowed to modify or override them.
b16fdafe
BP
172.SS "BOND COMMANDS"
173These commands manage bonded ports on an Open vSwitch's bridges. To
174understand some of these commands, it is important to understand a
be02e7c3
EJ
175detail of the bonding implementation called ``source load balancing''
176(SLB). Instead of directly assigning Ethernet source addresses to
177slaves, the bonding implementation computes a function that maps an
17848-bit Ethernet source addresses into an 8-bit value (a ``MAC hash''
179value). All of the Ethernet addresses that map to a single 8-bit
180value are then assigned to a single slave.
b16fdafe
BP
181.IP "\fBbond/list\fR"
182Lists all of the bonds, and their slaves, on each bridge.
064af421 183.
c33a8a25
EJ
184.IP "\fBbond/show\fR [\fIport\fR]"
185Lists all of the bond-specific information (updelay, downdelay, time
186until the next rebalance) about the given bonded \fIport\fR, or all
187bonded ports if no \fIport\fR is given. Also lists information about
188each slave: whether it is enabled or disabled, the time to completion
189of an updelay or downdelay if one is in progress, whether it is the
190active slave, the hashes assigned to the slave. Any LACP information
191related to this bond may be found using the \fBlacp/show\fR command.
192.
b16fdafe 193.IP "\fBbond/migrate\fR \fIport\fR \fIhash\fR \fIslave\fR"
be02e7c3
EJ
194Only valid for SLB bonds. Assigns a given MAC hash to a new slave.
195\fIport\fR specifies the bond port, \fIhash\fR the MAC hash to be
196migrated (as a decimal number between 0 and 255), and \fIslave\fR the
197new slave to be assigned.
b16fdafe
BP
198.IP
199The reassignment is not permanent: rebalancing or fail-over will
200cause the MAC hash to be shifted to a new slave in the usual
201manner.
202.IP
203A MAC hash cannot be migrated to a disabled slave.
4e312e69 204.IP "\fBbond/set\-active\-slave\fR \fIport\fR \fIslave\fR"
b16fdafe
BP
205Sets \fIslave\fR as the active slave on \fIport\fR. \fIslave\fR must
206currently be enabled.
207.IP
208The setting is not permanent: a new active slave will be selected
209if \fIslave\fR becomes disabled.
4e312e69
BP
210.IP "\fBbond/enable\-slave\fR \fIport\fR \fIslave\fR"
211.IQ "\fBbond/disable\-slave\fR \fIport\fR \fIslave\fR"
b16fdafe
BP
212Enables (or disables) \fIslave\fR on the given bond \fIport\fR, skipping any
213updelay (or downdelay).
214.IP
215This setting is not permanent: it persists only until the carrier
216status of \fIslave\fR changes.
672d18b2 217.IP "\fBbond/hash\fR \fImac\fR [\fIvlan\fR] [\fIbasis\fR]"
e58de0e3 218Returns the hash value which would be used for \fImac\fR with \fIvlan\fR
672d18b2 219and \fIbasis\fR if specified.
064af421 220.
5dab8ece 221.IP "\fBlacp/show\fR [\fIport\fR]"
6aa74308
EJ
222Lists all of the LACP related information about the given \fIport\fR:
223active or passive, aggregation key, system id, and system priority. Also
224lists information about each slave: whether it is enabled or disabled,
225whether it is attached or detached, port id and priority, actor
5dab8ece
JP
226information, and partner information. If \fIport\fR is not specified,
227then displays detailed information about all interfaces with CFM
228enabled.
fceef209
DDP
229.SS "DPCTL DATAPATH DEBUGGING COMMANDS"
230The primary way to configure \fBovs\-vswitchd\fR is through the Open
231vSwitch database, e.g. using \fBovs\-vsctl\fR(8). These commands
232provide a debugging interface for managing datapaths. They implement
233the same features (and syntax) as \fBovs\-dpctl\fR(8). Unlike
234\fBovs\-dpctl\fR(8), these commands work with datapaths that are
235integrated into \fBovs\-vswitchd\fR (e.g. the \fBnetdev\fR datapath
236type).
237.PP
238.
239.ds DX \fBdpctl/\fR
240.de DO
241\\$2 \\$1 \\$3
242..
243.so lib/dpctl.man
6aa74308 244.
6553d06b
DDP
245.SS "DPIF-NETDEV COMMANDS"
246These commands are used to expose internal information (mostly statistics)
247about the ``dpif-netdev'' userspace datapath. If there is only one datapath
248(as is often the case, unless \fBdpctl/\fR commands are used), the \fIdp\fR
249argument can be omitted.
250.IP "\fBdpif-netdev/pmd-stats-show\fR [\fIdp\fR]"
251Shows performance statistics for each pmd thread of the datapath \fIdp\fR.
252The special thread ``main'' sums up the statistics of every non pmd thread.
253The sum of ``emc hits'', ``masked hits'' and ``miss'' is the number of
254packets received by the datapath. Cycles are counted using the TSC or similar
255facilities (when available on the platform). To reset these counters use
256\fBdpif-netdev/pmd-stats-clear\fR. The duration of one cycle depends on the
257measuring infrastructure.
258.IP "\fBdpif-netdev/pmd-stats-clear\fR [\fIdp\fR]"
259Resets to zero the per pmd thread performance numbers shown by the
260\fBdpif-netdev/pmd-stats-show\fR command. It will NOT reset datapath or
261bridge statistics, only the values shown by the above command.
ce179f11
IM
262.IP "\fBdpif-netdev/pmd-rxq-show\fR [\fIdp\fR]"
263For each pmd thread of the datapath \fIdp\fR shows list of queue-ids with
264port names, which this thread polls.
6553d06b 265.
27022416 266.so ofproto/ofproto-dpif-unixctl.man
7aa697dd 267.so ofproto/ofproto-unixctl.man
b16fdafe 268.so lib/vlog-unixctl.man
149ff68a 269.so lib/memory-unixctl.man
6901e5e2 270.so lib/coverage-unixctl.man
a36de779 271.so ofproto/ofproto-tnl-unixctl.man
7a7708a0 272.
42ed0063
BP
273.SH "OPENFLOW IMPLEMENTATION"
274.
275.PP
276This section documents aspects of OpenFlow for which the OpenFlow
277specification requires documentation.
278.
279.SS "Packet buffering."
280The OpenFlow specification, version 1.2, says:
281.
282.IP
283Switches that implement buffering are expected to expose, through
284documentation, both the amount of available buffering, and the length
285of time before buffers may be reused.
286.
287.PP
c184807c 288Open vSwitch does not maintains any packet buffers.
42ed0063 289.
51bb26fa
JR
290.SS "Bundle lifetime"
291The OpenFlow specification, version 1.4, says:
292.
293.IP
294If the switch does not receive any OFPT_BUNDLE_CONTROL or
295OFPT_BUNDLE_ADD_MESSAGE message for an opened bundle_id for a switch
296defined time greater than 1s, it may send an ofp_error_msg with
297OFPET_BUNDLE_FAILED type and OFPBFC_TIMEOUT code. If the switch does
298not receive any new message in a bundle apart from echo request and
299replies for a switch defined time greater than 1s, it may send an
300ofp_error_msg with OFPET_BUNDLE_FAILED type and OFPBFC_TIMEOUT code.
301.
302.PP
303Open vSwitch implements idle bundle lifetime of 10 seconds.
304.
7a7708a0
BP
305.SH "LIMITS"
306.
307.PP
308We believe these limits to be accurate as of this writing. These
309limits assume the use of the Linux kernel datapath.
310.
311.IP \(bu
6e587965 312\fBovs\-vswitchd\fR started through \fBovs\-ctl\fR(8) provides a limit of 65535
8ed70321
GS
313file descriptors. The limits on the number of bridges and ports is decided by
314the availability of file descriptors. With the Linux kernel datapath, creation
6e587965
MS
315of a single bridge consumes three file descriptors and adding a port consumes
316"n-handler-threads" file descriptors per bridge port. Performance will degrade
317beyond 1,024 ports per bridge due to fixed hash table sizing. Other platforms
318may have different limitations.
7a7708a0
BP
319.
320.IP \(bu
2be9d4f0
BP
3212,048 MAC learning entries per bridge, by default. (This is
322configurable via \fBother\-config:mac\-table\-size\fR in the
323\fBBridge\fR table. See \fBovs\-vswitchd.conf.db\fR(5) for details.)
7a7708a0
BP
324.
325.IP \(bu
326Kernel flows are limited only by memory available to the kernel.
327Performance will degrade beyond 1,048,576 kernel flows per bridge with
328a 32-bit kernel, beyond 262,144 with a 64-bit kernel.
329(\fBovs\-vswitchd\fR should never install anywhere near that many
330flows.)
331.
332.IP \(bu
333OpenFlow flows are limited only by available memory. Performance is
334linear in the number of unique wildcard patterns. That is, an
335OpenFlow table that contains many flows that all match on the same
336fields in the same way has a constant-time lookup, but a table that
337contains many flows that match on different fields requires lookup
338time linear in the number of flows.
339.
340.IP \(bu
341255 ports per bridge participating in 802.1D Spanning Tree Protocol.
342.
343.IP \(bu
34432 mirrors per bridge.
345.
346.IP \(bu
34715 bytes for the name of a port. (This is a Linux kernel limitation.)
348.
064af421
BP
349.SH "SEE ALSO"
350.BR ovs\-appctl (8),
76343538 351.BR ovsdb\-server (1),
5fca1acd 352\fBINSTALL.Linux\fR in the Open vSwitch distribution.