diff options
Diffstat (limited to 'static/freebsd/man9/iflibdd.9 4.html')
| -rw-r--r-- | static/freebsd/man9/iflibdd.9 4.html | 367 |
1 files changed, 0 insertions, 367 deletions
diff --git a/static/freebsd/man9/iflibdd.9 4.html b/static/freebsd/man9/iflibdd.9 4.html deleted file mode 100644 index a3986f5d..00000000 --- a/static/freebsd/man9/iflibdd.9 4.html +++ /dev/null @@ -1,367 +0,0 @@ -<table class="head"> - <tr> - <td class="head-ltitle">IFLIBDD(9)</td> - <td class="head-vol">Kernel Developer's Manual</td> - <td class="head-rtitle">IFLIBDD(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">iflibdd</code> — <span class="Nd">Device - Dependent Configuration Functions</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">ifdi_if.h</a>></code></p> -<section class="Ss"> -<h2 class="Ss" id="Soft_Queue_Setup_and_Teardown_Functions"><a class="permalink" href="#Soft_Queue_Setup_and_Teardown_Functions">Soft - Queue Setup and Teardown Functions</a></h2> -</section> -<section class="Ss"> -<h2 class="Ss">Mandatory Functions</h2> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_tx_queues_alloc</code>(<var class="Fa">if_ctx_t - ctx</var>, <var class="Fa">caddr_t *vaddrs</var>, <var class="Fa">uint64_t - *paddrs</var>, <var class="Fa">int ntxqs</var>, <var class="Fa">int - ntxqsets</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_rx_queues_alloc</code>(<var class="Fa">if_ctx_t - ctx</var>, <var class="Fa">caddr_t *vaddrs</var>, <var class="Fa">uint64_t - *paddrs</var>, <var class="Fa">int nrxqs</var>, <var class="Fa">int - nrxqsets</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_queues_free</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -</section> -<section class="Ss"> -<h2 class="Ss">Optional Functions</h2> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_txq_setup</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">uint16_t qid</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_rxq_setup</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">uint16_t qid</var>);</p> -</section> -<section class="Ss"> -<h2 class="Ss" id="Device_Setup_and_Teardown_Functions"><a class="permalink" href="#Device_Setup_and_Teardown_Functions">Device - Setup and Teardown Functions</a></h2> -</section> -<section class="Ss"> -<h2 class="Ss">Mandatory Functions</h2> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_attach_pre</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_attach_post</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_detach</code>(<var class="Fa">if_ctx_t ctx</var>);</p> -</section> -<section class="Ss"> -<h2 class="Ss">Optional Functions</h2> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_vlan_register</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">uint16_t vtag</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_vlan_unregister</code>(<var class="Fa">if_ctx_t - ctx</var>, <var class="Fa">uint16_t vtag</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_suspend</code>(<var class="Fa">if_ctx_t ctx</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_resume</code>(<var class="Fa">if_ctx_t ctx</var>);</p> -</section> -<section class="Ss"> -<h2 class="Ss">Device Configuration Functions</h2> -</section> -<section class="Ss"> -<h2 class="Ss">Mandatory Functions</h2> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_init</code>(<var class="Fa">if_ctx_t ctx</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_stop</code>(<var class="Fa">if_ctx_t ctx</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_multi_set</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_mtu_set</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">uint32_t mtu</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_media_status</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">struct ifmediareq *ifr</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_media_change</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_promisc_set</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">int flags</var>);</p> -<p class="Pp"><var class="Ft">uint64_t</var> - <br/> - <code class="Fn">ifdi_get_counter</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">ift_counter cnt</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_update_admin_status</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -</section> -<section class="Ss"> -<h2 class="Ss">Optional Functions</h2> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_media_set</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -</section> -<section class="Ss"> -<h2 class="Ss" id="Interrupt_enable/disable"><a class="permalink" href="#Interrupt_enable/disable">Interrupt - enable/disable</a></h2> -</section> -<section class="Ss"> -<h2 class="Ss">Mandatory Functions</h2> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_intr_enable</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_queue_intr_enable</code>(<var class="Fa">if_ctx_t - ctx</var>, <var class="Fa">uint16_t qid</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_intr_disable</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -</section> -<section class="Ss"> -<h2 class="Ss" id="IOV_Support"><a class="permalink" href="#IOV_Support">IOV - Support</a></h2> -<p class="Pp"><var class="Ft">init</var> - <br/> - <code class="Fn">iov_init</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">uint16_t num_vfs</var>, <var class="Fa">const nvlist_t - *params</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">iov_uinit</code>(<var class="Fa">if_ctx_t ctx</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_vflr_handle</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_vf_add</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">uint16_t vfnum</var>, <var class="Fa">const nvlist_t - *params</var>);</p> -</section> -<section class="Ss"> -<h2 class="Ss">Optional Functions</h2> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_link_intr_enable</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -</section> -<section class="Ss"> -<h2 class="Ss" id="Optional_Service_Routines"><a class="permalink" href="#Optional_Service_Routines">Optional - Service Routines</a></h2> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_timer</code>(<var class="Fa">if_ctx_t ctx</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_watchdog_reset</code>(<var class="Fa">if_ctx_t - ctx</var>);</p> -</section> -<section class="Ss"> -<h2 class="Ss">Additional Functions</h2> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ifdi_led_func</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">int onoff</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_sysctl_int_delay</code>(<var class="Fa">if_ctx_t - ctx</var>, <var class="Fa">if_int_delay_info_t iidi</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ifdi_i2c_req</code>(<var class="Fa">if_ctx_t ctx</var>, - <var class="Fa">struct ifi2creq *req</var>);</p> -</section> -</section> -<section class="Sh"> -<h1 class="Sh" id="FUNCTIONS"><a class="permalink" href="#FUNCTIONS">FUNCTIONS</a></h1> -<p class="Pp">The above named functions are device dependent configuration - functions. These routines are registered with iflib by the driver and are - called from the corresponding iflib function to configure device specific - functions and registers.</p> -<section class="Ss"> -<h2 class="Ss" id="Device_Dependent_Functions"><a class="permalink" href="#Device_Dependent_Functions">Device - Dependent Functions</a></h2> -</section> -<section class="Ss"> -<h2 class="Ss" id="Soft_Queue_Setup_and_Teardown"><a class="permalink" href="#Soft_Queue_Setup_and_Teardown">Soft - Queue Setup and Teardown</a></h2> -<dl class="Bl-ohang Bd-indent"> - <dt id="ifdi_tx_queues_alloc"><a class="permalink" href="#ifdi_tx_queues_alloc"><code class="Fn">ifdi_tx_queues_alloc</code></a>()</dt> - <dd>Mandatory function that is called during iflib_attach to allocate transmit - queues. vaddrs and paddrs are arrays of virtual and physical addresses - respectively of the hardware transmit queues. ntxqs is the number of - queues per qset. ntxqsets is the number of qsets.</dd> - <dt id="ifdi_rx_queues_alloc"><a class="permalink" href="#ifdi_rx_queues_alloc"><code class="Fn">ifdi_rx_queues_alloc</code></a>()</dt> - <dd>Mandatory function that is called during iflib_attach to allocate receive - queues. vaddrs and paddrs are arrays of virtual and physical addresses - respectively of the hardware receive queues. nrxqs is the number of queues - per qset. nrxqsets is the number of qsets.</dd> - <dt id="ifdi_queues_free"><a class="permalink" href="#ifdi_queues_free"><code class="Fn">ifdi_queues_free</code></a>()</dt> - <dd>Mandatory function that frees the allocated queues and associated transmit - buffers.</dd> - <dt id="ifdi_txq_setup"><a class="permalink" href="#ifdi_txq_setup"><code class="Fn">ifdi_txq_setup</code></a>()</dt> - <dd>Optional function for each transmit queue that handles device specific - initialization.</dd> - <dt id="ifdi_rxq_setup"><a class="permalink" href="#ifdi_rxq_setup"><code class="Fn">ifdi_rxq_setup</code></a>()</dt> - <dd>Optional function for each receive queue that handles device specific - initialization.</dd> -</dl> -</section> -<section class="Ss"> -<h2 class="Ss" id="Device_Setup_and_Teardown"><a class="permalink" href="#Device_Setup_and_Teardown">Device - Setup and Teardown</a></h2> -<dl class="Bl-ohang Bd-indent"> - <dt id="ifdi_attach_pre"><a class="permalink" href="#ifdi_attach_pre"><code class="Fn">ifdi_attach_pre</code></a>()</dt> - <dd>Mandatory function implemented by the driver to perform any attach logic - that procedes interrupt and queue allocation, queue setup, and interrupt - assignment.</dd> - <dt id="ifdi_attach_post"><a class="permalink" href="#ifdi_attach_post"><code class="Fn">ifdi_attach_post</code></a>()</dt> - <dd>Mandatory function implemented by the driver to perform any attach logic - that occurs after ifdi_attach_pre, and iflib's queue setup and MSI/MSIX(X) - or legacy interrupt assignment.</dd> - <dt id="ifdi_detach"><a class="permalink" href="#ifdi_detach"><code class="Fn">ifdi_detach</code></a>()</dt> - <dd>Mandatory function that frees any resources allocated by the driver in - ifdi_attach_pre and ifdi_attach_post.</dd> - <dt id="ifdi_vlan_register"><a class="permalink" href="#ifdi_vlan_register"><code class="Fn">ifdi_vlan_register</code></a>()</dt> - <dd>Optional function called by the VLAN config eventhandler. - <var class="Va">vtag</var> is the new VLAN tag.</dd> - <dt id="ifdi_vlan_unregister"><a class="permalink" href="#ifdi_vlan_unregister"><code class="Fn">ifdi_vlan_unregister</code></a>()</dt> - <dd>Optional function called by the VLAN unconfig eventhandler.</dd> - <dt id="ifdi_suspend"><a class="permalink" href="#ifdi_suspend"><code class="Fn">ifdi_suspend</code></a>()</dt> - <dd>Optional function that suspends the driver.</dd> - <dt id="ifdi_resume"><a class="permalink" href="#ifdi_resume"><code class="Fn">ifdi_resume</code></a>()</dt> - <dd>Optional function that resumes a driver.</dd> -</dl> -</section> -<section class="Ss"> -<h2 class="Ss">Device Configuration Functions</h2> -<dl class="Bl-ohang Bd-indent"> - <dt id="ifdi_init"><a class="permalink" href="#ifdi_init"><code class="Fn">ifdi_init</code></a>()</dt> - <dd>Mandatory function that will initialize and bring up the hardware. For - example, it will reset the chip and enable the receiver unit. It should - mark the interface running, but not active ( - <code class="Dv">IFF_DRV_RUNNING</code>, <code class="Dv">~IIF_DRV_OACTIVE - ).</code></dd> - <dt id="ifdi_stop"><a class="permalink" href="#ifdi_stop"><code class="Fn">ifdi_stop</code></a>()</dt> - <dd>Mandatory function that should disable all traffic on the interface by - issuing a global reset on the MAC and deallocating the TX and RX - buffers.</dd> - <dt id="ifdi_multi_set"><a class="permalink" href="#ifdi_multi_set"><code class="Fn">ifdi_multi_set</code></a>()</dt> - <dd>Programs the interfaces multicast addresses</dd> - <dt id="ifdi_media_status"><a class="permalink" href="#ifdi_media_status"><code class="Fn">ifdi_media_status</code></a>()</dt> - <dd>Media Ioctl Callback. Function is called whenever the user queries the - status of the interface using <a class="Xr">ifconfig(8)</a>. The driver - sets the appropriate link type and speed in ifmr->ifm_active.</dd> - <dt id="ifdi_mtu_set"><a class="permalink" href="#ifdi_mtu_set"><code class="Fn">ifdi_mtu_set</code></a>()</dt> - <dd>Sets the mtu interface to the value of the second function parameter - mtu.</dd> - <dt id="ifdi_media_change"><a class="permalink" href="#ifdi_media_change"><code class="Fn">ifdi_media_change</code></a>()</dt> - <dd>Function is called when the user changes speed/duplex using the - media/mediaopt option with <a class="Xr">ifconfig(8)</a>.</dd> - <dt id="ifdi_promisc_set"><a class="permalink" href="#ifdi_promisc_set"><code class="Fn">ifdi_promisc_set</code></a>()</dt> - <dd>Enables or disables promisc settings depending upon the flags value. - <var class="Va">flags</var> contains the interface's - <a class="Xr">ifnet(9)</a> flags.</dd> - <dt id="ifdi_get_counter"><a class="permalink" href="#ifdi_get_counter"><code class="Fn">ifdi_get_counter</code></a>()</dt> - <dd>Returns the value for counter cnt depending upon counter type.</dd> - <dt id="ifdi_update_admin_status"><a class="permalink" href="#ifdi_update_admin_status"><code class="Fn">ifdi_update_admin_status</code></a>()</dt> - <dd>Sets the link_up state to TRUE or FALSE depending upon the OS link state. - A real check of the hardware only happens with a link interrupt.</dd> - <dt id="ifdi_media_set"><a class="permalink" href="#ifdi_media_set"><code class="Fn">ifdi_media_set</code></a>()</dt> - <dd>Need to define</dd> -</dl> -</section> -<section class="Ss"> -<h2 class="Ss" id="Interrupt_Enable/Disable"><a class="permalink" href="#Interrupt_Enable/Disable">Interrupt - Enable/Disable</a></h2> -<dl class="Bl-ohang Bd-indent"> - <dt id="ifdi_intr_enable"><a class="permalink" href="#ifdi_intr_enable"><code class="Fn">ifdi_intr_enable</code></a>()</dt> - <dd>Mandatory function that enables all interrupts.</dd> - <dt id="ifdi_intr_disable"><a class="permalink" href="#ifdi_intr_disable"><code class="Fn">ifdi_intr_disable</code></a>()</dt> - <dd>Mandatory function that disables all interrupts.</dd> - <dt id="ifdi_queue_intr_enable"><a class="permalink" href="#ifdi_queue_intr_enable"><code class="Fn">ifdi_queue_intr_enable</code></a>()</dt> - <dd>Mandatory function that enables interrupts on queue qid.</dd> - <dt id="iov_init"><a class="permalink" href="#iov_init"><code class="Fn">iov_init</code></a>()</dt> - <dd>Initialize num_vfs VFs.</dd> - <dt id="io_uninit"><a class="permalink" href="#io_uninit"><code class="Fn">io_uninit</code></a>()</dt> - <dd>Tear down the context for all VFs.</dd> - <dt id="ifdi_vflr_handle"><a class="permalink" href="#ifdi_vflr_handle"><code class="Fn">ifdi_vflr_handle</code></a>()</dt> - <dd>Handle any VFs that have reset themselves via a Function Level Reset - (FLR).</dd> - <dt id="ifdi_vf_add"><a class="permalink" href="#ifdi_vf_add"><code class="Fn">ifdi_vf_add</code></a>()</dt> - <dd>Set parameters in params in VF vfnum.</dd> -</dl> -</section> -<section class="Ss"> -<h2 class="Ss" id="Service_Routines"><a class="permalink" href="#Service_Routines">Service - Routines</a></h2> -<dl class="Bl-ohang Bd-indent"> - <dt id="ifdi_timer"><a class="permalink" href="#ifdi_timer"><code class="Fn">ifdi_timer</code></a>()</dt> - <dd>Optional timer routine that will be run every 500ms.</dd> - <dt id="ifdi_watchdog_reset"><a class="permalink" href="#ifdi_watchdog_reset"><code class="Fn">ifdi_watchdog_reset</code></a>()</dt> - <dd>Optional function to run when a transmit queue is hung.</dd> -</dl> -</section> -<section class="Ss"> -<h2 class="Ss">Additional Functions</h2> -<dl class="Bl-ohang Bd-indent"> - <dt id="ifdi_led_func"><a class="permalink" href="#ifdi_led_func"><code class="Fn">ifdi_led_func</code></a>()</dt> - <dd></dd> - <dt id="ifdi_sysctl_int_delay"><a class="permalink" href="#ifdi_sysctl_int_delay"><code class="Fn">ifdi_sysctl_int_delay</code></a>()</dt> - <dd></dd> - <dt id="ifdi_i2c_req"><a class="permalink" href="#ifdi_i2c_req"><code class="Fn">ifdi_i2c_req</code></a>()</dt> - <dd></dd> -</dl> -</section> -</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">ifconfig(8)</a>, <a class="Xr">iflibdi(9)</a>, - <a class="Xr">iflibtxrx(9)</a>, <a class="Xr">ifnet(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">Nicole - Graziano</span></p> -</section> -</div> -<table class="foot"> - <tr> - <td class="foot-date">May 3, 2018</td> - <td class="foot-os">FreeBSD 15.0</td> - </tr> -</table> |
