Lines Matching refs:vresp

106 static int vnet_bind_vgenring(vnet_res_t *vresp);
107 static void vnet_unbind_vgenring(vnet_res_t *vresp);
110 static int vnet_bind_rings(vnet_res_t *vresp);
111 static void vnet_unbind_rings(vnet_res_t *vresp);
122 void vnet_fdbe_add(vnet_t *vnetp, vnet_res_t *vresp);
123 static void vnet_fdbe_del(vnet_t *vnetp, vnet_res_t *vresp);
134 static void vnet_add_resource(vnet_t *vnetp, vnet_res_t *vresp);
135 static vnet_res_t *vnet_rem_resource(vnet_t *vnetp, vnet_res_t *vresp);
144 vnet_res_t *vresp);
146 static void vnet_hio_get_stats(vnet_res_t *vresp, vnet_hio_stats_t *statsp);
740 vnet_res_t *vresp; in vnet_m_multicst() local
755 vresp = vnetp->vsw_fp; in vnet_m_multicst()
756 macp = &vresp->macreg; in vnet_m_multicst()
792 vnet_res_t *vresp; in vnet_tx_ring_send() local
824 vresp = vnet_fdbe_find(vnetp, &ehp->ether_dhost); in vnet_tx_ring_send()
825 if (vresp != NULL) { in vnet_tx_ring_send()
833 macp = &vresp->macreg; in vnet_tx_ring_send()
837 VNET_FDBE_REFRELE(vresp); in vnet_tx_ring_send()
858 vresp = vnetp->hio_fp; in vnet_tx_ring_send()
861 vresp = vnetp->vsw_fp; in vnet_tx_ring_send()
864 if (vresp == NULL) { in vnet_tx_ring_send()
875 VNET_FDBE_REFHOLD(vresp); in vnet_tx_ring_send()
897 VNET_FDBE_REFRELE(vresp); in vnet_tx_ring_send()
904 macp = &vresp->macreg; in vnet_tx_ring_send()
907 macp = &vresp->macreg; in vnet_tx_ring_send()
913 VNET_FDBE_REFRELE(vresp); in vnet_tx_ring_send()
936 vnet_res_t *vresp; in vnet_m_stat() local
953 for (vresp = vnetp->vres_list; vresp != NULL; vresp = vresp->nextp) { in vnet_m_stat()
954 macp = &vresp->macreg; in vnet_m_stat()
1180 vnet_fdbe_add(vnet_t *vnetp, vnet_res_t *vresp) in vnet_fdbe_add() argument
1185 KEY_HASH(addr, vresp->rem_macaddr); in vnet_fdbe_add()
1195 (vresp->type == VIO_NET_RES_LDC_SERVICE) ? in vnet_fdbe_add()
1196 (vresp->refcnt = 1) : (vresp->refcnt = 0); in vnet_fdbe_add()
1201 if (vresp->type != VIO_NET_RES_HYBRID) { in vnet_fdbe_add()
1203 (mod_hash_val_t)vresp); in vnet_fdbe_add()
1210 if (vresp->type == VIO_NET_RES_LDC_SERVICE) { in vnet_fdbe_add()
1214 vnetp->vsw_fp = vresp; in vnet_fdbe_add()
1216 } else if (vresp->type == VIO_NET_RES_HYBRID) { in vnet_fdbe_add()
1220 vnetp->hio_fp = vresp; in vnet_fdbe_add()
1229 vnet_fdbe_del(vnet_t *vnetp, vnet_res_t *vresp) in vnet_fdbe_del() argument
1236 KEY_HASH(addr, vresp->rem_macaddr); in vnet_fdbe_del()
1242 if (vresp->type != VIO_NET_RES_HYBRID) { in vnet_fdbe_del()
1255 if (vresp->type == VIO_NET_RES_LDC_SERVICE) { in vnet_fdbe_del()
1262 } else if (vresp->type == VIO_NET_RES_HYBRID) { in vnet_fdbe_del()
1274 (vresp->type == VIO_NET_RES_LDC_SERVICE) ? in vnet_fdbe_del()
1276 while (vresp->refcnt > refcnt) { in vnet_fdbe_del()
1289 vnet_res_t *vresp; in vnet_fdbe_find() local
1295 (mod_hash_val_t *)&vresp, vnet_fdbe_find_cb); in vnet_fdbe_find()
1300 return (vresp); in vnet_fdbe_find()
1372 vnet_res_t *vresp = (vnet_res_t *)vrh; in vnet_rx() local
1373 vnet_t *vnetp = vresp->vnetp; in vnet_rx()
1381 ringp = vresp->rx_ringp; in vnet_rx()
1388 vnet_res_t *vresp = (vnet_res_t *)vrh; in vnet_tx_update() local
1389 vnet_t *vnetp = vresp->vnetp; in vnet_tx_update()
1572 vnet_res_t *vresp; in vio_net_resource_reg() local
1574 vresp = kmem_zalloc(sizeof (vnet_res_t), KM_SLEEP); in vio_net_resource_reg()
1575 ether_copy(local_macaddr, vresp->local_macaddr); in vio_net_resource_reg()
1576 ether_copy(rem_macaddr, vresp->rem_macaddr); in vio_net_resource_reg()
1577 vresp->type = type; in vio_net_resource_reg()
1578 bcopy(macp, &vresp->macreg, sizeof (mac_register_t)); in vio_net_resource_reg()
1585 if (VNET_MATCH_RES(vresp, vnetp)) { in vio_net_resource_reg()
1586 vresp->vnetp = vnetp; in vio_net_resource_reg()
1589 if (vresp->type == VIO_NET_RES_HYBRID) { in vio_net_resource_reg()
1590 vresp->ksp = vnet_hio_setup_kstats(DRV_NAME, in vio_net_resource_reg()
1591 "hio", vresp); in vio_net_resource_reg()
1592 if (vresp->ksp == NULL) { in vio_net_resource_reg()
1598 vnet_add_resource(vnetp, vresp); in vio_net_resource_reg()
1604 if (vresp->vnetp == NULL) { in vio_net_resource_reg()
1606 kmem_free(vresp, sizeof (vnet_res_t)); in vio_net_resource_reg()
1610 *vhp = vresp; in vio_net_resource_reg()
1616 if (vnet_bind_rings(vresp) != 0) { in vio_net_resource_reg()
1617 (void) vnet_rem_resource(vnetp, vresp); in vio_net_resource_reg()
1618 vnet_hio_destroy_kstats(vresp->ksp); in vio_net_resource_reg()
1619 KMEM_FREE(vresp); in vio_net_resource_reg()
1634 vnet_res_t *vresp = (vnet_res_t *)vhp; in vio_net_resource_unreg() local
1635 vnet_t *vnetp = vresp->vnetp; in vio_net_resource_unreg()
1644 vnet_fdbe_del(vnetp, vresp); in vio_net_resource_unreg()
1646 vnet_unbind_rings(vresp); in vio_net_resource_unreg()
1649 (void) vnet_rem_resource(vnetp, vresp); in vio_net_resource_unreg()
1651 vnet_hio_destroy_kstats(vresp->ksp); in vio_net_resource_unreg()
1652 KMEM_FREE(vresp); in vio_net_resource_unreg()
1656 vnet_add_resource(vnet_t *vnetp, vnet_res_t *vresp) in vnet_add_resource() argument
1659 vresp->nextp = vnetp->vres_list; in vnet_add_resource()
1660 vnetp->vres_list = vresp; in vnet_add_resource()
1665 vnet_rem_resource(vnet_t *vnetp, vnet_res_t *vresp) in vnet_rem_resource() argument
1670 if (vresp == vnetp->vres_list) { in vnet_rem_resource()
1671 vnetp->vres_list = vresp->nextp; in vnet_rem_resource()
1675 if (vrp->nextp == vresp) { in vnet_rem_resource()
1676 vrp->nextp = vresp->nextp; in vnet_rem_resource()
1682 vresp->vnetp = NULL; in vnet_rem_resource()
1683 vresp->nextp = NULL; in vnet_rem_resource()
1687 return (vresp); in vnet_rem_resource()
1734 vnet_res_t *vresp = (vnet_res_t *)vrh; in vnet_handle_res_err() local
1735 vnet_t *vnetp = vresp->vnetp; in vnet_handle_res_err()
1740 if ((vresp->type != VIO_NET_RES_LDC_SERVICE) && in vnet_handle_res_err()
1741 (vresp->type != VIO_NET_RES_HYBRID)) { in vnet_handle_res_err()
1795 vnet_res_t *vresp; in vnet_start_resources() local
1802 for (vresp = vnetp->vres_list; vresp != NULL; vresp = vresp->nextp) { in vnet_start_resources()
1804 if (vresp->flags & VNET_STARTED) { in vnet_start_resources()
1807 macp = &vresp->macreg; in vnet_start_resources()
1815 vresp->flags |= VNET_STARTED; in vnet_start_resources()
1816 vnet_fdbe_add(vnetp, vresp); in vnet_start_resources()
1830 vnet_res_t *vresp; in vnet_stop_resources() local
1838 for (vresp = vnetp->vres_list; vresp != NULL; ) { in vnet_stop_resources()
1839 if (vresp->flags & VNET_STARTED) { in vnet_stop_resources()
1855 vresp->flags &= ~VNET_STARTED; in vnet_stop_resources()
1856 vresp->flags |= VNET_STOPPING; in vnet_stop_resources()
1857 macp = &vresp->macreg; in vnet_stop_resources()
1859 VNET_FDBE_REFHOLD(vresp); in vnet_stop_resources()
1865 vresp->flags &= ~VNET_STOPPING; in vnet_stop_resources()
1866 VNET_FDBE_REFRELE(vresp); in vnet_stop_resources()
1868 vresp = vresp->nextp; in vnet_stop_resources()
1879 vnet_hio_setup_kstats(char *ks_mod, char *ks_name, vnet_res_t *vresp) in vnet_hio_setup_kstats() argument
1882 vnet_t *vnetp = vresp->vnetp; in vnet_hio_setup_kstats()
1924 ksp->ks_private = (void *)vresp; in vnet_hio_setup_kstats()
1946 vnet_res_t *vresp; in vnet_hio_update_kstats() local
1950 vresp = (vnet_res_t *)ksp->ks_private; in vnet_hio_update_kstats()
1951 vnetp = vresp->vnetp; in vnet_hio_update_kstats()
1996 vnet_hio_get_stats(vnet_res_t *vresp, vnet_hio_stats_t *statsp) in vnet_hio_get_stats() argument
2006 macp = &vresp->macreg; in vnet_hio_get_stats()
2455 vnet_res_t *vresp; in vnet_rx_ring_stat() local
2479 vresp = (vnet_res_t *)rx_ringp->hw_rh; in vnet_rx_ring_stat()
2480 macp = &vresp->macreg; in vnet_rx_ring_stat()
2538 vnet_res_t *vresp; in vnet_ring_enable_intr() local
2558 vresp = (vnet_res_t *)rx_ringp->hw_rh; in vnet_ring_enable_intr()
2559 return (vgen_enable_intr(vresp->macreg.m_driver)); in vnet_ring_enable_intr()
2570 vnet_res_t *vresp; in vnet_ring_disable_intr() local
2590 vresp = (vnet_res_t *)rx_ringp->hw_rh; in vnet_ring_disable_intr()
2591 return (vgen_disable_intr(vresp->macreg.m_driver)); in vnet_ring_disable_intr()
2603 vnet_res_t *vresp; in vnet_rx_poll() local
2624 vresp = (vnet_res_t *)rx_ringp->hw_rh; in vnet_rx_poll()
2625 mp = vgen_rx_poll(vresp->macreg.m_driver, bytes_to_pickup); in vnet_rx_poll()
2946 vnet_bind_vgenring(vnet_res_t *vresp) in vnet_bind_vgenring() argument
2955 vnetp = vresp->vnetp; in vnet_bind_vgenring()
2956 type = vresp->type; in vnet_bind_vgenring()
2968 rx_ringp->hw_rh = (mac_ring_handle_t)vresp; in vnet_bind_vgenring()
2969 vresp->rx_ringp = (void *)rx_ringp; in vnet_bind_vgenring()
2984 rx_ringp->hw_rh = (mac_ring_handle_t)vresp; in vnet_bind_vgenring()
2992 vresp->rx_ringp = (void *)rx_ringp; in vnet_bind_vgenring()
3013 vnet_unbind_vgenring(vnet_res_t *vresp) in vnet_unbind_vgenring() argument
3021 vnetp = vresp->vnetp; in vnet_unbind_vgenring()
3022 type = vresp->type; in vnet_unbind_vgenring()
3025 if (vresp->rx_ringp == NULL) { in vnet_unbind_vgenring()
3039 vresp->rx_ringp = NULL; in vnet_unbind_vgenring()
3046 rx_ringp = (vnet_pseudo_rx_ring_t *)vresp->rx_ringp; in vnet_unbind_vgenring()
3047 vresp->rx_ringp = NULL; in vnet_unbind_vgenring()
3064 vnet_unbind_rings(vnet_res_t *vresp) in vnet_unbind_rings() argument
3066 switch (vresp->type) { in vnet_unbind_rings()
3070 vnet_unbind_vgenring(vresp); in vnet_unbind_rings()
3074 vnet_unbind_hwrings(vresp->vnetp); in vnet_unbind_rings()
3084 vnet_bind_rings(vnet_res_t *vresp) in vnet_bind_rings() argument
3088 switch (vresp->type) { in vnet_bind_rings()
3092 rv = vnet_bind_vgenring(vresp); in vnet_bind_rings()
3096 rv = vnet_bind_hwrings(vresp->vnetp); in vnet_bind_rings()
3204 vnet_res_t *vresp; in vnet_force_link_state() local
3208 vresp = vnetp->vsw_fp; in vnet_force_link_state()
3209 if (vresp == NULL) { in vnet_force_link_state()
3214 macp = &vresp->macreg; in vnet_force_link_state()