File: formatnetworkport.html

package info (click to toggle)
libvirt 5.6.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 240,844 kB
  • sloc: ansic: 584,521; xml: 176,725; sh: 9,912; python: 4,731; perl: 4,343; makefile: 3,321; ml: 465
file content (340 lines) | stat: -rw-r--r-- 12,759 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
  <!--
        This file is autogenerated from formatnetworkport.html.in
        Do not edit this file. Changes will be lost.
      -->
  <!--
        This page was generated at Tue Jul 30 02:04:26 UTC 2019.
      -->
  <head>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1"/>
    <link rel="stylesheet" type="text/css" href="main.css"/>
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/>
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/>
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/>
    <link rel="manifest" href="/manifest.json"/>
    <meta name="theme-color" content="#ffffff"/>
    <title>libvirt: Network XML format</title>
    <meta name="description" content="libvirt, virtualization, virtualization API"/>
    <script type="text/javascript" src="js/main.js">
      <!--// forces non-empty element-->
    </script>
  </head>
  <body onload="pageload()">
    <div id="body">
      <div id="content">
        <h1>Network XML format</h1>
        <ul>
          <li>
            <a href="#elements">Element and attribute overview</a>
            <ul>
              <li>
                <a href="#elementsMetadata">General metadata</a>
              </li>
              <li>
                <a href="#elementsCommon">Common elements</a>
              </li>
              <li>
                <a href="#elementsPlug">Plugs</a>
                <ul>
                  <li>
                    <a href="#elementsPlugNetwork">Network</a>
                  </li>
                  <li>
                    <a href="#elementsPlugNetwork">Bridge</a>
                  </li>
                  <li>
                    <a href="#elementsPlugNetwork">Direct</a>
                  </li>
                  <li>
                    <a href="#elementsPlugNetwork">Host PCI</a>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <p>
      This page provides an introduction to the network port XML format.
      This stores information about the connection between a virtual
      interface of a virtual domain, and the virtual network it is
      attached to.
    </p>
        <h2>
          <a id="elements">Element and attribute overview</a>
          <a class="headerlink" href="#elements" title="Permalink to this headline">¶</a>
        </h2>
        <p>
      The root element required for all virtual network ports is
      named <code>networkport</code> and has no configurable attributes
      The network port XML format is available <span class="since">since
      5.5.0</span>
    </p>
        <h3>
          <a id="elementsMetadata">General metadata</a>
          <a class="headerlink" href="#elementsMetadata" title="Permalink to this headline">¶</a>
        </h3>
        <p>
      The first elements provide basic metadata about the virtual
      network port.
    </p>
        <pre>
&lt;networkport
  &lt;uuid&gt;7ae63b5f-fe96-4af0-a7c3-da04ba1b3f54&lt;/uuid&gt;
  &lt;owner&gt;
    &lt;uuid&gt;06578fc1-c686-46fa-bc2c-220893b466a6&lt;/uuid&gt;
    &lt;name&gt;myguest&lt;name&gt;
  &lt;/owner&gt;
  &lt;group&gt;webfront&lt;group&gt;
  &lt;mac address='52:54:0:7b:35:93'/&gt;
  ...</pre>
        <dl>
          <dt>
            <code>uuid</code>
          </dt>
          <dd>The content of the <code>uuid</code> element provides
        a globally unique identifier for the virtual network port.
        The format must be RFC 4122 compliant, eg <code>3e3fce45-4f53-4fa7-bb32-11f34168b82b</code>.
        If omitted when defining/creating a new network port, a random
        UUID is generated.</dd>
          <dd>The <code>owner</code> node records the domain object that
        is the owner of the network port. It contains two child nodes:
        <dl><dt><code>uuid</code></dt><dd>The content of the <code>uuid</code> element provides
            a globally unique identifier for the virtual domain.</dd><dt><code>name</code></dt><dd>The unique name of the virtual domain</dd></dl>
      </dd>
          <dt>
            <code>group</code>
          </dt>
          <dd>The port group in the virtual network to which the
        port belongs. Can be omitted if no port groups are
        defined on the network.</dd>
          <dt>
            <code>mac</code>
          </dt>
          <dd>The <code>address</code> attribute provides the MAC
        address of the virtual port that will be see by the
        guest. The MAC address must not start with 0xFE as this
        byte is reserved for use on the host side of the port.
      </dd>
        </dl>
        <h3>
          <a id="elementsCommon">Common elements</a>
          <a class="headerlink" href="#elementsCommon" title="Permalink to this headline">¶</a>
        </h3>
        <p>
      The following elements are common to one or more of the plug
      types listed later
    </p>
        <pre>
  ...
  &lt;bandwidth&gt;
    &lt;inbound average='1000' peak='5000' floor='200' burst='1024'/&gt;
    &lt;outbound average='128' peak='256' burst='256'/&gt;
  &lt;/bandwidth&gt;
  &lt;rxfilters trustGuest='yes'/&gt;
  &lt;virtualport type='802.1Qbg'&gt;
    &lt;parameters managerid='11' typeid='1193047' typeidversion='2'/&gt;
  &lt;/virtualport&gt;
  ...</pre>
        <dl>
          <dt>
            <code>bandwidth</code>
          </dt>
          <dd>This part of the network port XML provides setting quality of service.
        Incoming and outgoing traffic can be shaped independently.
        The <code>bandwidth</code> element and its child elements are described
        in the <a href="formatnetwork.html#elementQoS">QoS</a> section of
        the Network XML. In addition the <code>classID</code> attribute may
        exist to provide the ID of the traffic shaping class that is active.
      </dd>
          <dt>
            <code>rxfilters</code>
          </dt>
          <dd>The <code>rxfilters</code> element property
        <code>trustGuest</code> provides the
        capability for the host to detect and trust reports from the
        guest regarding changes to the interface mac address and receive
        filters by setting the attribute to <code>yes</code>. The default
        setting for the attribute is <code>no</code> for security
        reasons and support depends on the guest network device model as
        well as the type of connection on the host - currently it is
        only supported for the virtio device model and for macvtap
        connections on the host.
      </dd>
          <dt>
            <code>virtualport</code>
          </dt>
          <dd>The <code>virtualport</code> element describes metadata that
        needs to be provided to the underlying network subsystem. It
        is described in the domain XML
        <a href="formatdomain.html#elementsNICS">interface documentation</a>.
      </dd>
        </dl>
        <h3>
          <a id="elementsPlug">Plugs</a>
          <a class="headerlink" href="#elementsPlug" title="Permalink to this headline">¶</a>
        </h3>
        <p>
      The <code>plug</code> element has varying content depending
      on the value of the <code>type</code> attribute.
    </p>
        <h4>
          <a id="elementsPlugNetwork">Network</a>
          <a class="headerlink" href="#elementsPlugNetwork" title="Permalink to this headline">¶</a>
        </h4>
        <p>
      The <code>network</code> plug type refers to a managed virtual
      network plug that is based on a traditional software bridge
      device privately managed by libvirt.
    </p>
        <pre>
  ...
  &lt;plug type='network' bridge='virbr0'/&gt;
  ...</pre>
        <p>
      The <code>bridge</code> attribute provides the name of the
      privately managed bridge device associated with the virtual
      network.
    </p>
        <h4>
          <a id="elementsPlugNetwork">Bridge</a>
          <a class="headerlink" href="#elementsPlugNetwork" title="Permalink to this headline">¶</a>
        </h4>
        <p>
      The <code>bridge</code> plug type refers to an externally
      managed traditional software bridge.
    </p>
        <pre>
  ...
  &lt;plug type='bridge' bridge='br2'/&gt;
  ...</pre>
        <p>
      The <code>bridge</code> attribute provides the name of the
      externally managed bridge device associated with the virtual
      network.
    </p>
        <h4>
          <a id="elementsPlugNetwork">Direct</a>
          <a class="headerlink" href="#elementsPlugNetwork" title="Permalink to this headline">¶</a>
        </h4>
        <p>
      The <code>direct</code> plug type refers to a connection
      directly to a physical network interface.
    </p>
        <pre>
  ...
  &lt;plug type='direct' dev='ens3' mode='vepa'/&gt;
  ...</pre>
        <p>
      The <code>dev</code> attribute provides the name of the
      physical network interface to which the port will be
      connected. The <code>mode</code> attribute describes
      how the connection will be setup and takes the same
      values described in the
      <a href="formatdomain.html#elementsNICSDirect">domain XML</a>.
    </p>
        <h4>
          <a id="elementsPlugNetwork">Host PCI</a>
          <a class="headerlink" href="#elementsPlugNetwork" title="Permalink to this headline">¶</a>
        </h4>
        <p>
      The <code>hostdev-pci</code> plug type refers to the
      passthrough of a physical PCI device rather than emulation.
    </p>
        <pre>
  ...
  &lt;plug type='hostdev-pci' managed='yes'&gt;
    &lt;driver name='vfio'/&gt;
    &lt;address domain='0x0001' bus='0x02' slot='0x03' function='0x4'/&gt;
  &lt;/plug&gt;
  ...</pre>
        <p>
      The <code>managed</code> attribute indicates who is responsible for
      managing the PCI device in the host. When set to the value <code>yes</code>
      libvirt is responsible for automatically detaching the device from host
      drivers and resetting it if needed. If the value is <code>no</code>,
      some other party must ensure the device is not attached to any
      host drivers.
    </p>
      </div>
    </div>
    <div id="nav">
      <div id="home">
        <a href="index.html">Home</a>
      </div>
      <div id="jumplinks">
        <ul>
          <li>
            <a href="downloads.html">Download</a>
          </li>
          <li>
            <a href="contribute.html">Contribute</a>
          </li>
          <li>
            <a href="docs.html">Docs</a>
          </li>
        </ul>
      </div>
      <div id="search">
        <form id="simplesearch" action="https://www.google.com/search" enctype="application/x-www-form-urlencoded" method="get">
          <div>
            <input id="searchsite" name="sitesearch" type="hidden" value="libvirt.org"/>
            <input id="searchq" name="q" type="text" size="12" value=""/>
            <input name="submit" type="submit" value="Go"/>
          </div>
        </form>
        <div id="advancedsearch">
          <span>
            <input type="radio" name="what" id="whatwebsite" checked="checked" value="website"/>
            <label for="whatwebsite">Website</label>
          </span>
          <span>
            <input type="radio" name="what" id="whatwiki" value="wiki"/>
            <label for="whatwiki">Wiki</label>
          </span>
          <span>
            <input type="radio" name="what" id="whatdevs" value="devs"/>
            <label for="whatdevs">Developers list</label>
          </span>
          <span>
            <input type="radio" name="what" id="whatusers" value="users"/>
            <label for="whatusers">Users list</label>
          </span>
        </div>
      </div>
    </div>
    <div id="footer">
      <div id="contact">
        <h3>Contact</h3>
        <ul>
          <li>
            <a href="contact.html#email">email</a>
          </li>
          <li>
            <a href="contact.html#irc">irc</a>
          </li>
        </ul>
      </div>
      <div id="community">
        <h3>Community</h3>
        <ul>
          <li>
            <a href="https://twitter.com/hashtag/libvirt">twitter</a>
          </li>
          <li>
            <a href="http://stackoverflow.com/questions/tagged/libvirt">stackoverflow</a>
          </li>
          <li>
            <a href="http://serverfault.com/questions/tagged/libvirt">serverfault</a>
          </li>
        </ul>
      </div>
      <div id="conduct">
            Participants in the libvirt project agree to abide by <a href="governance.html#codeofconduct">the project code of conduct</a></div>
      <br class="clear"/>
    </div>
  </body>
</html>