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