6924d420357326260d96a6178424e0cb53960dfc
[sliver-openvswitch.git] / ovsdb / ovsdb-server.1.in
1 .\" -*- nroff -*-
2 .de IQ
3 .  br
4 .  ns
5 .  IP "\\$1"
6 ..
7 .TH ovsdb\-server 1 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
8 .\" This program's name:
9 .ds PN ovsdb\-server
10 .
11 .SH NAME
12 ovsdb\-server \- Open vSwitch database server
13 .
14 .SH SYNOPSIS
15 \fBovsdb\-server\fR
16 [\fIdatabase\fR]\&...
17 [\fB\-\-remote=\fIremote\fR]\&...
18 [\fB\-\-run=\fIcommand\fR]
19 .so lib/daemon-syn.man
20 .so lib/service-syn.man
21 .so lib/vlog-syn.man
22 .so lib/ssl-syn.man
23 .so lib/ssl-bootstrap-syn.man
24 .so lib/unixctl-syn.man
25 .so lib/common-syn.man
26 .
27 .SH DESCRIPTION
28 The \fBovsdb\-server\fR program provides RPC interfaces to one or more
29 Open vSwitch databases (OVSDBs).  It supports JSON-RPC client
30 connections over active or passive TCP/IP or Unix domain sockets.
31 .PP
32 Each OVSDB file may be specified on the command line as \fIdatabase\fR.
33 If none is specified, the default is \fB@DBDIR@/conf.db\fR.  The database
34 files must already have been created and initialized using, for
35 example, \fBovsdb\-tool create\fR.
36 .
37 .SH OPTIONS
38 .
39 .IP "\fB\-\-remote=\fIremote\fR"
40 Adds \fIremote\fR as a connection method used by \fBovsdb\-server\fR.
41 \fIremote\fR must take one of the following forms:
42 .
43 .RS
44 .so ovsdb/remote-passive.man
45 .so ovsdb/remote-active.man
46 .
47 .IP "\fBdb:\fIdb\fB,\fItable\fB,\fIcolumn\fR"
48 Reads additional connection methods from \fIcolumn\fR in all of the
49 rows in \fItable\fR within \fIdb\fR.  As the contents of \fIcolumn\fR changes,
50 \fBovsdb\-server\fR also adds and drops connection methods accordingly.
51 .IP
52 If \fIcolumn\fR's type is string or set of strings, then the
53 connection methods are taken directly from the column.  The connection
54 methods in the column must have one of the forms described above.
55 .IP
56 If \fIcolumn\fR's type is UUID or set of UUIDs and references a table,
57 then each UUID is looked up in the referenced table to obtain a row.
58 The following columns in the row, if present and of the correct type,
59 configure a connection method.  Any additional columns are ignored.
60 .RS
61 .IP "\fBtarget\fR (string)"
62 Connection method, in one of the forms described above.  This column
63 is mandatory: if it is missing or empty then no connection method can
64 be configured.
65 .IP "\fBmax_backoff\fR (integer)"
66 Maximum number of milliseconds to wait between connection attempts.
67 .IP "\fBinactivity_probe\fR (integer)"
68 Maximum number of milliseconds of idle time on connection to
69 client before sending an inactivity probe message.
70 .RE
71 .IP
72 It is an error for \fIcolumn\fR to have another type.
73 .RE
74 .
75 .IP
76 To connect or listen on multiple connection methods, use multiple
77 \fB\-\-remote\fR options.
78 .
79 .IP "\fB\-\-run=\fIcommand\fR]"
80 Ordinarily \fBovsdb\-server\fR runs forever, or until it is told to
81 exit (see \fBRUNTIME MANAGEMENT COMMANDS\fR below).  With this option,
82 \fBovsdb\-server\fR instead starts a shell subprocess running
83 \fIcommand\fR.  When the subprocess terminates, \fBovsdb\-server\fR
84 also exits gracefully.  If the subprocess exits normally with exit
85 code 0, then \fBovsdb\-server\fR exits with exit code 0 also;
86 otherwise, it exits with exit code 1.
87 .IP
88 This option can be useful where a database server is needed only to
89 run a single command, e.g.:
90 .B "ovsdb\-server \-\-remote=punix:socket \-\-run='ovsdb\-client dump unix:socket Open_vSwitch'"
91 .SS "Daemon Options"
92 .ds DD \
93 \fBovsdb\-server\fR detaches only after it starts listening on all \
94 configured remotes.
95 .so lib/daemon.man
96 .SS "Service Options"
97 .so lib/service.man
98 .SS "Logging Options"
99 .so lib/vlog.man
100 .SS "Public Key Infrastructure Options"
101 The options described below for configuring the SSL public key
102 infrastructure accept a special syntax for obtaining their
103 configuration from the database.  If any of these options is given
104 \fBdb:\fIdb\fB,\fItable\fB,\fIcolumn\fR as its argument, then the
105 actual file name is read from the specified \fIcolumn\fR in \fItable\fR
106 within the \fIdb\fR database.  The \fIcolumn\fR must have type
107 string or set of strings.  The first nonempty string in the table is taken
108 as the file name.  (This means that ordinarily there should be at most
109 one row in \fItable\fR.)
110 .so lib/ssl.man
111 .so lib/ssl-bootstrap.man
112 .SS "Other Options"
113 .so lib/unixctl.man
114 .so lib/common.man
115 .SH "RUNTIME MANAGEMENT COMMANDS"
116 \fBovs\-appctl\fR(8) can send commands to a running
117 \fBovsdb\-server\fR process.  The currently supported commands are
118 described below.
119 .SS "OVSDB\-SERVER COMMANDS"
120 These commands are specific to \fBovsdb\-server\fR.
121 .IP "\fBexit\fR"
122 Causes \fBovsdb\-server\fR to gracefully terminate.
123 .IP "\fBovsdb\-server/compact\fR [\fIdb\fR]\&..."
124 Compacts each database \fIdb\fR in-place.  If no \fIdb\fR is
125 specified, compacts every database in-place.  Databases are also
126 automatically compacted occasionally.
127 .
128 .IP "\fBovsdb\-server/reconnect\fR"
129 Makes \fBovsdb\-server\fR drop all of the JSON\-RPC
130 connections to database clients and reconnect.
131 .IP
132 This command might be useful for debugging issues with database
133 clients.
134 .
135 .IP "\fBovsdb\-server/add\-remote \fIremote\fR"
136 Adds a remote, as if \fB\-\-remote=\fIremote\fR had been specified on
137 the \fBovsdb\-server\fR command line.  (If \fIremote\fR is already a
138 remote, this command succeeds without changing the configuration.)
139 .
140 .IP "\fBovsdb\-server/remove\-remote \fIremote\fR"
141 Removes the specified \fIremote\fR from the configuration, failing
142 with an error if \fIremote\fR is not configured as a remote.  This
143 command only works with remotes that were named on \fB\-\-remote\fR or
144 \fBovsdb\-server/add\-remote\fR, that is, it will not remove remotes
145 added indirectly because they were read from the database by
146 configuring a \fBdb:\fIdb\fB,\fItable\fB,\fIcolumn\fR remote.
147 (You can remove a database source with \fBovsdb\-server/remove\-remote
148 \fBdb:\fIdb\fB,\fItable\fB,\fIcolumn\fR, but not individual
149 remotes found indirectly through the database.)
150 .
151 .IP "\fBovsdb\-server/list\-remotes"
152 Outputs a list of the currently configured remotes named on
153 \fB\-\-remote\fR or \fBovsdb\-server/add\-remote\fR, that is, it does
154 not list remotes added indirectly because they were read from the
155 database by configuring a
156 \fBdb:\fIdb\fB,\fItable\fB,\fIcolumn\fR remote.
157 .
158 .IP "\fBovsdb\-server/add\-db \fIdatabase\fR"
159 Adds the \fIdatabase\fR to the running \fBovsdb\-server\fR.  The database
160 file must already have been created and initialized using, for example,
161 \fBovsdb\-tool create\fR.
162 .
163 .IP "\fBovsdb\-server/remove\-db \fIdatabase\fR"
164 Removes \fIdatabase\fR from the running \fBovsdb\-server\fR.  \fIdatabase\fR
165 must be a database name as listed by \fBovsdb-server/list\-dbs\fR.
166 .IP
167 If a remote has been configured that points to the specified
168 \fIdatabase\fR (e.g. \fB\-\-remote=db:\fIdatabase\fB,\fR... on the
169 command line), then it will be disabled until another database with
170 the same name is added again (with \fBovsdb\-server/add\-db\fR).
171 .IP
172 Any public key infrastructure options specified through this database
173 (e.g. \fB\-\-private\-key=db:\fIdatabase,\fR... on the command line)
174 will be disabled until another database with the same name is added
175 again (with \fBovsdb\-server/add\-db\fR).
176 .
177 .IP "\fBovsdb\-server/list\-dbs"
178 Outputs a list of the currently configured databases added either through
179 the command line or through the \fBovsdb\-server/add\-db\fR command.
180 .
181 .so lib/vlog-unixctl.man
182 .so lib/memory-unixctl.man
183 .so lib/coverage-unixctl.man
184 .SH "SEE ALSO"
185 .
186 .BR ovsdb\-tool (1).