Lines Matching refs:vnic

48 eib_ctl_create_qp(eib_t *ss, eib_vnic_t *vnic, int *err)
53 * Allocate a eib_chan_t to store stuff about this vnic's ctl qp
58 vnic->vn_ctl_chan = eib_chan_init();
60 chan = vnic->vn_ctl_chan;
63 chan->ch_vnic_inst = vnic->vn_instance;
68 if (eib_ctl_setup_cq(ss, vnic) != EIB_E_SUCCESS) {
78 if (eib_ctl_setup_ud_channel(ss, vnic) != EIB_E_SUCCESS) {
88 eib_rb_ctl_create_qp(ss, vnic);
96 eib_vnic_t *vnic = (eib_vnic_t *)(void *)arg1;
97 eib_chan_t *chan = vnic->vn_ctl_chan;
98 eib_t *ss = vnic->vn_ss;
124 eib_ctl_err_comp(vnic, wqe, wc);
126 eib_ctl_rx_comp(vnic, wqe);
128 eib_ctl_tx_comp(vnic, wqe);
137 eib_rb_ctl_create_qp(eib_t *ss, eib_vnic_t *vnic)
139 eib_rb_ctl_setup_ud_channel(ss, vnic);
141 eib_rb_ctl_setup_cq(ss, vnic);
143 eib_chan_fini(vnic->vn_ctl_chan);
144 vnic->vn_ctl_chan = NULL;
148 eib_ctl_setup_cq(eib_t *ss, eib_vnic_t *vnic)
150 eib_chan_t *chan = vnic->vn_ctl_chan;
158 * and vhub-update/vnic-alive messages and responses from the
183 * Allocate soft interrupt for this vnic's control channel cq
186 if ((rv = ddi_intr_add_softint(ss->ei_dip, &vnic->vn_ctl_si_hdl,
187 EIB_SOFTPRI_CTL, eib_ctl_comp_handler, vnic)) != DDI_SUCCESS) {
189 "ddi_intr_add_softint() failed for vnic %d ctl qp, ret=%d",
190 vnic->vn_instance, rv);
195 * Now, set up this vnic's control channel completion queue handler
197 ibt_set_cq_handler(chan->ch_cq_hdl, eib_ctl_comp_intr, vnic);
209 eib_rb_ctl_setup_cq(ss, vnic);
214 eib_ctl_setup_ud_channel(eib_t *ss, eib_vnic_t *vnic)
216 eib_chan_t *chan = vnic->vn_ctl_chan;
267 eib_rb_ctl_setup_ud_channel(ss, vnic);
274 eib_vnic_t *vnic = arg;
275 eib_t *ss = vnic->vn_ss;
276 eib_chan_t *chan = vnic->vn_ctl_chan;
285 ASSERT(vnic->vn_ctl_si_hdl != NULL);
287 (void) ddi_intr_trigger_softint(vnic->vn_ctl_si_hdl, NULL);
291 eib_ctl_rx_comp(eib_vnic_t *vnic, eib_wqe_t *wqe)
293 eib_t *ss = vnic->vn_ss;
294 eib_chan_t *chan = vnic->vn_ctl_chan;
301 (void) eib_fip_parse_ctl_pkt(pkt + EIB_GRH_SZ, vnic);
324 eib_ctl_tx_comp(eib_vnic_t *vnic, eib_wqe_t *wqe)
326 eib_rsrc_return_swqe(vnic->vn_ss, wqe, vnic->vn_ctl_chan);
330 eib_ctl_err_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, ibt_wc_t *wc)
332 eib_t *ss = vnic->vn_ss;
359 eib_rsrc_return_rwqe(ss, wqe, vnic->vn_ctl_chan);
361 eib_rsrc_return_swqe(ss, wqe, vnic->vn_ctl_chan);
366 eib_rb_ctl_setup_cq(eib_t *ss, eib_vnic_t *vnic)
368 eib_chan_t *chan = vnic->vn_ctl_chan;
383 if (vnic->vn_ctl_si_hdl) {
384 (void) ddi_intr_remove_softint(vnic->vn_ctl_si_hdl);
385 vnic->vn_ctl_si_hdl = NULL;
413 eib_rb_ctl_setup_ud_channel(eib_t *ss, eib_vnic_t *vnic)
415 eib_chan_t *chan = vnic->vn_ctl_chan;