eib_wqe_t
eib_wqe_t *wqe;
wqe = (eib_wqe_t *)(uintptr_t)wc->wc_id;
eib_adm_rx_comp(eib_t *ss, eib_wqe_t *wqe)
eib_adm_tx_comp(eib_t *ss, eib_wqe_t *wqe)
eib_adm_err_comp(eib_t *ss, eib_wqe_t *wqe, ibt_wc_t *wc)
static void eib_adm_rx_comp(eib_t *, eib_wqe_t *);
static void eib_adm_tx_comp(eib_t *, eib_wqe_t *);
static void eib_adm_err_comp(eib_t *, eib_wqe_t *, ibt_wc_t *);
eib_wqe_t *rwqe = rwqes[i];
eib_chan_post_recv(eib_t *ss, eib_chan_t *chan, eib_wqe_t *rwqe)
eib_wqe_t *rwqes[EIB_RWR_CHUNK_SZ];
eib_wqe_t *wqe;
wqe = (eib_wqe_t *)(uintptr_t)wc->wc_id;
eib_ctl_rx_comp(eib_vnic_t *vnic, eib_wqe_t *wqe)
eib_ctl_tx_comp(eib_vnic_t *vnic, eib_wqe_t *wqe)
eib_ctl_err_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, ibt_wc_t *wc)
static void eib_ctl_rx_comp(eib_vnic_t *, eib_wqe_t *);
static void eib_ctl_tx_comp(eib_vnic_t *, eib_wqe_t *);
static void eib_ctl_err_comp(eib_vnic_t *, eib_wqe_t *, ibt_wc_t *);
eib_data_rx_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, ibt_wc_t *wc)
eib_wqe_t *wqe;
eib_data_tx_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, eib_chan_t *chan)
eib_data_err_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, ibt_wc_t *wc)
wqe = (eib_wqe_t *)(uintptr_t)wc->wc_id;
eib_wqe_t *wqe;
wqe = (eib_wqe_t *)(uintptr_t)wc->wc_id;
eib_wqe_t *rwqe = (eib_wqe_t *)(void *)arg;
eib_data_post_tx(eib_vnic_t *vnic, eib_wqe_t *swqe)
eib_wqe_t *wqes[EIB_MAX_POST_MULTIPLE];
eib_wqe_t *elem;
static void eib_data_setup_lso(eib_wqe_t *, mblk_t *, uint32_t,
static int eib_data_prepare_sgl(eib_vnic_t *, eib_wqe_t *, mblk_t *);
static mblk_t *eib_data_rx_comp(eib_vnic_t *, eib_wqe_t *, ibt_wc_t *);
static void eib_data_tx_comp(eib_vnic_t *, eib_wqe_t *, eib_chan_t *);
static void eib_data_err_comp(eib_vnic_t *, eib_wqe_t *, ibt_wc_t *);
eib_data_prepare_frame(eib_vnic_t *vnic, eib_wqe_t *swqe, mblk_t *mp,
eib_data_setup_lso(eib_wqe_t *swqe, mblk_t *mp, uint32_t mss,
eib_data_prepare_sgl(eib_vnic_t *vnic, eib_wqe_t *swqe, mblk_t *mp)
eib_wqe_t *swqe;
eib_wqe_t *swqe;
eib_wqe_t *swqe;
static int eib_fip_make_login(eib_t *, eib_vnic_t *, eib_wqe_t *, int *);
static int eib_fip_make_update(eib_t *, eib_vnic_t *, eib_wqe_t *, int, int *);
static int eib_fip_make_table(eib_t *, eib_vnic_t *, eib_wqe_t *, int *);
static int eib_fip_make_ka(eib_t *, eib_vnic_t *, eib_wqe_t *, int *);
static int eib_fip_make_logout(eib_t *, eib_vnic_t *, eib_wqe_t *, int *);
static int eib_fip_send_login(eib_t *, eib_vnic_t *, eib_wqe_t *, int *);
static int eib_fip_send_update(eib_t *, eib_vnic_t *, eib_wqe_t *,
static int eib_fip_send_table(eib_t *, eib_vnic_t *, eib_wqe_t *, int *);
static int eib_fip_send_ka(eib_t *, eib_vnic_t *, eib_wqe_t *, int *);
static int eib_fip_send_logout(eib_t *, eib_vnic_t *, eib_wqe_t *, int *);
eib_fip_make_login(eib_t *ss, eib_vnic_t *vnic, eib_wqe_t *swqe, int *err)
eib_fip_make_update(eib_t *ss, eib_vnic_t *vnic, eib_wqe_t *swqe, int req,
eib_fip_make_table(eib_t *ss, eib_vnic_t *vnic, eib_wqe_t *swqe, int *err)
eib_fip_make_ka(eib_t *ss, eib_vnic_t *vnic, eib_wqe_t *swqe, int *err)
eib_fip_make_logout(eib_t *ss, eib_vnic_t *vnic, eib_wqe_t *swqe, int *err)
eib_fip_send_login(eib_t *ss, eib_vnic_t *vnic, eib_wqe_t *swqe, int *err)
eib_fip_send_update(eib_t *ss, eib_vnic_t *vnic, eib_wqe_t *swqe,
eib_fip_send_table(eib_t *ss, eib_vnic_t *vnic, eib_wqe_t *swqe, int *err)
eib_fip_send_ka(eib_t *ss, eib_vnic_t *vnic, eib_wqe_t *swqe, int *err)
eib_fip_send_logout(eib_t *ss, eib_vnic_t *vnic, eib_wqe_t *swqe, int *err)
eib_wqe_t *swqe;
eib_wqe_t *swqe = NULL;
eib_rsrc_return_wqes(eib_t *ss, eib_wqe_pool_t *wp, eib_wqe_t **wqes,
eib_wqe_t *wqe;
eib_wqe_t *wqe;
eib_rsrc_grab_rwqes(eib_t *ss, eib_wqe_t **wqes, uint_t n_req, uint_t *actual,
eib_wqe_t *
eib_wqe_t *wqe = NULL;
eib_wqe_t *
eib_wqe_t *wqe = NULL;
eib_rsrc_return_swqe(eib_t *ss, eib_wqe_t *wqe, eib_chan_t *chan)
eib_rsrc_return_rwqe(eib_t *ss, eib_wqe_t *wqe, eib_chan_t *chan)
eib_rsrc_rxpool_low(eib_wqe_t *wqe)
static int eib_rsrc_grab_wqes(eib_t *, eib_wqe_pool_t *, eib_wqe_t **, uint_t,
eib_wqe_t *wqe;
static void eib_rsrc_return_wqes(eib_t *, eib_wqe_pool_t *, eib_wqe_t **,
eib_wqe_t *wqe;
eib_rsrc_grab_swqes(eib_t *ss, eib_wqe_t **wqes, uint_t n_req, uint_t *actual,
eib_wqe_t *wqe;
wp_wqesz = EIB_WQES_PER_POOL * sizeof (eib_wqe_t);
wp->wp_wqe = (eib_wqe_t *)kmem_zalloc(wp_wqesz, KM_SLEEP);
kmem_free(wp->wp_wqe, EIB_WQES_PER_POOL * sizeof (eib_wqe_t));
eib_rsrc_grab_wqes(eib_t *ss, eib_wqe_pool_t *wp, eib_wqe_t **wqes,
eib_vnic_setup_dest(eib_vnic_t *vnic, eib_wqe_t *swqe, uint8_t *dmac,
#define EIB_WQE_SZ (sizeof (eib_wqe_t))
extern void eib_data_post_tx(eib_vnic_t *, eib_wqe_t *);
extern int eib_data_prepare_frame(eib_vnic_t *, eib_wqe_t *, mblk_t *,
extern int eib_rsrc_grab_swqes(eib_t *, eib_wqe_t **, uint_t, uint_t *, int);
extern int eib_rsrc_grab_rwqes(eib_t *, eib_wqe_t **, uint_t, uint_t *, int);
extern eib_wqe_t *eib_rsrc_grab_swqe(eib_t *, int);
extern eib_wqe_t *eib_rsrc_grab_rwqe(eib_t *, int);
extern void eib_rsrc_return_swqe(eib_t *, eib_wqe_t *, eib_chan_t *);
extern void eib_rsrc_return_rwqe(eib_t *, eib_wqe_t *, eib_chan_t *);
extern boolean_t eib_rsrc_rxpool_low(eib_wqe_t *);
extern int eib_chan_post_recv(eib_t *, eib_chan_t *, eib_wqe_t *);
extern int eib_vnic_setup_dest(eib_vnic_t *, eib_wqe_t *, uint8_t *, uint16_t);