summaryrefslogtreecommitdiff
path: root/static/freebsd/man9/pci_iov_schema.9 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man9/pci_iov_schema.9 3.html')
-rw-r--r--static/freebsd/man9/pci_iov_schema.9 3.html233
1 files changed, 0 insertions, 233 deletions
diff --git a/static/freebsd/man9/pci_iov_schema.9 3.html b/static/freebsd/man9/pci_iov_schema.9 3.html
deleted file mode 100644
index ae4d9e47..00000000
--- a/static/freebsd/man9/pci_iov_schema.9 3.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">PCI_IOV_SCHEMA(9)</td>
- <td class="head-vol">Kernel Developer's Manual</td>
- <td class="head-rtitle">PCI_IOV_SCHEMA(9)</td>
- </tr>
-</table>
-<div class="manual-text">
-<section class="Sh">
-<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
-<p class="Pp"><code class="Nm">pci_iov_schema</code>,
- <code class="Nm">pci_iov_schema_alloc_node</code>,
- <code class="Nm">pci_iov_schema_add_bool</code>,
- <code class="Nm">pci_iov_schema_add_string</code>,
- <code class="Nm">pci_iov_schema_add_uint8</code>,
- <code class="Nm">pci_iov_schema_add_uint16</code>,
- <code class="Nm">pci_iov_schema_add_uint32</code>,
- <code class="Nm">pci_iov_schema_add_uint64</code>,
- <code class="Nm">pci_iov_schema_add_unicast_mac</code> &#x2014;
- <span class="Nd">PCI SR-IOV config schema interface</span></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
-<p class="Pp"><code class="In">#include
- &lt;<a class="In">sys/stdarg.h</a>&gt;</code>
- <br/>
- <code class="In">#include &lt;<a class="In">sys/nv.h</a>&gt;</code>
- <br/>
- <code class="In">#include
- &lt;<a class="In">sys/iov_schema.h</a>&gt;</code></p>
-<p class="Pp"><var class="Ft">nvlist_t *</var>
- <br/>
- <code class="Fn">pci_iov_schema_alloc_node</code>(<var class="Fa" style="white-space: nowrap;">void</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">pci_iov_schema_add_bool</code>(<var class="Fa" style="white-space: nowrap;">nvlist_t
- *schema</var>, <var class="Fa" style="white-space: nowrap;">const char
- *name</var>, <var class="Fa" style="white-space: nowrap;">uint32_t
- flags</var>, <var class="Fa" style="white-space: nowrap;">int
- defaultVal</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">pci_iov_schema_add_string</code>(<var class="Fa" style="white-space: nowrap;">nvlist_t
- *schema</var>, <var class="Fa" style="white-space: nowrap;">const char
- *name</var>, <var class="Fa" style="white-space: nowrap;">uint32_t
- flags</var>, <var class="Fa" style="white-space: nowrap;">const char
- *defaultVal</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">pci_iov_schema_add_uint8</code>(<var class="Fa" style="white-space: nowrap;">nvlist_t
- *schema</var>, <var class="Fa" style="white-space: nowrap;">const char
- *name</var>, <var class="Fa" style="white-space: nowrap;">uint32_t
- flags</var>, <var class="Fa" style="white-space: nowrap;">uint8_t
- defaultVal</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">pci_iov_schema_add_uint16</code>(<var class="Fa" style="white-space: nowrap;">nvlist_t
- *schema</var>, <var class="Fa" style="white-space: nowrap;">const char
- *name</var>, <var class="Fa" style="white-space: nowrap;">uint32_t
- flags</var>, <var class="Fa" style="white-space: nowrap;">uint16_t
- defaultVal</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">pci_iov_schema_add_uint32</code>(<var class="Fa" style="white-space: nowrap;">nvlist_t
- *schema</var>, <var class="Fa" style="white-space: nowrap;">const char
- *name</var>, <var class="Fa" style="white-space: nowrap;">uint32_t
- flags</var>, <var class="Fa" style="white-space: nowrap;">uint32_t
- defaultVal</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">pci_iov_schema_add_uint64</code>(<var class="Fa" style="white-space: nowrap;">nvlist_t
- *schema</var>, <var class="Fa" style="white-space: nowrap;">const char
- *name</var>, <var class="Fa" style="white-space: nowrap;">uint32_t
- flags</var>, <var class="Fa" style="white-space: nowrap;">uint64_t
- defaultVal</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">pci_iov_schema_add_unicast_mac</code>(<var class="Fa" style="white-space: nowrap;">nvlist_t
- *schema</var>, <var class="Fa" style="white-space: nowrap;">const char
- *name</var>, <var class="Fa" style="white-space: nowrap;">uint32_t
- flags</var>, <var class="Fa" style="white-space: nowrap;">const uint8_t
- *defaultVal</var>);</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
-<p class="Pp">The PCI Single-Root I/O Virtualization (SR-IOV) configuration
- schema is a data structure that describes the device-specific configuration
- parameters that a PF driver will accept when SR-IOV is enabled on the PF
- device. Each PF driver defines two schema instances: the PF schema and the
- VF schema. The PF schema describes configuration that applies to the PF
- device as a whole. The VF schema describes configuration that applies to an
- individual VF device. Different VF devices may have different configuration
- applied to them, as long as the configuration for each VF conforms to the VF
- schema.</p>
-<p class="Pp">A PF driver builds a configuration schema by first allocating a
- schema node and then adding configuration parameter specifications to the
- schema. The configuration parameter specification consists of a name and a
- value type.</p>
-<p class="Pp">Configuration parameter names are case-insensitive. It is an error
- to specify two or more configuration parameters with the same name. It is
- also an error to specific a configuration parameter that uses the same name
- as a configuration parameter used by the SR-IOV infrastructure. See
- <a class="Xr">iovctl.conf(5)</a> for documentation of all configuration
- parameters used by the SR-IOV infrastructure.</p>
-<p class="Pp">The parameter type constrains the possible values that the
- configuration parameter may take.</p>
-<p class="Pp">A configuration parameter may be specified as a required parameter
- by setting the <code class="Dv">IOV_SCHEMA_REQUIRED</code> flag in the
- <span class="Pa">flags</span> argument. Required parameters must be
- specified by the user when SR-IOV is enabled. If the user does not specify a
- required parameter, the SR-IOV infrastructure will abort the request to
- enable SR-IOV and return an error to the user.</p>
-<p class="Pp">Alternatively, a configuration parameter may be given a default
- value by setting the <code class="Dv">IOV_SCHEMA_HASDEFAULT</code> flag in
- the <span class="Pa">flags</span> argument. If a configuration parameter has
- a default value but the user has not specified a value for that parameter,
- then the SR-IOV infrastructure will apply <span class="Pa">defaultVal</span>
- for that parameter in the configuration before passing it to the PF driver.
- It is an error for the value of the <span class="Pa">defaultVal</span>
- parameter to not conform to the restrictions of the specified type. If this
- flag is not specified then the <span class="Pa">defaultVal</span> argument
- is ignored. This flag is not compatible with the
- <code class="Dv">IOV_SCHEMA_REQUIRED</code> flag; it is an error to specify
- both on the same parameter.</p>
-<p class="Pp">The SR-IOV infrastructure guarantees that all configuration
- parameters that are either specified as required or given a default value
- will be present in the configuration passed to the PF driver. Configuration
- parameters that are neither specified as required nor given a default value
- are optional and may or may not be present in the configuration passed to
- the PF driver.</p>
-<p class="Pp">It is highly recommended that a PF driver reserve the use of
- optional parameters for configuration that is truly optional. For example, a
- Network Interface PF device might have the option to encapsulate all traffic
- to and from a VF device in a vlan tag. The PF driver could expose that
- option as a &quot;vlan&quot; parameter accepting an integer argument
- specifying the vlan tag. In this case, it would be appropriate to set the
- &quot;vlan&quot; parameter as an optional parameter as it would be
- legitimate for a VF to be configured to have no vlan tagging enabled at
- all.</p>
-<p class="Pp">Alternatively, if the PF device had an boolean option that
- controlled whether the VF was allowed to change its MAC address, it would
- not be appropriate to set this parameter as optional. The PF driver must
- either allow the MAC to change or not, so it would be more appropriate for
- the PF driver to document the default behaviour by specifying a default
- value in the schema (or potentially force the user to make the choice by
- setting the parameter to be required).</p>
-<p class="Pp">Configuration parameters that have security implications must
- default to the most secure configuration possible.</p>
-<p class="Pp">All device-specific configuration parameters must be documented in
- the manual page for the PF driver, or in a separate manual page that is
- cross-referenced from the main driver manual page.</p>
-<p class="Pp">It is not necessary for a PF driver to check for failure from any
- of these functions. If an error occurs, it is flagged in the schema. The
- <a class="Xr">pci_iov_attach(9)</a> function checks for this error and will
- fail to initialize SR-IOV on the PF device if an error is set in the schema.
- If this occurs, it is recommended that the PF driver still succeed in
- attaching and run with SR-IOV disabled on the device.</p>
-<p class="Pp" id="pci_iov_schema_alloc_node">The
- <a class="permalink" href="#pci_iov_schema_alloc_node"><code class="Fn">pci_iov_schema_alloc_node</code></a>()
- function is used to allocate an empty configuration schema. It is not
- necessary to check for failure from this function. The SR-IOV infrastructure
- will gracefully handle failure to allocate a schema and will simply not
- enable SR-IOV on the PF device.</p>
-<p class="Pp" id="pci_iov_schema_add_bool">The
- <a class="permalink" href="#pci_iov_schema_add_bool"><code class="Fn">pci_iov_schema_add_bool</code></a>()
- function is used to specify a configuration parameter in the given schema
- with the name <span class="Pa">name</span> and having a boolean type.
- Boolean values can only take the value true or false (1 or 0,
- respectively).</p>
-<p class="Pp" id="pci_iov_schema_add_string">The
- <a class="permalink" href="#pci_iov_schema_add_string"><code class="Fn">pci_iov_schema_add_string</code></a>()
- function is used to specify a configuration parameter in the given schema
- with the name <span class="Pa">name</span> and having a string type. String
- values are standard C strings.</p>
-<p class="Pp" id="pci_iov_schema_add_uint8">The
- <a class="permalink" href="#pci_iov_schema_add_uint8"><code class="Fn">pci_iov_schema_add_uint8</code></a>()
- function is used to specify a configuration parameter in the given schema
- with the name <span class="Pa">name</span> and having a
- <var class="Vt">uint8_t</var> type. Values of type
- <var class="Vt">uint8_t</var> are unsigned integers in the range 0 to 255,
- inclusive.</p>
-<p class="Pp" id="pci_iov_schema_add_uint16">The
- <a class="permalink" href="#pci_iov_schema_add_uint16"><code class="Fn">pci_iov_schema_add_uint16</code></a>()
- function is used to specify a configuration parameter in the given schema
- with the name <span class="Pa">name</span> and having a
- <var class="Vt">uint16_t</var> type. Values of type
- <var class="Vt">uint16_t</var> are unsigned integers in the range 0 to
- 65535, inclusive.</p>
-<p class="Pp" id="pci_iov_schema_add_uint32">The
- <a class="permalink" href="#pci_iov_schema_add_uint32"><code class="Fn">pci_iov_schema_add_uint32</code></a>()
- function is used to specify a configuration parameter in the given schema
- with the name <span class="Pa">name</span> and having a
- <var class="Vt">uint32_t</var> type. Values of type
- <var class="Vt">uint32_t</var> are unsigned integers in the range 0 to
- (2**32 - 1), inclusive.</p>
-<p class="Pp" id="pci_iov_schema_add_uint64">The
- <a class="permalink" href="#pci_iov_schema_add_uint64"><code class="Fn">pci_iov_schema_add_uint64</code></a>()
- function is used to specify a configuration parameter in the given schema
- with the name <span class="Pa">name</span> and having a
- <var class="Vt">uint64_t</var> type. Values of type
- <var class="Vt">uint64_t</var> are unsigned integers in the range 0 to
- (2**64 - 1), inclusive.</p>
-<p class="Pp" id="pci_iov_schema_add_unicast_mac">The
- <a class="permalink" href="#pci_iov_schema_add_unicast_mac"><code class="Fn">pci_iov_schema_add_unicast_mac</code></a>()
- function is used to specify a configuration parameter in the given schema
- with the name <span class="Pa">name</span> and having a unicast-mac type.
- Values of type unicast-mac are binary values exactly 6 bytes long. The MAC
- address is guaranteed to not be a multicast or broadcast address.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN
- VALUES</a></h1>
-<p class="Pp">The <code class="Fn">pci_iov_schema_alloc_node</code>() function
- returns a pointer to the allocated schema, or NULL if a failure occurs.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
- ALSO</a></h1>
-<p class="Pp"><a class="Xr">pci(9)</a>, <a class="Xr">PCI_IOV_ADD_VF(9)</a>,
- <a class="Xr">PCI_IOV_INIT(9)</a></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
-<p class="Pp">This manual page was written by <span class="An">Ryan Stone</span>
- &#x27E8;rstone@FreeBSD.org&#x27E9;.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">July 8, 2015</td>
- <td class="foot-os">FreeBSD 15.0</td>
- </tr>
-</table>