| IFLIBDI(9) | Kernel Developer's Manual | IFLIBDI(9) | 
iflibdi — Device
    Independent Configuration Functions
#include
    <ifdi_if.h>
int
  
  iflib_device_attach(device_t
    dev);
int
  
  iflib_device_detach(device_t
    dev);
int
  
  iflib_device_suspend(device_t
    dev);
int
  
  iflib_device_resume(device_t
    dev);
int
  
  iflib_device_register(device_t
    dev, void *softc,
    if_shared_ctx_t sctx, if_ctx_t
    *ctxp);
int
  
  iflib_device_deregister(if_ctx_t
    ctx);
int
  
  iflib_irq_alloc(if_ctx_t ctx,
    if_irq_t irq_info, int rid,
    driver_filter_t filter, void
    *filter_arg, driver_intr_t handler,
    void *arg, char *name);
int
  
  iflib_irq_alloc_generic(if_ctx_t
    ctx, if_irq_t irq, int
    rid, intr_type_t type,
    driver_filter_t *filter, void
    *filter_arg, int qid, char
    *name);
void
  
  iflib_led_create(if_ctx_t
  ctx);
void
  
  iflib_tx_intr_deferred(if_ctx_t
    ctx, int txqid);
void
  
  iflib_rx_intr_deferred(if_ctx_t
    ctx, int rxqid);
void
  
  iflib_link_intr_deferred(if_ctx_t
    ctx);
void
  
  iflib_link_state_change(if_ctx_t
    ctx, int linkstate);
void
  
  iflib_add_int_delay_sysctl(if_ctx_t
    ctx, const char *, const char
    *, if_int_delay_info_t,
    int, int);
extern struct if_txrx
The if_ctx_t Structure is the device independent data structure that contains statistics and identifying information used to transmit and receive data packets. The interface is associated with an array of queues assigned sequentially. Each queue has its own transmit (iflib_txq_t) and receive (iflib_rxq_t) queue. The transmit queue is used to hold packets while the interface is in the process of sending another. The receive queue is used to receive packets that are awaiting processing.
The fields of struct if_ctx_t are as follows:
The above named functions are found exclusively in iflib. They are independent of the underlying hardware type or configuration.
iflib_device_attach()iflib_device_detach()iflib_device_suspend()iflib_device_resume()iflib_device_register()iflib_device_irq_alloc()iflib_device_irq_alloc_generic()IFLIB_INTR_TX,
      IFLIB_INTR_RX, and
      IFLIB_INTR_ADMIN.iflib_led_create()iflib_tx_intr_deferred()iflib_rx_intr_deferred()iflib_link_intr_deferred()iflib_link_state_change()LINK_STATE_UP or
      LINK_STATE_DOWN as specified by the second
      argument to the function.
    Interface Link States The following link states are currently defined:
LINK_STATE_UPLINK_STATE_DOWNiflib_add_int_delay_sysctl()This manual page was written by Nicole Graziano
| May 24, 2017 | Debian |