diff options
Diffstat (limited to 'static/freebsd/man9/pci_iov_schema.9 3.html')
| -rw-r--r-- | static/freebsd/man9/pci_iov_schema.9 3.html | 233 |
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> — - <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 - <<a class="In">sys/stdarg.h</a>></code> - <br/> - <code class="In">#include <<a class="In">sys/nv.h</a>></code> - <br/> - <code class="In">#include - <<a class="In">sys/iov_schema.h</a>></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 "vlan" parameter accepting an integer argument - specifying the vlan tag. In this case, it would be appropriate to set the - "vlan" 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> - ⟨rstone@FreeBSD.org⟩.</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> |
