Lines Matching defs:vnic

60 eib_data_create_qp(eib_t *ss, eib_vnic_t *vnic, int *err)
65 * Allocate a eib_chan_t to store stuff about this vnic's data qp
70 vnic->vn_data_chan = eib_chan_init();
72 chan = vnic->vn_data_chan;
75 chan->ch_vnic_inst = vnic->vn_instance;
80 if (eib_data_setup_cqs(ss, vnic) != EIB_E_SUCCESS) {
83 vnic->vn_instance);
91 if (eib_data_setup_ud_channel(ss, vnic) != EIB_E_SUCCESS) {
94 vnic->vn_instance);
102 eib_rb_data_create_qp(ss, vnic);
110 eib_vnic_t *vnic = (eib_vnic_t *)(void *)arg1;
111 eib_t *ss = vnic->vn_ss;
112 eib_chan_t *chan = vnic->vn_data_chan;
169 eib_data_err_comp(vnic, wqe, wc);
172 mp = eib_data_rx_comp(vnic, wqe, wc);
215 (void) ddi_intr_trigger_softint(vnic->vn_data_rx_si_hdl,
230 eib_vnic_t *vnic = (eib_vnic_t *)(void *)arg1;
231 eib_t *ss = vnic->vn_ss;
232 eib_chan_t *chan = vnic->vn_data_chan;
263 eib_data_err_comp(vnic, wqe, wc);
265 eib_data_tx_comp(vnic, wqe, vnic->vn_data_chan);
318 * the instance of the vnic currently.
343 eib_data_post_tx(eib_vnic_t *vnic, eib_wqe_t *swqe)
345 eib_chan_t *chan = vnic->vn_data_chan;
346 eib_t *ss = vnic->vn_ss;
347 eib_stats_t *stats = vnic->vn_ss->ei_stats;
427 eib_data_tx_comp(vnic, wqes[i], chan);
488 eib_vnic_t *vnic;
500 * if we're in the process of creating a vnic, the instance might've
501 * been allocated, but the vnic entry would be NULL.
506 if ((vnic = ss->ei_vnic[inst]) != NULL) {
507 vn_mac = vnic->vn_login_data.ld_assigned_mac;
508 vn_vlan = vnic->vn_login_data.ld_assigned_vlan;
513 *vnicp = vnic;
525 * If we haven't been able to locate a vnic for this {mac,vlan} tuple,
526 * see if we've already failed a creation request for this vnic, and
545 eib_data_prepare_frame(eib_vnic_t *vnic, eib_wqe_t *swqe, mblk_t *mp,
568 if (eib_data_prepare_sgl(vnic, swqe, mp) != 0)
577 eib_rb_data_create_qp(eib_t *ss, eib_vnic_t *vnic)
579 eib_rb_data_setup_ud_channel(ss, vnic);
581 eib_rb_data_setup_cqs(ss, vnic);
583 eib_chan_fini(vnic->vn_data_chan);
584 vnic->vn_data_chan = NULL;
588 eib_data_setup_cqs(eib_t *ss, eib_vnic_t *vnic)
590 eib_chan_t *chan = vnic->vn_data_chan;
655 * Set up the vnic's data tx completion queue handler and allocate
658 if ((rv = ddi_intr_add_softint(ss->ei_dip, &vnic->vn_data_tx_si_hdl,
659 EIB_SOFTPRI_DATA, eib_data_tx_comp_handler, vnic)) != DDI_SUCCESS) {
664 ibt_set_cq_handler(chan->ch_cq_hdl, eib_data_tx_comp_intr, vnic);
675 if ((rv = ddi_intr_add_softint(ss->ei_dip, &vnic->vn_data_rx_si_hdl,
676 EIB_SOFTPRI_DATA, eib_data_rx_comp_handler, vnic)) != DDI_SUCCESS) {
681 ibt_set_cq_handler(chan->ch_rcv_cq_hdl, eib_data_rx_comp_intr, vnic);
692 eib_rb_data_setup_cqs(ss, vnic);
697 eib_data_setup_ud_channel(eib_t *ss, eib_vnic_t *vnic)
699 eib_chan_t *chan = vnic->vn_data_chan;
759 eib_rb_data_setup_ud_channel(ss, vnic);
849 eib_data_prepare_sgl(eib_vnic_t *vnic, eib_wqe_t *swqe, mblk_t *mp)
851 eib_t *ss = vnic->vn_ss;
852 eib_stats_t *stats = vnic->vn_ss->ei_stats;
1059 eib_data_is_mcast_pkt_ok(eib_vnic_t *vnic, uint8_t *macaddr, uint64_t *brdcst,
1079 eib_vnic_t *vnic = arg;
1080 eib_chan_t *chan = vnic->vn_data_chan;
1081 eib_t *ss = vnic->vn_ss;
1090 ASSERT(vnic->vn_data_rx_si_hdl != NULL);
1092 (void) ddi_intr_trigger_softint(vnic->vn_data_rx_si_hdl, NULL);
1098 eib_vnic_t *vnic = arg;
1099 eib_chan_t *chan = vnic->vn_data_chan;
1100 eib_t *ss = vnic->vn_ss;
1109 ASSERT(vnic->vn_data_tx_si_hdl != NULL);
1111 (void) ddi_intr_trigger_softint(vnic->vn_data_tx_si_hdl, NULL);
1115 eib_data_rx_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, ibt_wc_t *wc)
1117 eib_t *ss = vnic->vn_ss;
1118 eib_chan_t *chan = vnic->vn_data_chan;
1119 eib_login_data_t *ld = &vnic->vn_login_data;
1232 * this vnic's vlan, drop it.
1262 if (!eib_data_is_mcast_pkt_ok(vnic, evh.eh_dmac,
1299 eib_data_tx_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, eib_chan_t *chan)
1301 eib_t *ss = vnic->vn_ss;
1326 eib_data_err_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, ibt_wc_t *wc)
1328 eib_t *ss = vnic->vn_ss;
1363 eib_data_tx_comp(vnic, wqe, vnic->vn_data_chan);
1369 eib_rb_data_setup_cqs(eib_t *ss, eib_vnic_t *vnic)
1371 eib_chan_t *chan = vnic->vn_data_chan;
1390 if (vnic->vn_data_rx_si_hdl) {
1391 (void) ddi_intr_remove_softint(vnic->vn_data_rx_si_hdl);
1392 vnic->vn_data_rx_si_hdl = NULL;
1394 if (vnic->vn_data_tx_si_hdl) {
1395 (void) ddi_intr_remove_softint(vnic->vn_data_tx_si_hdl);
1396 vnic->vn_data_tx_si_hdl = NULL;
1440 eib_rb_data_setup_ud_channel(eib_t *ss, eib_vnic_t *vnic)
1442 eib_chan_t *chan = vnic->vn_data_chan;