ovn: Change h1 titles to title case in documentation.
[cascardo/ovs.git] / ovn / controller / ovn-controller.8.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <manpage program="ovn-controller" section="8" title="ovn-controller">
3     <h1>Name</h1>
4     <p>ovn-controller -- Open Virtual Network local controller</p>
5
6     <h1>Synopsis</h1>
7     <p><code>ovn-controller</code> [<var>options</var>] [<var>ovs-database</var>]</p>
8
9     <h1>Description</h1>
10     <p>
11       <code>ovn-controller</code> is the local controller daemon for
12       OVN, the Open Virtual Network.  It connects up to the OVN
13       Southbound database (see <code>ovn-sb</code>(5)) over the OVSDB
14       protocol, and down to the Open vSwitch database (see
15       <code>ovs-vswitchd.conf.db</code>(5)) over the OVSDB protocol and
16       to <code>ovs-vswitchd</code>(8) via OpenFlow.  Each hypervisor and
17       software gateway in an OVN deployment runs its own independent
18       copy of <code>ovn-controller</code>; thus,
19       <code>ovn-controller</code>'s downward connections are
20       machine-local and do not run over a physical network.
21     </p>
22
23     <h1>Configuration</h1>
24     <p>
25       <code>ovn-controller</code> retrieves most of its configuration
26       information from the local Open vSwitch's ovsdb-server instance.
27       The default location is <code>db.sock</code> in the local Open
28       vSwitch's "run" directory.  It may be overridden by specifying the
29       <var>ovs-database</var> argument in one of the following forms:
30     </p>
31     <ul>
32       <li>
33         <p>
34           <code>ssl:<var>ip</var>:<var>port</var></code>
35         </p>
36         <p>
37           The specified SSL <var>port</var> on the host at the given
38           <var>ip</var>, which must be expressed as an IP address (not a DNS
39           name) in IPv4 or IPv6 address format.  If <var>ip</var> is an IPv6
40           address, then wrap <var>ip</var> with square brackets, e.g.:
41           <code>ssl:[::1]:6640</code>.  The <code>--private-key</code>,
42           <code>--certificate</code> and either of <code>--ca-cert</code>
43           or <code>--bootstrap-ca-cert</code> options are mandatory when this
44           form is used.
45         </p>
46       </li>
47       <li>
48         <p>
49           <code>tcp:<var>ip</var>:<var>port</var></code>
50         </p>
51         <p>
52           Connect to the given TCP <var>port</var> on <var>ip</var>, where
53           <var>ip</var> can be IPv4 or IPv6 address. If <var>ip</var> is an
54           IPv6 address, then wrap <var>ip</var> with square brackets, e.g.:
55           <code>tcp:[::1]:6640</code>.
56         </p>
57       </li>
58       <li>
59         <p>
60           <code>unix:<var>file</var></code>
61         </p>
62         <p>
63           On POSIX, connect to the Unix domain server socket named
64           <var>file</var>.
65         </p>
66         <p>
67           On Windows, connect to a localhost TCP port whose value is written
68           in <var>file</var>.
69         </p>
70       </li>
71     </ul>
72     <p>
73       <code>ovn-controller</code> assumes it gets configuration
74       information from the following keys in the <code>Open_vSwitch</code>
75       table of the local OVS instance:
76     </p>
77     <dl>
78       <dt><code>external_ids:system-id</code></dt>
79       <dd>The chassis name to use in the Chassis table.</dd>
80
81       <dt><code>external_ids:ovn-bridge</code></dt>
82       <dd>
83         The integration bridge to which logical ports are attached.  The
84         default is <code>br-int</code>.  If this bridge does not exist when
85         ovn-controller starts, it will be created automatically with the
86         default configuration suggested in <code>ovn-architecture</code>(7).
87       </dd>
88
89       <dt><code>external_ids:ovn-remote</code></dt>
90       <dd>
91         <p>
92           The OVN database that this system should connect to for its
93           configuration.
94         </p>
95
96         <p>
97           Currently, <code>ovn-controller</code> does not support changing this
98           setting mid-run.  If the value needs to change, the daemon must be
99           restarted.  (This behavior should be improved.)
100         </p>
101       </dd>
102
103       <dt><code>external_ids:ovn-encap-type</code></dt>
104       <dd>
105         The encapsulation type that a chassis should use to connect to this
106         node.  Supported tunnel types for connecting hypervisors are
107         <code>geneve</code> and <code>stt</code>.  Gateways may use
108         <code>geneve</code>, <code>vxlan</code>, or <code>stt</code>.
109       </dd>
110
111       <dt><code>external_ids:ovn-encap-ip</code></dt>
112       <dd>
113         The IP address that a chassis should use to connect to this node using
114         encapsulation type specified by <code>external_ids:ovn-encap-ip</code>.
115       </dd>
116
117       <dt><code>external_ids:ovn-bridge-mappings</code></dt>
118       <dd>
119         A list of key-value pairs that map a physical network name to a local
120         ovs bridge that provides connectivity to that network.  An example
121         value mapping two physical network names to two ovs bridges would be:
122         <code>physnet1:br-eth0,physnet2:br-eth1</code>.
123       </dd>
124     </dl>
125
126     <h1>Open vSwitch Database Usage</h1>
127
128     <p>
129       <code>ovn-controller</code> uses a number of <code>external-ids</code>
130       keys in the Open vSwitch database to keep track of ports and interfaces.
131       For proper operation, users should not change or clear these keys:
132     </p>
133
134     <dl>
135       <dt>
136         <code>external_ids:ovn-chassis-id</code> in the <code>Port</code> table
137       </dt>
138       <dd>
139         The presence of this key identifies a tunnel port within the
140         integration bridge as one created by <code>ovn-controller</code> to
141         reach a remote chassis.  Its value is the chassis ID of the remote
142         chassis.
143       </dd>
144
145       <dt>
146         <code>external-ids:ovn-patch-port</code> in the <code>Port</code> table
147       </dt>
148       <dd>
149         <p>
150           The presence of this key identifies a patch port as one created by
151           <code>ovn-controller</code> to connect the integration bridge and
152           another bridge to implement a <code>localnet</code> logical port.
153           Its value is the name of the physical network that the port
154           implements.  See <code>external_ids:ovn-bridge-mappings</code>,
155           above, for more information.
156         </p>
157
158         <p>
159           Each <code>localnet</code> logical port is implemented as a pair of
160           patch ports, one in the integration bridge, one in a different
161           bridge, with the same <code>external-ids:ovn-patch-port</code> value.
162         </p>
163       </dd>
164     </dl>
165
166     <h1>Runtime Management Commands</h1>
167     <p>
168       <code>ovs-appctl</code> can send commands to a running
169       <code>ovn-controller</code> process.  The currently supported
170       commands are described below.
171       <dl>
172       <dt><code>exit</code></dt>
173       <dd>
174         Causes <code>ovn-controller</code> to gracefully terminate.
175       </dd>
176       </dl>
177     </p>
178
179 </manpage>