eib_vnic_t
eib_rb_ctl_create_qp(eib_t *ss, eib_vnic_t *vnic)
eib_ctl_setup_cq(eib_t *ss, eib_vnic_t *vnic)
eib_ctl_setup_ud_channel(eib_t *ss, eib_vnic_t *vnic)
eib_vnic_t *vnic = arg;
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)
eib_rb_ctl_setup_cq(eib_t *ss, eib_vnic_t *vnic)
static int eib_ctl_setup_cq(eib_t *, eib_vnic_t *);
static int eib_ctl_setup_ud_channel(eib_t *, eib_vnic_t *);
static void eib_ctl_rx_comp(eib_vnic_t *, eib_wqe_t *);
eib_rb_ctl_setup_ud_channel(eib_t *ss, eib_vnic_t *vnic)
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 *);
static void eib_rb_ctl_setup_cq(eib_t *, eib_vnic_t *);
static void eib_rb_ctl_setup_ud_channel(eib_t *, eib_vnic_t *);
eib_ctl_create_qp(eib_t *ss, eib_vnic_t *vnic, int *err)
eib_vnic_t *vnic = (eib_vnic_t *)(void *)arg1;
eib_data_is_mcast_pkt_ok(eib_vnic_t *vnic, uint8_t *macaddr, uint64_t *brdcst,
eib_vnic_t *vnic = arg;
eib_vnic_t *vnic = arg;
eib_vnic_t *vnic = (eib_vnic_t *)(void *)arg1;
eib_data_rx_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, ibt_wc_t *wc)
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)
eib_rb_data_setup_cqs(eib_t *ss, eib_vnic_t *vnic)
eib_rb_data_setup_ud_channel(eib_t *ss, eib_vnic_t *vnic)
eib_vnic_t *vnic = (eib_vnic_t *)(void *)arg1;
eib_data_post_tx(eib_vnic_t *vnic, eib_wqe_t *swqe)
static int eib_data_setup_cqs(eib_t *, eib_vnic_t *);
static int eib_data_setup_ud_channel(eib_t *, eib_vnic_t *);
static int eib_data_prepare_sgl(eib_vnic_t *, eib_wqe_t *, mblk_t *);
static int eib_data_is_mcast_pkt_ok(eib_vnic_t *, uint8_t *, uint64_t *,
eib_data_lookup_vnic(eib_t *ss, uint8_t *mac, uint16_t vlan, eib_vnic_t **vnicp,
eib_vnic_t *vnic;
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,
static void eib_rb_data_setup_cqs(eib_t *, eib_vnic_t *);
static void eib_rb_data_setup_ud_channel(eib_t *, eib_vnic_t *);
eib_rb_data_create_qp(eib_t *ss, eib_vnic_t *vnic)
eib_data_setup_cqs(eib_t *ss, eib_vnic_t *vnic)
eib_data_create_qp(eib_t *ss, eib_vnic_t *vnic, int *err)
eib_data_setup_ud_channel(eib_t *ss, eib_vnic_t *vnic)
eib_data_prepare_sgl(eib_vnic_t *vnic, eib_wqe_t *swqe, mblk_t *mp)
eib_fip_parse_vhub_update(uint8_t *pkt, eib_vnic_t *vnic)
eib_fip_vhub_table(eib_t *ss, eib_vnic_t *vnic, int *err)
eib_fip_queue_gw_entry(eib_vnic_t *vnic, eib_vhub_table_t *tbl, uint32_t tusn,
eib_fip_heartbeat(eib_t *ss, eib_vnic_t *vnic, int *err)
eib_fip_logout(eib_t *ss, eib_vnic_t *vnic, int *err)
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 *);
eib_fip_parse_ctl_pkt(uint8_t *pkt, eib_vnic_t *vnic)
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)
static int eib_fip_parse_vhub_table(uint8_t *, eib_vnic_t *);
static int eib_fip_parse_vhub_update(uint8_t *, eib_vnic_t *);
static void eib_fip_queue_gw_entry(eib_vnic_t *, eib_vhub_table_t *, uint32_t,
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_fip_login(eib_t *ss, eib_vnic_t *vnic, int *err)
eib_fip_parse_vhub_table(uint8_t *pkt, eib_vnic_t *vnic)
eib_vnic_t *vnic;
eib_vnic_t *vnic;
eib_vnic_t *vnic;
eib_vnic_t *vnic0 = NULL;
eib_vnic_t *vnic;
eib_vnic_t *vnic = NULL;
static void eib_rb_mac_start(eib_t *, eib_vnic_t *);
eib_rb_mac_start(eib_t *ss, eib_vnic_t *vnic0)
eib_vnic_t *vnic;
eib_vnic_t *vnic;
eib_vnic_t *vnic;
eib_rb_vnic_create(eib_t *ss, eib_vnic_t *vnic, uint_t progress)
kmem_free(vnic, sizeof (eib_vnic_t));
eib_vnic_create_common(eib_t *ss, eib_vnic_t *vnic, int *err)
vnic = kmem_zalloc(sizeof (eib_vnic_t), KM_SLEEP);
eib_vnic_set_partition(eib_t *ss, eib_vnic_t *vnic, int *err)
eib_vnic_attach_ctl_mcgs(eib_t *ss, eib_vnic_t *vnic, int *err)
eib_vnic_attach_vhub_table(eib_t *ss, eib_vnic_t *vnic)
eib_vnic_attach_vhub_update(eib_t *ss, eib_vnic_t *vnic)
eib_vnic_start_keepalives(eib_t *ss, eib_vnic_t *vnic)
eib_vnic_lookup_dest(eib_vnic_t *vnic, uint8_t *dmac, uint16_t vlan,
eib_vnic_delete(eib_t *ss, eib_vnic_t *vnic)
eib_vnic_leave_all_data_mcgs(eib_t *ss, eib_vnic_t *vnic)
eib_vnic_rejoin_data_mcgs(eib_t *ss, eib_vnic_t *vnic)
eib_vnic_wait_for_login_ack(eib_t *ss, eib_vnic_t *vnic, int *err)
eib_vnic_reattach_ctl_mcgs(eib_t *ss, eib_vnic_t *vnic)
eib_rb_vnic_create_common(eib_t *ss, eib_vnic_t *vnic, uint_t progress)
eib_rb_vnic_attach_ctl_mcgs(eib_t *ss, eib_vnic_t *vnic)
eib_rb_vnic_attach_vhub_table(eib_t *ss, eib_vnic_t *vnic)
eib_rb_vnic_attach_vhub_update(eib_t *ss, eib_vnic_t *vnic)
eib_rb_vnic_start_keepalives(eib_t *ss, eib_vnic_t *vnic)
eib_rb_vnic_join_data_mcg(eib_t *ss, eib_vnic_t *vnic, uint8_t *mcast_mac)
eib_vnic_t *vnic;
eib_vnic_wait_for_table(eib_t *ss, eib_vnic_t *vnic, int *err)
eib_vnic_vhub_table_done(eib_vnic_t *vnic, uint_t result_state)
eib_vnic_join_data_mcg(eib_t *ss, eib_vnic_t *vnic, uint8_t *mcast_mac,
static int eib_vnic_create_common(eib_t *, eib_vnic_t *, int *);
static int eib_vnic_set_partition(eib_t *, eib_vnic_t *, int *);
static int eib_vnic_attach_ctl_mcgs(eib_t *, eib_vnic_t *, int *);
static int eib_vnic_attach_vhub_table(eib_t *, eib_vnic_t *);
static int eib_vnic_attach_vhub_update(eib_t *, eib_vnic_t *);
static void eib_vnic_start_keepalives(eib_t *, eib_vnic_t *);
static int eib_vnic_lookup_dest(eib_vnic_t *, uint8_t *, uint16_t,
static void eib_vnic_leave_all_data_mcgs(eib_t *, eib_vnic_t *);
static void eib_vnic_rejoin_data_mcgs(eib_t *, eib_vnic_t *);
static void eib_vnic_reattach_ctl_mcgs(eib_t *, eib_vnic_t *);
static void eib_rb_vnic_create_common(eib_t *, eib_vnic_t *, uint_t);
static void eib_rb_vnic_attach_ctl_mcgs(eib_t *, eib_vnic_t *);
static void eib_rb_vnic_attach_vhub_table(eib_t *, eib_vnic_t *);
static void eib_rb_vnic_attach_vhub_update(eib_t *, eib_vnic_t *);
eib_vnic_setup_dest(eib_vnic_t *vnic, eib_wqe_t *swqe, uint8_t *dmac,
static void eib_rb_vnic_start_keepalives(eib_t *, eib_vnic_t *);
static void eib_rb_vnic_join_data_mcg(eib_t *, eib_vnic_t *, uint8_t *);
eib_vnic_leave_data_mcg(eib_t *ss, eib_vnic_t *vnic, uint8_t *mcast_mac)
eib_vnic_init_tables(eib_t *ss, eib_vnic_t *vnic)
eib_vnic_fini_tables(eib_t *ss, eib_vnic_t *vnic, boolean_t clobber)
eib_vnic_t *vnic;
eib_vnic_create(eib_t *ss, uint8_t *macaddr, uint16_t vlan, eib_vnic_t **vnicp,
eib_vnic_t *vnic = NULL;
extern int eib_fip_login(eib_t *, eib_vnic_t *, int *);
extern int eib_fip_heartbeat(eib_t *, eib_vnic_t *, int *);
extern int eib_fip_vhub_table(eib_t *, eib_vnic_t *, int *);
extern int eib_fip_logout(eib_t *, eib_vnic_t *, int *);
extern int eib_fip_parse_ctl_pkt(uint8_t *, eib_vnic_t *);
extern int eib_ctl_create_qp(eib_t *, eib_vnic_t *, int *);
extern void eib_rb_ctl_create_qp(eib_t *, eib_vnic_t *);
extern int eib_data_create_qp(eib_t *, eib_vnic_t *, int *);
extern void eib_data_post_tx(eib_vnic_t *, eib_wqe_t *);
extern int eib_data_lookup_vnic(eib_t *, uint8_t *, uint16_t, eib_vnic_t **,
extern int eib_data_prepare_frame(eib_vnic_t *, eib_wqe_t *, mblk_t *,
extern void eib_rb_data_create_qp(eib_t *, eib_vnic_t *);
extern int eib_vnic_create(eib_t *, uint8_t *, uint16_t, eib_vnic_t **, int *);
extern void eib_vnic_delete(eib_t *, eib_vnic_t *);
extern int eib_vnic_wait_for_login_ack(eib_t *, eib_vnic_t *, int *);
extern int eib_vnic_wait_for_table(eib_t *, eib_vnic_t *, int *);
extern void eib_vnic_vhub_table_done(eib_vnic_t *, uint_t);
extern int eib_vnic_join_data_mcg(eib_t *, eib_vnic_t *, uint8_t *,
extern int eib_vnic_setup_dest(eib_vnic_t *, eib_wqe_t *, uint8_t *, uint16_t);
extern void eib_vnic_leave_data_mcg(eib_t *, eib_vnic_t *, uint8_t *);
extern void eib_vnic_init_tables(eib_t *, eib_vnic_t *);
extern void eib_vnic_fini_tables(eib_t *, eib_vnic_t *, boolean_t);
extern void eib_rb_vnic_create(eib_t *, eib_vnic_t *, uint_t);