Lines Matching refs:ss

53 eib_mac_set_nic_state(eib_t *ss, uint_t flags)  in eib_mac_set_nic_state()  argument
55 eib_node_state_t *ns = ss->ei_node_state; in eib_mac_set_nic_state()
69 eib_mac_clr_nic_state(eib_t *ss, uint_t flags) in eib_mac_clr_nic_state() argument
71 eib_node_state_t *ns = ss->ei_node_state; in eib_mac_clr_nic_state()
82 eib_mac_upd_nic_state(eib_t *ss, uint_t clr_flags, uint_t set_flags) in eib_mac_upd_nic_state() argument
84 eib_node_state_t *ns = ss->ei_node_state; in eib_mac_upd_nic_state()
96 eib_mac_get_nic_state(eib_t *ss) in eib_mac_get_nic_state() argument
98 eib_node_state_t *ns = ss->ei_node_state; in eib_mac_get_nic_state()
109 eib_mac_link_state(eib_t *ss, link_state_t new_link_state, in eib_mac_link_state() argument
112 eib_node_state_t *ns = ss->ei_node_state; in eib_mac_link_state()
133 EIB_DPRINTF_DEBUG(ss->ei_instance, in eib_mac_link_state()
137 mac_link_update(ss->ei_mac_hdl, new_link_state); in eib_mac_link_state()
139 EIB_DPRINTF_DEBUG(ss->ei_instance, in eib_mac_link_state()
146 eib_mac_link_up(eib_t *ss, boolean_t force) in eib_mac_link_up() argument
148 eib_mac_link_state(ss, LINK_STATE_UP, force); in eib_mac_link_up()
152 eib_mac_link_down(eib_t *ss, boolean_t force) in eib_mac_link_down() argument
154 eib_mac_link_state(ss, LINK_STATE_DOWN, force); in eib_mac_link_down()
158 eib_mac_start(eib_t *ss) in eib_mac_start() argument
167 if (eib_ibt_hca_init(ss) != EIB_E_SUCCESS) in eib_mac_start()
173 if (eib_mac_hca_portstate(ss, &ss->ei_props->ep_blid, in eib_mac_start()
181 if (eib_rsrc_setup_bufs(ss, &err) != EIB_E_SUCCESS) in eib_mac_start()
187 if (eib_adm_setup_qp(ss, &err) != EIB_E_SUCCESS) in eib_mac_start()
193 if (eib_vnic_create(ss, 0, 0, &vnic0, &err) != EIB_E_SUCCESS) in eib_mac_start()
204 (void) mac_maxsdu_update(ss->ei_mac_hdl, ld->ld_vhub_mtu); in eib_mac_start()
205 mac_unicst_update(ss->ei_mac_hdl, ld->ld_assigned_mac); in eib_mac_start()
210 eib_mac_link_up(ss, B_TRUE); in eib_mac_start()
214 eib_rb_mac_start(ss, vnic0); in eib_mac_start()
215 eib_mac_link_down(ss, B_TRUE); in eib_mac_start()
220 eib_mac_stop(eib_t *ss) in eib_mac_stop() argument
223 link_state_t cur_link_state = ss->ei_node_state->ns_link_state; in eib_mac_stop()
233 if ((vnic = ss->ei_vnic[ndx]) != NULL) in eib_mac_stop()
234 eib_vnic_delete(ss, vnic); in eib_mac_stop()
241 eib_rb_mac_start(ss, NULL); in eib_mac_stop()
249 mac_unicst_update(ss->ei_mac_hdl, eib_zero_mac); in eib_mac_stop()
257 eib_mac_link_state(ss, LINK_STATE_UNKNOWN, B_TRUE); in eib_mac_stop()
261 eib_mac_multicast(eib_t *ss, boolean_t add, uint8_t *mcast_mac) in eib_mac_multicast() argument
279 if (ss->ei_vnic[0]) { in eib_mac_multicast()
281 ret = eib_vnic_join_data_mcg(ss, ss->ei_vnic[0], in eib_mac_multicast()
284 eib_vnic_leave_data_mcg(ss, ss->ei_vnic[0], mcast_mac); in eib_mac_multicast()
296 eib_mac_promisc(eib_t *ss, boolean_t set) in eib_mac_promisc() argument
301 if (ss->ei_vnic[0]) { in eib_mac_promisc()
303 ret = eib_vnic_join_data_mcg(ss, ss->ei_vnic[0], in eib_mac_promisc()
306 eib_vnic_leave_data_mcg(ss, ss->ei_vnic[0], in eib_mac_promisc()
319 eib_mac_tx(eib_t *ss, mblk_t *mp) in eib_mac_tx() argument
333 if ((swqe = eib_rsrc_grab_swqe(ss, EIB_WPRI_LO)) == NULL) { in eib_mac_tx()
334 EIB_DPRINTF_WARN(ss->ei_instance, "eib_mac_tx: " in eib_mac_tx()
337 eib_rsrc_txwqes_needed(ss); in eib_mac_tx()
358 found = eib_data_lookup_vnic(ss, evh.eh_smac, evh.eh_vlan, &vnic, in eib_mac_tx()
366 eib_rsrc_return_swqe(ss, swqe, NULL); in eib_mac_tx()
374 EIB_DPRINTF_VERBOSE(ss->ei_instance, "eib_mac_tx: " in eib_mac_tx()
380 eib_vnic_need_new(ss, evh.eh_smac, evh.eh_vlan); in eib_mac_tx()
398 EIB_DPRINTF_WARN(ss->ei_instance, "eib_mac_tx: " in eib_mac_tx()
403 eib_rsrc_return_swqe(ss, swqe, NULL); in eib_mac_tx()
413 EIB_DPRINTF_WARN(ss->ei_instance, "eib_mac_tx: " in eib_mac_tx()
417 eib_rsrc_return_swqe(ss, swqe, NULL); in eib_mac_tx()
418 eib_rsrc_lsobufs_needed(ss); in eib_mac_tx()
428 eib_mac_hca_portstate(eib_t *ss, ib_lid_t *blid, int *err) in eib_mac_hca_portstate() argument
435 ret = ibt_query_hca_ports(ss->ei_hca_hdl, ss->ei_props->ep_port_num, in eib_mac_hca_portstate()
438 EIB_DPRINTF_ERR(ss->ei_instance, in eib_mac_hca_portstate()
440 "port=0x%x) failed, ret=%d", ss->ei_hca_hdl, in eib_mac_hca_portstate()
441 ss->ei_props->ep_port_num, ret); in eib_mac_hca_portstate()
445 EIB_DPRINTF_ERR(ss->ei_instance, in eib_mac_hca_portstate()
447 "port=0x%x) returned num_pi=%d", ss->ei_hca_hdl, in eib_mac_hca_portstate()
448 ss->ei_props->ep_port_num, num_pi); in eib_mac_hca_portstate()
476 eib_rb_mac_start(eib_t *ss, eib_vnic_t *vnic0) in eib_rb_mac_start() argument
484 eib_rb_vnic_create(ss, vnic0, ~0); in eib_rb_mac_start()
492 eib_ibt_free_avects(ss); in eib_rb_mac_start()
497 if (ss->ei_admin_chan) { in eib_rb_mac_start()
498 eib_rb_adm_setup_qp(ss); in eib_rb_mac_start()
509 eib_rb_rsrc_setup_bufs(ss, B_FALSE); in eib_rb_mac_start()
510 if ((ss->ei_tx == NULL) && (ss->ei_rx == NULL) && in eib_rb_mac_start()
511 (ss->ei_lso == NULL)) { in eib_rb_mac_start()
519 EIB_DPRINTF_WARN(ss->ei_instance, "eib_rb_mac_start: " in eib_rb_mac_start()
521 ss->ei_tx, ss->ei_rx, ss->ei_lso); in eib_rb_mac_start()
522 } else if (ss->ei_hca_hdl) { in eib_rb_mac_start()
523 eib_rb_ibt_hca_init(ss, ~0); in eib_rb_mac_start()
525 ss->ei_props->ep_blid = 0; in eib_rb_mac_start()
531 eib_flush_vnic_reqs(ss); in eib_rb_mac_start()