Lines Matching refs:vswp

83 void vsw_detach_ports(vsw_t *vswp);
84 int vsw_port_add(vsw_t *vswp, md_t *mdp, mde_cookie_t *node);
86 int vsw_port_detach(vsw_t *vswp, int p_instance);
89 vsw_port_t *vsw_lookup_port(vsw_t *vswp, int p_instance);
92 void vsw_reset_ports(vsw_t *vswp);
94 void vsw_physlink_update_ports(vsw_t *vswp);
161 static void vsw_save_lmacaddr(vsw_t *vswp, uint64_t macaddr);
179 extern int vsw_add_mcst(vsw_t *vswp, uint8_t devtype, uint64_t addr, void *arg);
180 extern int vsw_del_mcst(vsw_t *vswp, uint8_t devtype, uint64_t addr, void *arg);
181 extern void vsw_fdbe_add(vsw_t *vswp, void *port);
182 extern void vsw_fdbe_del(vsw_t *vswp, struct ether_addr *eaddr);
193 extern void vsw_hio_start(vsw_t *vswp, vsw_ldc_t *ldcp);
194 extern void vsw_hio_stop(vsw_t *vswp, vsw_ldc_t *ldcp);
195 extern void vsw_process_dds_msg(vsw_t *vswp, vsw_ldc_t *ldcp, void *msg);
197 extern void vsw_publish_macaddr(vsw_t *vswp, vsw_port_t *portp);
198 extern int vsw_mac_client_init(vsw_t *vswp, vsw_port_t *port, int type);
199 extern void vsw_mac_client_cleanup(vsw_t *vswp, vsw_port_t *port, int type);
329 vsw_t *vswp = port->p_vswp; in vsw_port_attach() local
330 vsw_port_list_t *plist = &vswp->plist; in vsw_port_attach()
336 D1(vswp, "%s: enter : port %d", __func__, port->p_instance); in vsw_port_attach()
342 DWARN(vswp, "%s: port instance %d already attached", in vsw_port_attach()
358 D2(vswp, "%s: %d nids", __func__, nids); in vsw_port_attach()
360 D2(vswp, "%s: ldcid (%llx)", __func__, (uint64_t)ldcids[0]); in vsw_port_attach()
362 DERR(vswp, "%s: ldc_attach failed", __func__); in vsw_port_attach()
366 if (vswp->switching_setup_done == B_TRUE) { in vsw_port_attach()
372 rv = vsw_mac_client_init(vswp, port, VSW_VNETPORT); in vsw_port_attach()
379 vsw_fdbe_add(vswp, port); in vsw_port_attach()
400 vsw_publish_macaddr(vswp, port); in vsw_port_attach()
403 D1(vswp, "%s: exit", __func__); in vsw_port_attach()
424 vsw_port_detach(vsw_t *vswp, int p_instance) in vsw_port_detach() argument
427 vsw_port_list_t *plist = &vswp->plist; in vsw_port_detach()
429 D1(vswp, "%s: enter: port id %d", __func__, p_instance); in vsw_port_detach()
433 if ((port = vsw_lookup_port(vswp, p_instance)) == NULL) { in vsw_port_detach()
438 if (vsw_plist_del_node(vswp, port)) { in vsw_port_detach()
453 vsw_mac_client_cleanup(vswp, port, VSW_VNETPORT); in vsw_port_detach()
456 vsw_fdbe_del(vswp, &(port->p_macaddr)); in vsw_port_detach()
464 D1(vswp, "%s: exit: p_instance(%d)", __func__, p_instance); in vsw_port_detach()
472 vsw_detach_ports(vsw_t *vswp) in vsw_detach_ports() argument
474 vsw_port_list_t *plist = &vswp->plist; in vsw_detach_ports()
477 D1(vswp, "%s: enter", __func__); in vsw_detach_ports()
482 (void) vsw_plist_del_node(vswp, port); in vsw_detach_ports()
488 vsw_mac_client_cleanup(vswp, port, VSW_VNETPORT); in vsw_detach_ports()
491 vsw_fdbe_del(vswp, &(port->p_macaddr)); in vsw_detach_ports()
508 D1(vswp, "%s: exit", __func__); in vsw_detach_ports()
517 vsw_t *vswp = port->p_vswp; in vsw_port_delete() local
519 D1(vswp, "%s: enter : port id %d", __func__, port->p_instance); in vsw_port_delete()
554 D1(vswp, "%s: exit", __func__); in vsw_port_delete()
565 vsw_t *vswp = port->p_vswp; in vsw_ldc_attach() local
578 D1(vswp, "%s: enter", __func__); in vsw_ldc_attach()
582 DERR(vswp, "%s: kmem_zalloc failed", __func__); in vsw_ldc_attach()
609 vsw_set_lane_attr(vswp, &ldcp->lane_out); in vsw_ldc_attach()
612 attr.instance = ddi_get_instance(vswp->dip); in vsw_ldc_attach()
617 DERR(vswp, "%s(%lld): ldc_init failed, rv (%d)", in vsw_ldc_attach()
633 DWARN(vswp, "%s(%lld): Failed to create worker thread", in vsw_ldc_attach()
641 DERR(vswp, "%s(%lld): ldc_reg_callback failed, rv (%d)", in vsw_ldc_attach()
650 ldcp->msglen = VIO_PKT_DATA_HDRSIZE + vswp->max_frame_size; in vsw_ldc_attach()
658 DERR(vswp, "%s: ldc_status failed", __func__); in vsw_ldc_attach()
665 ldcp->ldc_vswp = vswp; in vsw_ldc_attach()
670 ldcp->ksp = vgen_setup_kstats(DRV_NAME, vswp->instance, in vsw_ldc_attach()
673 DERR(vswp, "%s: kstats setup failed", __func__); in vsw_ldc_attach()
680 D1(vswp, "%s: exit", __func__); in vsw_ldc_attach()
723 vsw_t *vswp = ldcp->ldc_port->p_vswp; in vsw_ldc_detach() local
726 D2(vswp, "%s: detaching channel %lld", __func__, ldcp->ldc_id); in vsw_ldc_detach()
770 vswp->instance, rv, ldcp->ldc_id); in vsw_ldc_detach()
803 vsw_t *vswp = ldcp->ldc_vswp; in vsw_ldc_init() local
807 D1(vswp, "%s: enter", __func__); in vsw_ldc_init()
816 DERR(vswp, "%s: ldc_open failed: id(%lld) rv(%d)", in vsw_ldc_init()
823 DERR(vswp, "%s: unable to get status", __func__); in vsw_ldc_init()
828 DERR(vswp, "%s: id (%lld) status(%d) is not OPEN/READY", in vsw_ldc_init()
844 D2(vswp, "%s: ldc_up err id(%lld) rv(%d)", __func__, in vsw_ldc_init()
857 DERR(vswp, "%s: unable to get status", __func__); in vsw_ldc_init()
865 D2(vswp, "%s: channel %ld now UP (%ld)", __func__, in vsw_ldc_init()
877 D1(vswp, "%s: exit", __func__); in vsw_ldc_init()
885 vsw_t *vswp = ldcp->ldc_vswp; in vsw_ldc_uninit() local
888 D1(vswp, "vsw_ldc_uninit: enter: id(%lx)\n", ldcp->ldc_id); in vsw_ldc_uninit()
904 D1(vswp, "vsw_ldc_uninit: exit: id(%lx)", ldcp->ldc_id); in vsw_ldc_uninit()
945 vsw_t *vswp = ldcp->ldc_port->p_vswp; in vsw_ldc_drain() local
947 D1(vswp, "%s: enter", __func__); in vsw_ldc_drain()
961 D2(vswp, "%s: unreg callback for chan %ld", __func__, in vsw_ldc_drain()
982 D2(vswp, "%s: unreg callback for chan %ld after " in vsw_ldc_drain()
986 D1(vswp, "%s: exit", __func__); in vsw_ldc_drain()
998 vsw_t *vswp = port->p_vswp; in vsw_drain_port_taskq() local
1000 D1(vswp, "%s: enter", __func__); in vsw_drain_port_taskq()
1010 if ((vswp->taskq_p == NULL) || in vsw_drain_port_taskq()
1011 (ddi_taskq_dispatch(vswp->taskq_p, vsw_marker_task, in vsw_drain_port_taskq()
1014 vswp->instance); in vsw_drain_port_taskq()
1027 D1(vswp, "%s: exit", __func__); in vsw_drain_port_taskq()
1034 vsw_t *vswp = port->p_vswp; in vsw_marker_task() local
1036 D1(vswp, "%s: enter", __func__); in vsw_marker_task()
1050 D1(vswp, "%s: exit", __func__); in vsw_marker_task()
1054 vsw_lookup_port(vsw_t *vswp, int p_instance) in vsw_lookup_port() argument
1056 vsw_port_list_t *plist = &vswp->plist; in vsw_lookup_port()
1061 D2(vswp, "vsw_lookup_port: found p_instance\n"); in vsw_lookup_port()
1128 vsw_reset_ports(vsw_t *vswp) in vsw_reset_ports() argument
1130 vsw_port_list_t *plist = &vswp->plist; in vsw_reset_ports()
1169 vsw_t *vswp; in vsw_port_physlink_update() local
1171 vswp = portp->p_vswp; in vsw_port_physlink_update()
1182 vsw_send_physlink_msg(ldcp, vswp->phys_link_state); in vsw_port_physlink_update()
1189 vsw_physlink_update_ports(vsw_t *vswp) in vsw_physlink_update_ports() argument
1191 vsw_port_list_t *plist = &vswp->plist; in vsw_physlink_update_ports()
1207 vsw_plist_del_node(vsw_t *vswp, vsw_port_t *port) in vsw_plist_del_node() argument
1209 vsw_port_list_t *plist = &vswp->plist; in vsw_plist_del_node()
1241 vsw_t *vswp = ldcp->ldc_vswp; in vsw_ldc_cb() local
1243 D1(vswp, "%s: enter: ldcid (%lld)\n", __func__, ldcp->ldc_id); in vsw_ldc_cb()
1260 D2(vswp, "%s: id(%ld) event(%llx) UP: status(%ld)", in vsw_ldc_cb()
1272 D2(vswp, "%s: id(ld) event(%llx) data READ", in vsw_ldc_cb()
1283 D2(vswp, "%s: id(%ld) event (%lx) DOWN/RESET: status(%ld)", in vsw_ldc_cb()
1295 DERR(vswp, "%s: id(%ld) Unexpected event=(%llx) status(%ld)", in vsw_ldc_cb()
1320 vsw_t *vswp = ldcp->ldc_vswp; in vsw_ldc_reinit() local
1323 D1(vswp, "%s: enter", __func__); in vsw_ldc_reinit()
1327 D2(vswp, "%s: in 0x%llx : out 0x%llx", __func__, in vsw_ldc_reinit()
1350 D1(vswp, "%s: exit", __func__); in vsw_ldc_reinit()
1359 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_conn_evt() local
1362 D1(vswp, "%s: enter", __func__); in vsw_process_conn_evt()
1415 ASSERT(vswp->taskq_p != NULL); in vsw_process_conn_evt()
1419 " connection event", vswp->instance); in vsw_process_conn_evt()
1426 if (ddi_taskq_dispatch(vswp->taskq_p, vsw_conn_task, conn, in vsw_process_conn_evt()
1429 vswp->instance); in vsw_process_conn_evt()
1435 D1(vswp, "%s: exit", __func__); in vsw_process_conn_evt()
1457 vsw_t *vswp = NULL; in vsw_conn_task() local
1463 vswp = ldcp->ldc_vswp; in vsw_conn_task()
1466 D1(vswp, "%s: enter", __func__); in vsw_conn_task()
1480 "channel %ld", vswp->instance, ldcp->ldc_id); in vsw_conn_task()
1494 vsw_hio_stop(vswp, ldcp); in vsw_conn_task()
1515 "channel %ld", vswp->instance, ldcp->ldc_id); in vsw_conn_task()
1527 vswp->instance, ldcp->hcnt, ldcp->ldc_id); in vsw_conn_task()
1533 (ddi_taskq_dispatch(vswp->taskq_p, vsw_send_ver, ldcp, in vsw_conn_task()
1536 vswp->instance); in vsw_conn_task()
1560 D1(vswp, "%s: exit", __func__); in vsw_conn_task()
1570 vsw_t *vswp = ldcp->ldc_vswp; in vsw_check_flag() local
1584 DERR(vswp, "vsw_check_flag (%d): VER_INFO_RECV" in vsw_check_flag()
1594 DERR(vswp, "vsw_check_flag (%d): spurious VER_ACK or " in vsw_check_flag()
1604 DERR(vswp, "vsw_check_flag (%d): ATTR_INFO_RECV" in vsw_check_flag()
1614 DERR(vswp, "vsw_check_flag (%d): spurious ATTR_ACK" in vsw_check_flag()
1625 DERR(vswp, "vsw_check_flag (%d): DRING_INFO_RECV" in vsw_check_flag()
1635 DERR(vswp, "vsw_check_flag (%d): spurious DRING_ACK " in vsw_check_flag()
1646 DERR(vswp, "vsw_check_flag (%d): RDX_INFO_RECV" in vsw_check_flag()
1656 DERR(vswp, "vsw_check_flag (%d): spurious RDX_ACK or " in vsw_check_flag()
1666 DERR(vswp, "vsw_check_flag (%d): VSW_MCST_INFO_RECV" in vsw_check_flag()
1674 DERR(vswp, "vsw_check_flag (%lld): unknown flag (%llx)", in vsw_check_flag()
1684 D1(vswp, "vsw_check_flag (chan %lld): exit", ldcp->ldc_id); in vsw_check_flag()
1692 vsw_t *vswp = ldcp->ldc_vswp; in vsw_next_milestone() local
1697 D1(vswp, "%s (chan %lld): enter (phase %ld)", __func__, in vsw_next_milestone()
1711 D2(vswp, "%s: (chan %lld) starting handshake " in vsw_next_milestone()
1723 D2(vswp, "%s: (chan %lld) leaving milestone 0", in vsw_next_milestone()
1790 D2(vswp, "%s: (chan %lld) leaving milestone 2", in vsw_next_milestone()
1810 D2(vswp, "%s: (chan %lld) leaving milestone 3", in vsw_next_milestone()
1812 D2(vswp, "%s: ** handshake complete (0x%llx : " in vsw_next_milestone()
1825 D2(vswp, "%s: start HybridIO setup", __func__); in vsw_next_milestone()
1826 vsw_hio_start(vswp, ldcp); in vsw_next_milestone()
1837 vswp->phys_link_state); in vsw_next_milestone()
1841 D2(vswp, "%s: still in milestone 3 (0x%llx : 0x%llx)", in vsw_next_milestone()
1848 D2(vswp, "%s: (chan %lld) in milestone 4", __func__, in vsw_next_milestone()
1853 DERR(vswp, "%s: (chan %lld) Unknown Phase %x", __func__, in vsw_next_milestone()
1857 D1(vswp, "%s (chan %lld): exit (phase %ld)", __func__, ldcp->ldc_id, in vsw_next_milestone()
1925 vsw_t *vswp = ldcp->ldc_vswp; in vsw_set_vnet_proto_ops() local
1970 lp->mtu = vswp->max_frame_size; in vsw_set_vnet_proto_ops()
1999 if (VSW_PRI_ETH_DEFINED(vswp)) { in vsw_set_vnet_proto_ops()
2078 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_pkt() local
2085 D1(vswp, "%s enter: ldcid (%lld)\n", __func__, ldcp->ldc_id); in vsw_process_pkt()
2098 DERR(vswp, "%s :ldc_read err id(%lld) rv(%d) len(%d)\n", in vsw_process_pkt()
2109 D2(vswp, "%s: ldc_read id(%lld) NODATA", __func__, in vsw_process_pkt()
2114 D2(vswp, "%s: ldc_read id(%lld): msglen(%d)", __func__, in vsw_process_pkt()
2134 DERR(vswp, "%s: Unknown tag(%lx) ", __func__, in vsw_process_pkt()
2140 D1(vswp, "%s exit: ldcid (%lld)\n", __func__, ldcp->ldc_id); in vsw_process_pkt()
2152 vsw_t *vswp = port->p_vswp; in vsw_dispatch_ctrl_task() local
2154 D1(vswp, "%s: enter", __func__); in vsw_dispatch_ctrl_task()
2168 D2(vswp, "%s (%ld) handling RDX_ACK in place " in vsw_dispatch_ctrl_task()
2178 DERR(vswp, "%s: unable to alloc space for ctrl msg", __func__); in vsw_dispatch_ctrl_task()
2193 if ((vswp->taskq_p == NULL) || in vsw_dispatch_ctrl_task()
2194 (ddi_taskq_dispatch(vswp->taskq_p, vsw_process_ctrl_pkt, in vsw_dispatch_ctrl_task()
2197 DERR(vswp, "%s: unable to dispatch task to taskq", in vsw_dispatch_ctrl_task()
2205 DWARN(vswp, "%s: port %d detaching, not dispatching " in vsw_dispatch_ctrl_task()
2211 D2(vswp, "%s: dispatched task to taskq for chan %d", __func__, in vsw_dispatch_ctrl_task()
2213 D1(vswp, "%s: exit", __func__); in vsw_dispatch_ctrl_task()
2224 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_ctrl_pkt() local
2228 D1(vswp, "%s(%lld): enter", __func__, ldcp->ldc_id); in vsw_process_ctrl_pkt()
2235 DWARN(vswp, "%s: discarding stale packet belonging to earlier" in vsw_process_ctrl_pkt()
2244 DERR(vswp, "%s (chan %d): invalid session id (%llx)", in vsw_process_ctrl_pkt()
2276 vsw_process_dds_msg(vswp, ldcp, &ctaskp->pktp); in vsw_process_ctrl_pkt()
2283 DERR(vswp, "%s: unknown vio_subtype_env (%x)\n", __func__, env); in vsw_process_ctrl_pkt()
2287 D1(vswp, "%s(%lld): exit", __func__, ldcp->ldc_id); in vsw_process_ctrl_pkt()
2308 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_ctrl_ver_pkt() local
2310 D1(vswp, "%s(%lld): enter", __func__, ldcp->ldc_id); in vsw_process_ctrl_ver_pkt()
2320 D2(vswp, "vsw_process_ctrl_ver_pkt: VIO_SUBTYPE_INFO\n"); in vsw_process_ctrl_ver_pkt()
2330 DERR(vswp, "%s: updating session id for chan %lld " in vsw_process_ctrl_ver_pkt()
2348 DERR(vswp, "%s: illegal device class %d", __func__, in vsw_process_ctrl_ver_pkt()
2375 D2(vswp, "%s: accepted ver %d:%d", __func__, in vsw_process_ctrl_ver_pkt()
2409 D2(vswp, "%s: replying with ver %d:%d", __func__, in vsw_process_ctrl_ver_pkt()
2430 D2(vswp, "%s: VIO_SUBTYPE_ACK\n", __func__); in vsw_process_ctrl_ver_pkt()
2445 D2(vswp, "%s: VIO_SUBTYPE_NACK\n", __func__); in vsw_process_ctrl_ver_pkt()
2457 DERR(vswp, "%s: peer unable to negotiate any " in vsw_process_ctrl_ver_pkt()
2472 DERR(vswp, "%s: version negotiation failed.\n", in vsw_process_ctrl_ver_pkt()
2481 D2(vswp, "%s: resending with updated values (%x, %x)", in vsw_process_ctrl_ver_pkt()
2499 DERR(vswp, "%s: unknown vio_subtype %x\n", __func__, in vsw_process_ctrl_ver_pkt()
2503 D1(vswp, "%s(%lld): exit\n", __func__, ldcp->ldc_id); in vsw_process_ctrl_ver_pkt()
2509 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_attr_info() local
2519 D2(vswp, "%s: VIO_SUBTYPE_INFO", __func__); in vsw_process_attr_info()
2638 mtu = MIN(msg->mtu, vswp->max_frame_size); in vsw_process_attr_info()
2697 if (vswp->smode & VSW_LAYER2) { in vsw_process_attr_info()
2741 D2(vswp, "%s: mode = VIO_DRING_MODE", __func__); in vsw_process_attr_info()
2744 D2(vswp, "%s: mode = VIO_DESC_MODE", __func__); in vsw_process_attr_info()
2769 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_attr_ack() local
2773 D2(vswp, "%s: VIO_SUBTYPE_ACK", __func__); in vsw_process_attr_ack()
2884 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_ctrl_attr_pkt() local
2889 D1(vswp, "%s(%lld) enter", __func__, ldcp->ldc_id); in vsw_process_ctrl_attr_pkt()
2927 D2(vswp, "%s: VIO_SUBTYPE_NACK", __func__); in vsw_process_ctrl_attr_pkt()
2937 DERR(vswp, "%s: unknown vio_subtype %x\n", __func__, in vsw_process_ctrl_attr_pkt()
2941 D1(vswp, "%s(%lld) exit", __func__, ldcp->ldc_id); in vsw_process_ctrl_attr_pkt()
2948 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_dring_reg_info() local
2952 D2(vswp, "%s: VIO_SUBTYPE_INFO", __func__); in vsw_process_dring_reg_info()
2967 DWARN(vswp, "%s(%lld): Rcvd dring reg option (%d), " in vsw_process_dring_reg_info()
2998 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_dring_reg_ack() local
3001 D2(vswp, "%s: VIO_SUBTYPE_ACK", __func__); in vsw_process_dring_reg_ack()
3034 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_ctrl_dring_reg_pkt() local
3038 D1(vswp, "%s(%lld) enter", __func__, ldcp->ldc_id); in vsw_process_ctrl_dring_reg_pkt()
3074 D2(vswp, "%s: VIO_SUBTYPE_NACK", __func__); in vsw_process_ctrl_dring_reg_pkt()
3084 DERR(vswp, "%s: Unknown vio_subtype %x\n", __func__, in vsw_process_ctrl_dring_reg_pkt()
3088 D1(vswp, "%s(%lld) exit", __func__, ldcp->ldc_id); in vsw_process_ctrl_dring_reg_pkt()
3100 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_ctrl_dring_unreg_pkt() local
3109 D1(vswp, "%s(%lld): enter", __func__, ldcp->ldc_id); in vsw_process_ctrl_dring_unreg_pkt()
3113 D2(vswp, "%s: VIO_SUBTYPE_INFO", __func__); in vsw_process_ctrl_dring_unreg_pkt()
3115 DWARN(vswp, "%s: restarting handshake..", __func__); in vsw_process_ctrl_dring_unreg_pkt()
3119 D2(vswp, "%s: VIO_SUBTYPE_ACK", __func__); in vsw_process_ctrl_dring_unreg_pkt()
3121 DWARN(vswp, "%s: restarting handshake..", __func__); in vsw_process_ctrl_dring_unreg_pkt()
3125 D2(vswp, "%s: VIO_SUBTYPE_NACK", __func__); in vsw_process_ctrl_dring_unreg_pkt()
3127 DWARN(vswp, "%s: restarting handshake..", __func__); in vsw_process_ctrl_dring_unreg_pkt()
3131 DERR(vswp, "%s: Unknown vio_subtype %x\n", __func__, in vsw_process_ctrl_dring_unreg_pkt()
3137 D1(vswp, "%s(%lld): exit", __func__, ldcp->ldc_id); in vsw_process_ctrl_dring_unreg_pkt()
3177 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_ctrl_mcst_pkt() local
3180 D1(vswp, "%s(%lld): enter", __func__, ldcp->ldc_id); in vsw_process_ctrl_mcst_pkt()
3190 D2(vswp, "%s: VIO_SUBTYPE_INFO", __func__); in vsw_process_ctrl_mcst_pkt()
3207 DERR(vswp, "%s: invalid multicast address", in vsw_process_ctrl_mcst_pkt()
3233 DWARN(vswp, "%s: VIO_SUBTYPE_ACK", __func__); in vsw_process_ctrl_mcst_pkt()
3248 DWARN(vswp, "%s: VIO_SUBTYPE_NACK", __func__); in vsw_process_ctrl_mcst_pkt()
3261 DERR(vswp, "%s: unknown vio_subtype %x\n", __func__, in vsw_process_ctrl_mcst_pkt()
3265 D1(vswp, "%s(%lld): exit", __func__, ldcp->ldc_id); in vsw_process_ctrl_mcst_pkt()
3272 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_ctrl_rdx_pkt() local
3280 D1(vswp, "%s(%lld) enter", __func__, ldcp->ldc_id); in vsw_process_ctrl_rdx_pkt()
3284 D2(vswp, "%s: VIO_SUBTYPE_INFO", __func__); in vsw_process_ctrl_rdx_pkt()
3306 DERR(vswp, "%s: Unexpected VIO_SUBTYPE_ACK", __func__); in vsw_process_ctrl_rdx_pkt()
3311 D2(vswp, "%s: VIO_SUBTYPE_NACK", __func__); in vsw_process_ctrl_rdx_pkt()
3321 DERR(vswp, "%s: Unknown vio_subtype %x\n", __func__, in vsw_process_ctrl_rdx_pkt()
3325 D1(vswp, "%s(%lld): exit", __func__, ldcp->ldc_id); in vsw_process_ctrl_rdx_pkt()
3332 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_physlink_msg() local
3336 D1(vswp, "%s(%lld) enter", __func__, ldcp->ldc_id); in vsw_process_physlink_msg()
3342 DWARN(vswp, "%s: Unexpected VIO_SUBTYPE_INFO", __func__); in vsw_process_physlink_msg()
3347 D2(vswp, "%s: VIO_SUBTYPE_ACK", __func__); in vsw_process_physlink_msg()
3352 D2(vswp, "%s: VIO_SUBTYPE_NACK", __func__); in vsw_process_physlink_msg()
3356 DERR(vswp, "%s: Unknown vio_subtype %x\n", __func__, in vsw_process_physlink_msg()
3360 D1(vswp, "%s(%lld): exit", __func__, ldcp->ldc_id); in vsw_process_physlink_msg()
3368 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_data_pkt() local
3372 D1(vswp, "%s(%lld): enter", __func__, ldcp->ldc_id); in vsw_process_data_pkt()
3377 DERR(vswp, "%s (chan %d): invalid session id (%llx)", in vsw_process_data_pkt()
3389 DERR(vswp, "%s: got data packet before handshake complete " in vsw_process_data_pkt()
3422 DERR(vswp, "%s: unknown vio_subtype_env (%x)\n", in vsw_process_data_pkt()
3431 D1(vswp, "%s(%lld): exit", __func__, ldcp->ldc_id); in vsw_process_data_pkt()
3457 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_pkt_data() local
3464 DWARN(vswp, "%s(%lld) invalid size(%d)\n", __func__, in vsw_process_pkt_data()
3474 DWARN(vswp, "%s(%lld) allocb failure, " in vsw_process_pkt_data()
3504 vswp->vsw_switch_frame(vswp, mp, VSW_VNETPORT, ldcp->ldc_port, NULL); in vsw_process_pkt_data()
3517 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_data_ibnd_pkt() local
3527 D1(vswp, "%s(%lld): enter", __func__, ldcp->ldc_id); in vsw_process_data_ibnd_pkt()
3533 D1(vswp, "%s: VIO_SUBTYPE_INFO", __func__); in vsw_process_data_ibnd_pkt()
3545 D2(vswp, "%s(%lld): processing inband desc : " in vsw_process_data_ibnd_pkt()
3564 DERR(vswp, "%s(%lld): allocb failed", in vsw_process_data_ibnd_pkt()
3578 DERR(vswp, "%s(%d): unable to copy in data from " in vsw_process_data_ibnd_pkt()
3585 D2(vswp, "%s(%d): copied in %ld bytes using %d cookies", in vsw_process_data_ibnd_pkt()
3607 vswp->vsw_switch_frame(vswp, mp, VSW_VNETPORT, in vsw_process_data_ibnd_pkt()
3613 D1(vswp, "%s: VIO_SUBTYPE_ACK", __func__); in vsw_process_data_ibnd_pkt()
3620 "(idx %ld)", vswp->instance, idx); in vsw_process_data_ibnd_pkt()
3625 DERR(vswp, "%s: no dring found", __func__); in vsw_process_data_ibnd_pkt()
3639 DWARN(vswp, "%s: dropped pkts detected, (%ld, %ld)", in vsw_process_data_ibnd_pkt()
3659 DERR(vswp, "%s: (%ld) desc at index %ld not " in vsw_process_data_ibnd_pkt()
3662 DERR(vswp, "%s: bound %d: ncookies %ld : " in vsw_process_data_ibnd_pkt()
3667 D2(vswp, "%s: (%lld) freeing descp at %lld", __func__, in vsw_process_data_ibnd_pkt()
3680 DERR(vswp, "%s: VIO_SUBTYPE_NACK", __func__); in vsw_process_data_ibnd_pkt()
3694 DERR(vswp, "%s: corrupted NACK received (idx %lld)", in vsw_process_data_ibnd_pkt()
3700 DERR(vswp, "%s: no dring found", __func__); in vsw_process_data_ibnd_pkt()
3718 DERR(vswp, "%s(%lld): Unknown vio_subtype %x\n", __func__, in vsw_process_data_ibnd_pkt()
3722 D1(vswp, "%s(%lld) exit", __func__, ldcp->ldc_id); in vsw_process_data_ibnd_pkt()
3730 vsw_t *vswp = ldcp->ldc_vswp; in vsw_process_err_pkt()
3733 D1(vswp, "%s (%lld): enter\n", __func__, ldcp->ldc_id); in vsw_process_err_pkt()
3739 D2(vswp, "%s: (%x) vio_subtype env", __func__, env); in vsw_process_err_pkt()
3741 D1(vswp, "%s (%lld): exit\n", __func__, ldcp->ldc_id); in vsw_process_err_pkt()
3777 vsw_get_pri_packets(vsw_t *vswp, mblk_t **np, mblk_t **npt, in vsw_get_pri_packets() argument
3801 num_types = vswp->pri_num_types; in vsw_get_pri_packets()
3802 types = vswp->pri_types; in vsw_get_pri_packets()
3851 vsw_t *vswp = ldcp->ldc_vswp; in vsw_ldctx_pri() local
3853 ASSERT(VSW_PRI_ETH_DEFINED(vswp)); in vsw_ldctx_pri()
3860 n = vsw_get_pri_packets(vswp, &nmp, &nmpt, &hmp, &hmpt); in vsw_ldctx_pri()
3951 vsw_t *vswp = ldcp->ldc_vswp; in vsw_ldcsend_pkt() local
3957 DWARN(vswp, "%s(%lld) status(%d) lstate(0x%llx), dropping " in vsw_ldcsend_pkt()
3968 DWARN(vswp, "%s(%lld) invalid size(%d)\n", __func__, in vsw_ldcsend_pkt()
3977 vmp = vio_allocb(vswp->pri_tx_vmp); in vsw_ldcsend_pkt()
3980 DWARN(vswp, "vio_allocb failed\n"); in vsw_ldcsend_pkt()
4008 DWARN(vswp, "%s(%lld) Error sending priority frame\n", __func__, in vsw_ldcsend_pkt()
4107 vsw_t *vswp = ldcp->ldc_vswp; in vsw_descrsend() local
4119 D1(vswp, "%s(%lld): enter", __func__, ldcp->ldc_id); in vsw_descrsend()
4125 DERR(vswp, "%s(%lld) status(%d) state (0x%llx), dropping pkt", in vsw_descrsend()
4137 DERR(vswp, "%s(%lld): no dring for outbound lane", in vsw_descrsend()
4139 DERR(vswp, "%s(%lld) status(%d) state (0x%llx)", __func__, in vsw_descrsend()
4147 DERR(vswp, "%s(%lld) invalid size (%ld)\n", __func__, in vsw_descrsend()
4158 DERR(vswp, "%s(%lld): no descriptor available for ring " in vsw_descrsend()
4167 D2(vswp, "%s(%lld): free private descriptor found at pos " in vsw_descrsend()
4210 D1(vswp, "%s(%lld): exit", __func__, ldcp->ldc_id); in vsw_descrsend()
4218 vsw_t *vswp = ldcp->ldc_vswp; in vsw_send_ver() local
4222 D1(vswp, "%s enter", __func__); in vsw_send_ver()
4248 D1(vswp, "%s (%d): exit", __func__, ldcp->ldc_id); in vsw_send_ver()
4254 vsw_t *vswp = ldcp->ldc_vswp; in vsw_send_attr() local
4258 D1(vswp, "%s (%ld) enter", __func__, ldcp->ldc_id); in vsw_send_attr()
4275 READ_ENTER(&vswp->if_lockrw); in vsw_send_attr()
4276 attr_msg.addr = vnet_macaddr_strtoul((vswp->if_addr).ether_addr_octet); in vsw_send_attr()
4277 RW_EXIT(&vswp->if_lockrw); in vsw_send_attr()
4285 D1(vswp, "%s (%ld) exit", __func__, ldcp->ldc_id); in vsw_send_attr()
4293 vsw_t *vswp = ldcp->ldc_vswp; in vsw_send_dring_info() local
4298 D1(vswp, "%s: (%ld) enter", __func__, ldcp->ldc_id); in vsw_send_dring_info()
4333 D1(vswp, "%s: (%ld) exit", __func__, ldcp->ldc_id); in vsw_send_dring_info()
4339 vsw_t *vswp = ldcp->ldc_vswp; in vsw_send_rdx() local
4342 D1(vswp, "%s (%ld) enter", __func__, ldcp->ldc_id); in vsw_send_rdx()
4355 D1(vswp, "%s (%ld) exit", __func__, ldcp->ldc_id); in vsw_send_rdx()
4365 vsw_t *vswp = NULL; in vsw_del_addr() local
4378 vswp = (vsw_t *)arg; in vsw_del_addr()
4379 mutex_enter(&vswp->mca_lock); in vsw_del_addr()
4380 prev_p = curr_p = vswp->mcap; in vsw_del_addr()
4392 vswp->mcap = curr_p->nextp; in vsw_del_addr()
4406 mutex_exit(&vswp->mca_lock); in vsw_del_addr()
4424 vsw_t *vswp = ldcp->ldc_vswp; in vsw_create_privring() local
4426 D1(vswp, "%s(%lld): enter", __func__, ldcp->ldc_id); in vsw_create_privring()
4440 DERR(vswp, "%s: setup of ring failed", __func__); in vsw_create_privring()
4449 D1(vswp, "%s(%lld): exit", __func__, ldcp->ldc_id); in vsw_create_privring()
4458 vsw_set_lane_attr(vsw_t *vswp, lane_t *lp) in vsw_set_lane_attr() argument
4462 READ_ENTER(&vswp->if_lockrw); in vsw_set_lane_attr()
4463 ether_copy(&(vswp->if_addr), &(lp->addr)); in vsw_set_lane_attr()
4464 RW_EXIT(&vswp->if_lockrw); in vsw_set_lane_attr()
4466 lp->mtu = vswp->max_frame_size; in vsw_set_lane_attr()
4507 vsw_t *vswp = ldcp->ldc_vswp; in vsw_map_dring_cmn() local
4515 DERR(vswp, "%s (%lld): invalid dring info", in vsw_map_dring_cmn()
4602 vsw_t *vswp = ldcp->ldc_vswp; in vsw_map_data() local
4624 DWARN(vswp, "%s (%lld) ldc_mem_alloc_handle() failed: %d\n", in vsw_map_data()
4635 DWARN(vswp, "%s (%lld) ldc_mem_map() failed: %d\n", in vsw_map_data()
4644 DWARN(vswp, "%s (%lld) ldc_mem_info() failed: %d\n", in vsw_map_data()
4650 DWARN(vswp, "%s (%lld) mtype(%d) is not direct map\n", in vsw_map_data()
4725 vsw_t *vswp = ldcp->ldc_vswp; in vsw_ldc_tx_worker() local
4729 D1(vswp, "%s(%lld):enter\n", __func__, ldcp->ldc_id); in vsw_ldc_tx_worker()
4750 D2(vswp, "%s(%lld):tx thread stopped\n", in vsw_ldc_tx_worker()
4758 D2(vswp, "%s(%lld):calling vsw_ldcsend\n", in vsw_ldc_tx_worker()
4776 D1(vswp, "%s(%lld):exit\n", __func__, ldcp->ldc_id); in vsw_ldc_tx_worker()
4785 vsw_t *vswp = ldcp->ldc_vswp; in vsw_stop_tx_thread() local
4787 D1(vswp, "%s(%lld):enter\n", __func__, ldcp->ldc_id); in vsw_stop_tx_thread()
4804 D1(vswp, "%s(%lld):exit\n", __func__, ldcp->ldc_id); in vsw_stop_tx_thread()
4814 vsw_t *vswp = ldcp->ldc_vswp; in vsw_mapin_avail() local
4821 dblk_sz = RXDRING_DBLK_SZ(vswp->max_frame_size); in vsw_mapin_avail()
4837 vsw_t *vswp; in display_state() local
4845 for (vswp = vsw_head; vswp; vswp = vswp->next) { in display_state()
4846 plist = &vswp->plist; in display_state()
4849 vswp->instance, plist->num_ports); in display_state()