Lines Matching defs:vgenp

93 static int vgen_read_mdprops(vgen_t *vgenp);
94 static void vgen_update_md_prop(vgen_t *vgenp, md_t *mdp, mde_cookie_t mdex);
95 static void vgen_read_pri_eth_types(vgen_t *vgenp, md_t *mdp,
97 static void vgen_mtu_read(vgen_t *vgenp, md_t *mdp, mde_cookie_t node,
99 static void vgen_linkprop_read(vgen_t *vgenp, md_t *mdp, mde_cookie_t node,
101 static void vgen_detach_ports(vgen_t *vgenp);
107 static int vgen_mdeg_reg(vgen_t *vgenp);
108 static void vgen_mdeg_unreg(vgen_t *vgenp);
111 static int vgen_add_port(vgen_t *vgenp, md_t *mdp, mde_cookie_t mdex);
112 static int vgen_port_read_props(vgen_port_t *portp, vgen_t *vgenp, md_t *mdp,
114 static int vgen_remove_port(vgen_t *vgenp, md_t *mdp, mde_cookie_t mdex);
117 static int vgen_update_port(vgen_t *vgenp, md_t *curr_mdp,
121 static void vgen_reset_vsw_port(vgen_t *vgenp);
184 static void vgen_link_update(vgen_t *vgenp, link_state_t link_state);
200 static void vgen_reset_vlan_unaware_ports(vgen_t *vgenp);
236 #define VGEN_PRI_ETH_DEFINED(vgenp) ((vgenp)->pri_num_types != 0)
454 void vgen_debug_printf(const char *fname, vgen_t *vgenp,
496 vgen_t *vgenp;
508 vgenp = kmem_zalloc(sizeof (vgen_t), KM_SLEEP);
510 vgenp->vnetp = vnetp;
511 vgenp->instance = instance;
512 vgenp->regprop = regprop;
513 vgenp->vnetdip = vnetdip;
514 bcopy(macaddr, &(vgenp->macaddr), ETHERADDRL);
515 vgenp->phys_link_state = LINK_STATE_UNKNOWN;
518 vgenp->mctab = kmem_zalloc(VGEN_INIT_MCTAB_SIZE *
520 vgenp->mccount = 0;
521 vgenp->mcsize = VGEN_INIT_MCTAB_SIZE;
523 mutex_init(&vgenp->lock, NULL, MUTEX_DRIVER, NULL);
524 rw_init(&vgenp->vgenports.rwlock, NULL, RW_DRIVER, NULL);
528 if ((vgenp->rxp_taskq = ddi_taskq_create(vnetdip, qname, 1,
535 rv = vgen_read_mdprops(vgenp);
539 *vgenhdl = (void *)vgenp;
545 rw_destroy(&vgenp->vgenports.rwlock);
546 mutex_destroy(&vgenp->lock);
547 kmem_free(vgenp->mctab, VGEN_INIT_MCTAB_SIZE *
549 if (VGEN_PRI_ETH_DEFINED(vgenp)) {
550 kmem_free(vgenp->pri_types,
551 sizeof (uint16_t) * vgenp->pri_num_types);
552 (void) vio_destroy_mblks(vgenp->pri_tx_vmp);
554 if (vgenp->rxp_taskq != NULL) {
555 ddi_taskq_destroy(vgenp->rxp_taskq);
556 vgenp->rxp_taskq = NULL;
558 KMEM_FREE(vgenp);
565 vgen_t *vgenp = (vgen_t *)arg;
568 return (vgen_mdeg_reg(vgenp));
578 vgen_t *vgenp = (vgen_t *)arg;
580 if (vgenp == NULL) {
584 DBG1(vgenp, NULL, "enter\n");
587 vgen_mdeg_unreg(vgenp);
589 mutex_enter(&vgenp->lock);
596 vgen_detach_ports(vgenp);
604 if (vgenp->rxp_taskq != NULL) {
605 ddi_taskq_destroy(vgenp->rxp_taskq);
606 vgenp->rxp_taskq = NULL;
610 kmem_free(vgenp->mctab, vgenp->mcsize * sizeof (struct ether_addr));
613 if (VGEN_PRI_ETH_DEFINED(vgenp)) {
614 kmem_free(vgenp->pri_types,
615 sizeof (uint16_t) * vgenp->pri_num_types);
616 (void) vio_destroy_mblks(vgenp->pri_tx_vmp);
619 mutex_exit(&vgenp->lock);
620 rw_destroy(&vgenp->vgenports.rwlock);
621 mutex_destroy(&vgenp->lock);
623 DBG1(vgenp, NULL, "exit\n");
624 KMEM_FREE(vgenp);
632 vgen_t *vgenp = portp->vgenp;
634 DBG1(vgenp, NULL, "enter\n");
639 DBG1(vgenp, NULL, "exit\n");
649 vgen_t *vgenp = portp->vgenp;
651 DBG1(vgenp, NULL, "enter\n");
659 DBG1(vgenp, NULL, "exit\n");
702 vgen_t *vgenp;
706 vgenp = portp->vgenp;
732 if (portp != vgenp->vsw_portp) {
784 vgen_t *vgenp = portp->vgenp;
785 vnet_t *vnetp = vgenp->vnetp;
796 (void) atomic_inc_32(&vgenp->vsw_port_refcnt);
797 portp = portp->vgenp->vsw_portp;
819 if (portp != vgenp->vsw_portp &&
843 (void) atomic_dec_32(&vgenp->vsw_port_refcnt);
857 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
862 ASSERT(VGEN_PRI_ETH_DEFINED(vgenp));
864 num_types = vgenp->pri_num_types;
865 types = vgenp->pri_types;
906 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
912 DWARN(vgenp, ldcp, "status(%d), dropping packet\n",
919 DWARN(vgenp, ldcp, "hphase(%x), dropping packet\n",
929 DWARN(vgenp, ldcp, "invalid size(%d)\n", size);
937 vmp = vio_allocb(vgenp->pri_tx_vmp);
940 DWARN(vgenp, ldcp, "vio_allocb failed\n");
968 DWARN(vgenp, ldcp, "Error sending priority frame\n");
993 vgen_t *vgenp;
1003 vgenp = portp->vgenp;
1036 DWARN(vgenp, ldcp, "vgen_sendmsg failed\n");
1045 if (vgenp->mccount >= vgenp->mcsize) {
1050 newsize = vgenp->mcsize * 2;
1056 bcopy(vgenp->mctab, newtab, vgenp->mcsize *
1058 kmem_free(vgenp->mctab,
1059 vgenp->mcsize * sizeof (struct ether_addr));
1061 vgenp->mctab = newtab;
1062 vgenp->mcsize = newsize;
1066 vgenp->mctab[vgenp->mccount++] = *addrp;
1071 for (i = 0; i < vgenp->mccount; i++) {
1072 if (ether_cmp(addrp, &(vgenp->mctab[i])) == 0) {
1080 if (vgenp->mccount > 1) {
1081 vgenp->mctab[i] =
1082 vgenp->mctab[vgenp->mccount-1];
1084 vgenp->mccount--;
1127 vgen_detach_ports(vgen_t *vgenp)
1132 plistp = &(vgenp->vgenports);
1146 vgen_t *vgenp;
1149 vgenp = portp->vgenp;
1152 DBG1(vgenp, NULL, "port(%d):enter\n", port_num);
1159 * - First set vgenp->vsw_portp to NULL, so that
1164 if (vgenp->vsw_portp == portp) {
1165 vgenp->vsw_portp = NULL;
1166 while (vgenp->vsw_port_refcnt > 0) {
1169 (void) atomic_swap_32(&vgenp->vsw_port_refcnt, 0);
1193 DBG1(vgenp, NULL, "port(%d):exit\n", port_num);
1201 vgen_t *vgenp;
1203 vgenp = portp->vgenp;
1204 plistp = &(vgenp->vgenports);
1222 vgen_t *vgenp;
1224 vgenp = portp->vgenp;
1226 plistp = &(vgenp->vgenports);
1288 vgen_read_mdprops(vgen_t *vgenp)
1290 vnet_t *vnetp = vgenp->vnetp;
1343 if (vgenp->regprop != cfgh)
1350 vgen_linkprop_read(vgenp, mdp, listp[i],
1357 vgen_mtu_read(vgenp, mdp, listp[i], &vnetp->mtu);
1361 vgenp->max_frame_size = vnetp->mtu +
1365 vgen_read_pri_eth_types(vgenp, mdp, listp[i]);
1368 vgen_vlan_read_ids(vgenp, VGEN_LOCAL, mdp, listp[i],
1402 vgen_t *vgenp;
1418 vgenp = (vgen_t *)arg;
1419 vnetp = vgenp->vnetp;
1427 vgenp = portp->vgenp;
1428 vnetp = vgenp->vnetp;
1440 DWARN(vgenp, NULL, "prop(%s) not found",
1446 DBG2(vgenp, NULL, "%s(%d): (%d)\n", vgen_dvid_propname,
1453 DWARN(vgenp, NULL, "prop(%s) not found", pvid_propname);
1458 DBG2(vgenp, NULL, "%s(%d): (%d)\n",
1465 DBG2(vgenp, NULL, "prop(%s) not found", vid_propname);
1473 DBG2(vgenp, NULL, "%s(%d): ", vid_propname, inst);
1478 DBG2(vgenp, NULL, " %d ", (*vidspp)[i]);
1480 DBG2(vgenp, NULL, "\n");
1618 vgen_read_pri_eth_types(vgen_t *vgenp, md_t *mdp, mde_cookie_t node)
1638 DBG2(vgenp, NULL,
1645 vgenp->pri_num_types = 0;
1656 vgenp->pri_num_types = size;
1657 vgenp->pri_types = kmem_zalloc(size * sizeof (uint16_t), KM_SLEEP);
1658 for (i = 0, types = vgenp->pri_types; i < size; i++) {
1661 mblk_sz = (VIO_PKT_DATA_HDRSIZE + vgenp->max_frame_size + 7) & ~7;
1663 &vgenp->pri_tx_vmp);
1667 vgen_mtu_read(vgen_t *vgenp, md_t *mdp, mde_cookie_t node, uint32_t *mtu)
1677 DWARN(vgenp, NULL, "prop(%s) not found", mtu_propname);
1682 DBG2(vgenp, NULL, "%s(%d): (%d)\n", mtu_propname,
1683 vgenp->instance, *mtu);
1688 vgen_linkprop_read(vgen_t *vgenp, md_t *mdp, mde_cookie_t node,
1699 DWARN(vgenp, NULL, "prop(%s) not found", linkpropname);
1704 DBG2(vgenp, NULL, "%s(%d): (%d)\n", linkpropname,
1705 vgenp->instance, *pls);
1711 vgen_mdeg_reg(vgen_t *vgenp)
1737 VGEN_SET_MDEG_PROP_INST(pspecp, vgenp->regprop);
1743 vgenp->mdeg_parentp = parentp;
1749 rv = mdeg_register(parentp, &vdev_match, vgen_mdeg_cb, vgenp, &dev_hdl);
1751 DERR(vgenp, NULL, "mdeg_register failed\n");
1756 rv = mdeg_register(parentp, &vport_match, vgen_mdeg_port_cb, vgenp,
1759 DERR(vgenp, NULL, "mdeg_register failed\n");
1764 vgenp->mdeg_dev_hdl = dev_hdl;
1765 vgenp->mdeg_port_hdl = port_hdl;
1775 vgenp->mdeg_parentp = NULL;
1781 vgen_mdeg_unreg(vgen_t *vgenp)
1783 if (vgenp->mdeg_dev_hdl != NULL) {
1784 (void) mdeg_unregister(vgenp->mdeg_dev_hdl);
1785 vgenp->mdeg_dev_hdl = NULL;
1787 if (vgenp->mdeg_port_hdl != NULL) {
1788 (void) mdeg_unregister(vgenp->mdeg_port_hdl);
1789 vgenp->mdeg_port_hdl = NULL;
1792 if (vgenp->mdeg_parentp != NULL) {
1793 kmem_free(vgenp->mdeg_parentp->specp,
1795 KMEM_FREE(vgenp->mdeg_parentp);
1796 vgenp->mdeg_parentp = NULL;
1807 vgen_t *vgenp;
1813 vgenp = (vgen_t *)cb_argp;
1814 DBG1(vgenp, NULL, "enter\n");
1816 mutex_enter(&vgenp->lock);
1818 DBG1(vgenp, NULL, "ports: removed(%x), "
1823 (void) vgen_remove_port(vgenp, resp->removed.mdp,
1827 if (vgenp->vsw_portp == NULL) {
1841 if (vgen_add_port(vgenp,
1848 vgenp->instance);
1849 mutex_exit(&vgenp->lock);
1857 DWARN(vgenp, NULL, "can't find vsw_port\n");
1858 mutex_exit(&vgenp->lock);
1868 (void) vgen_add_port(vgenp, resp->added.mdp,
1873 (void) vgen_update_port(vgenp, resp->match_curr.mdp,
1879 mutex_exit(&vgenp->lock);
1880 DBG1(vgenp, NULL, "exit\n");
1888 vgen_t *vgenp;
1899 vgenp = (vgen_t *)cb_argp;
1900 vnetp = vgenp->vnetp;
1902 DBG1(vgenp, NULL, "added %d : removed %d : curr matched %d"
1906 mutex_enter(&vgenp->lock);
1951 DERR(vgenp, NULL, "unable to get node name\n");
1957 DERR(vgenp, NULL, "%s: Invalid node name: %s\n", node_name);
1962 DERR(vgenp, NULL, "prop(cfg-handle) not found\n");
1967 if (inst != vgenp->regprop) {
1968 DERR(vgenp, NULL, "Invalid cfg-handle: %lx\n", inst);
1972 vgen_update_md_prop(vgenp, mdp, node);
1974 mutex_exit(&vgenp->lock);
1978 mutex_exit(&vgenp->lock);
1987 vgen_update_md_prop(vgen_t *vgenp, md_t *mdp, mde_cookie_t mdex)
1992 vnet_t *vnetp = vgenp->vnetp;
2004 vgen_vlan_read_ids(vgenp, VGEN_LOCAL, mdp, mdex, &pvid, &vids,
2016 vgen_mtu_read(vgenp, mdp, mdex, &mtu);
2030 vgen_linkprop_read(vgenp, mdp, mdex, &pls_update);
2052 vgen_reset_vlan_unaware_ports(vgenp);
2063 DBG2(vgenp, NULL, "curr_mtu(%d) new_mtu(%d)\n",
2068 vgenp->max_frame_size = mtu +
2076 mutex_exit(&vgenp->lock);
2079 vgen_reset_vsw_port(vgenp);
2081 mutex_enter(&vgenp->lock);
2087 vgen_add_port(vgen_t *vgenp, md_t *mdp, mde_cookie_t mdex)
2094 rv = vgen_port_read_props(portp, vgenp, mdp, mdex);
2110 vgen_port_read_props(vgen_port_t *portp, vgen_t *vgenp, md_t *mdp,
2128 DWARN(vgenp, NULL, "prop(%s) not found\n", id_propname);
2136 DWARN(vgenp, NULL, "invalid number of nodes found (%d)",
2152 DWARN(vgenp, NULL, "can't find %s nodes", channel_propname);
2158 DWARN(vgenp, NULL, "Port %d: Number of channels %d > 1\n",
2171 DWARN(vgenp, NULL, "prop(%s) not found\n",
2177 DBG2(vgenp, NULL, "ldc_id 0x%llx", ldc_ids[i]);
2184 DWARN(vgenp, NULL, "prop(%s) not found\n", rmacaddr_propname);
2190 DWARN(vgenp, NULL, "invalid address size (%d)\n", addrsz);
2197 DBG2(vgenp, NULL, "remote mac address 0x%llx\n", macaddr);
2214 portp->vgenp = vgenp;
2232 vgen_remove_port(vgen_t *vgenp, md_t *mdp, mde_cookie_t mdex)
2240 DWARN(vgenp, NULL, "prop(%s) not found\n", id_propname);
2244 plistp = &(vgenp->vgenports);
2249 DWARN(vgenp, NULL, "can't find port(%lx)\n", port_num);
2265 vgen_t *vgenp;
2272 vgenp = portp->vgenp;
2275 DBG2(vgenp, NULL, "port_num(%d), ldcid(%lx)\n",
2307 macp->m_dip = vgenp->vnetdip;
2308 macp->m_src_addr = (uint8_t *)&(vgenp->macaddr);
2314 rv = vio_net_resource_reg(macp, type, vgenp->macaddr,
2321 plistp = &(vgenp->vgenports);
2328 vgenp->vsw_portp = portp;
2329 (void) atomic_swap_32(&vgenp->vsw_port_refcnt, 0);
2332 DERR(vgenp, NULL, "vio_net_resource_reg failed for portp=0x%p",
2337 DBG1(vgenp, NULL, "exit: port_num(%d)\n", portp->port_num);
2345 vgen_t *vgenp = portp->vgenp;
2347 DBG1(vgenp, NULL, "enter: port_num(%d)\n", portp->port_num);
2360 DBG1(vgenp, NULL, "exit: port_num(%d)\n", portp->port_num);
2364 vgen_update_port(vgen_t *vgenp, md_t *curr_mdp, mde_cookie_t curr_mdex,
2381 DWARN(vgenp, NULL, "prop(%s) not found\n", id_propname);
2386 DWARN(vgenp, NULL, "prop(%s) not found\n", id_propname);
2392 plistp = &(vgenp->vgenports);
2398 DWARN(vgenp, NULL, "can't find port(%lx)\n", cport_num);
2457 vgen_t *vgenp;
2469 vgenp = portp->vgenp;
2492 attr.instance = vgenp->instance;
2497 DWARN(vgenp, ldcp, "ldc_init failed,rv (%d)\n", status);
2504 DWARN(vgenp, ldcp, "ldc_reg_callback failed, rv (%d)\n",
2512 ldcp->msglen = VIO_PKT_DATA_HDRSIZE + vgenp->max_frame_size;
2521 instance = vgenp->instance;
2570 vgen_t *vgenp;
2575 vgenp = portp->vgenp;
2578 DWARN(vgenp, ldcp, "ldc_status is not INIT\n");
2607 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
2616 DBG1(vgenp, ldcp, "enter\n");
2621 DWARN(vgenp, ldcp, "ldc_open failed: rv(%d)\n", rv);
2628 DWARN(vgenp, ldcp, "status(%d) is not OPEN/READY\n", istatus);
2635 DWARN(vgenp, ldcp, "ldc_set_cb_mode failed: rv(%d)\n", rv);
2645 DWARN(vgenp, ldcp, "status(%d) is UP\n", istatus);
2658 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
2659 if (ldcp->portp != vgenp->vsw_portp) {
2698 DBG1(vgenp, ldcp, "exit\n");
2706 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
2708 DBG1(vgenp, ldcp, "enter\n");
2714 DWARN(vgenp, ldcp, "CHANNEL_STARTED flag is not set\n");
2726 DBG1(vgenp, ldcp, "exit\n");
2941 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
2943 DBG1(vgenp, ldcp, "enter\n");
2947 if (ldcp->portp != vgenp->vsw_portp) {
2963 DBG1(vgenp, ldcp, "exit\n");
3002 vgen_t *vgenp;
3008 vgenp = LDC_TO_VGEN(ldcp);
3011 DBG1(vgenp, ldcp, "enter\n");
3016 DWARN(vgenp, ldcp, "status(%d) is LDC_INIT\n",
3029 DWARN(vgenp, ldcp, "ldc_status err\n");
3036 DWARN(vgenp, ldcp, "LDC_EVT_UP received "
3042 DWARN(vgenp, ldcp, "event(%lx) UP, status(%d)\n",
3053 DWARN(vgenp, ldcp, "ldc_status error\n");
3059 DWARN(vgenp, ldcp, "event(%lx) RESET/DOWN, status(%d)\n",
3069 DWARN(vgenp, ldcp,
3076 DBG2(vgenp, ldcp, "event(%lx) READ, status(%d)\n",
3102 DBG1(vgenp, ldcp, "exit\n");
3112 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3117 DBG1(vgenp, ldcp, "enter\n");
3135 DWARN(vgenp, ldcp, "ldc_read() failed "
3142 DBG2(vgenp, ldcp, "ldc_read NODATA");
3145 DBG2(vgenp, ldcp, "ldc_read msglen(%d)", msglen);
3167 DWARN(vgenp, ldcp, "vgen_check_sid() failed\n");
3176 DWARN(vgenp, ldcp, "vgen_handle_ctrlmsg()"
3184 DWARN(vgenp, ldcp, "vgen_handle_datamsg()"
3194 DWARN(vgenp, ldcp, "Unknown VIO_TYPE(%x)\n",
3226 DWARN(vgenp, ldcp, "ldc_status err\n");
3232 DWARN(vgenp, ldcp, "Calling vgen_ldc_reset()...\n");
3241 DBG1(vgenp, ldcp, "exit\n");
3263 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3282 DWARN(vgenp, ldcp, "vgen_sendmsg failed\n");
3287 DBG2(vgenp, ldcp, "VER_INFO_SENT ver(%d,%d)\n",
3297 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3320 DWARN(vgenp, ldcp, "vgen_sendmsg failed\n");
3325 DBG2(vgenp, ldcp, "ATTR_INFO_SENT\n");
3337 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3370 DWARN(vgenp, ldcp, "vgen_sendmsg failed\n");
3376 DBG2(vgenp, ldcp, "DRING_INFO_SENT \n");
3389 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3402 DWARN(vgenp, ldcp, "vgen_sendmsg failed\n");
3407 DBG2(vgenp, ldcp, "DRING_INFO_SENT \n");
3415 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3429 DWARN(vgenp, ldcp, "vgen_sendmsg failed\n");
3434 DBG2(vgenp, ldcp, "RDX_INFO_SENT\n");
3446 vgen_t *vgenp;
3456 vgenp = LDC_TO_VGEN(ldcp);
3458 mccount = vgenp->mccount;
3470 mca = &(vgenp->mctab[i]);
3478 DWARN(vgenp, ldcp, "vgen_sendmsg err(%d)\n", rv);
3497 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3500 DWARN(vgenp, ldcp, "Unknown DDS class, dropping");
3503 vnet_dds_rx(vgenp->vnetp, dmsg);
3513 vgen_t *vgenp = arg;
3515 vgen_portlist_t *plistp = &vgenp->vgenports;
3520 ldcp = vgenp->vsw_portp->ldcp;
3571 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3580 if (!VGEN_PRI_ETH_DEFINED(vgenp)) {
3635 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3672 vnet_t *vnetp = vgenp->vnetp;
3679 if (portp == vgenp->vsw_portp && vnetp->pls_update == B_TRUE) {
3691 lp->mtu = vgenp->max_frame_size;
3700 vnet_t *vnetp = vgenp->vnetp;
3726 if (VGEN_PRI_ETH_DEFINED(vgenp)) {
3769 vgen_t *vgenp = portp->vgenp;
3770 vnet_t *vnetp = vgenp->vnetp;
3797 vgen_reset_vlan_unaware_ports(vgen_t *vgenp)
3802 plistp = &(vgenp->vgenports);
3815 vgen_reset_vsw_port(vgen_t *vgenp)
3819 if ((portp = vgenp->vsw_portp) != NULL) {
3827 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3842 ldcp->local_hparams.mtu = vgenp->max_frame_size;
3844 vnet_macaddr_strtoul(vgenp->macaddr);
3885 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
3896 if (portp == vgenp->vsw_portp) { /* vswitch port ? */
3917 DWARN(vgenp, ldcp, "Doing Channel Reset...\n");
3920 DWARN(vgenp, ldcp, "Reset Done, ldc_status(%d)\n", istatus);
3927 DWARN(vgenp, ldcp, "ldc_set_cb_mode failed\n");
3933 DWARN(vgenp, ldcp, "ldc status(%d)\n", ldcp->ldc_status);
3951 vgenp->phys_link_state = LINK_STATE_DOWN;
3971 vgen_link_update(vgenp, ldcp->link_state);
3978 if (is_vsw_port == B_FALSE && vgenp->vsw_portp != NULL) {
4019 DWARN(vgenp, ldcp, "ldc_status err\n");
4085 vgenp->instance, rv, ldcp->ldc_id);
4108 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
4146 DBG1(vgenp, ldcp, "Handshake Done\n");
4155 if (ldcp->portp == vgenp->vsw_portp) {
4164 if (vgenp->pls_negotiated == B_FALSE) {
4179 vgen_link_update(vgenp, ldcp->link_state);
4228 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
4274 DBG2(vgenp, ldcp, "PHASE(%d)\n", hphase);
4296 vgen_link_update(vgen_t *vgenp, link_state_t link_state)
4298 vnet_link_update(vgenp->vnetp, link_state);
4308 vgen_t *vgenp;
4316 vgenp = LDC_TO_VGEN(ldcp);
4317 DBG1(vgenp, ldcp, "enter\n");
4323 DBG2(vgenp, ldcp, "Caching peer_sid(%x)\n",
4348 DWARN(vgenp, ldcp, "Version Negotiation Failed\n");
4361 DBG2(vgenp, ldcp, "VER_INFO_RCVD, ver(%d,%d)\n",
4422 DBG2(vgenp, ldcp, "VER_ACK_SENT, ver(%d,%d) \n",
4426 DWARN(vgenp, ldcp, "Negotiation Failed\n");
4454 DWARN(vgenp, ldcp, "Invalid Phase(%u)\n", ldcp->hphase);
4463 DBG2(vgenp, ldcp, "VER_ACK_RCVD, ver(%d,%d) \n",
4490 DWARN(vgenp, ldcp, "VER_NACK_RCVD Invalid "
4495 DBG2(vgenp, ldcp, "VER_NACK_RCVD next ver(%d,%d)\n",
4503 DWARN(vgenp, ldcp, "Version Negotiation Failed\n");
4539 DWARN(vgenp, ldcp,
4554 DBG1(vgenp, ldcp, "exit\n");
4561 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
4658 mtu = MIN(msg->mtu, vgenp->max_frame_size);
4697 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
4750 ldcp->portp == vgenp->vsw_portp) {
4761 vgenp->pls_negotiated = B_TRUE;
4763 vgenp->pls_negotiated = B_FALSE;
4814 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
4818 DBG1(vgenp, ldcp, "enter\n");
4820 DWARN(vgenp, ldcp, "Rcvd ATTR_INFO subtype(%d),"
4844 DWARN(vgenp, ldcp, "ATTR_NACK_SENT");
4849 DBG2(vgenp, ldcp, "ATTR_ACK_SENT \n");
4867 DBG2(vgenp, ldcp, "ATTR_ACK_RCVD \n");
4879 DBG2(vgenp, ldcp, "ATTR_NACK_RCVD \n");
4882 DBG1(vgenp, ldcp, "exit\n");
4890 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
4893 DBG2(vgenp, ldcp, "DRING_INFO_RCVD");
4904 DWARN(vgenp, ldcp,
4939 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
4942 DBG2(vgenp, ldcp, "DRING_ACK_RCVD");
4965 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
4970 DBG1(vgenp, ldcp, "enter\n");
4973 DWARN(vgenp, ldcp,
5006 DWARN(vgenp, ldcp, "DRING_NACK_SENT");
5011 DBG2(vgenp, ldcp, "DRING_ACK_SENT");
5039 DWARN(vgenp, ldcp, "DRING_NACK_RCVD");
5042 DBG1(vgenp, ldcp, "exit\n");
5054 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
5056 DBG1(vgenp, ldcp, "enter\n");
5058 DWARN(vgenp, ldcp,
5066 DBG2(vgenp, ldcp, "RDX_INFO_RCVD \n");
5079 DBG2(vgenp, ldcp, "RDX_ACK_SENT \n");
5094 DBG2(vgenp, ldcp, "RDX_ACK_RCVD \n");
5106 DBG2(vgenp, ldcp, "RDX_NACK_RCVD \n");
5109 DBG1(vgenp, ldcp, "exit\n");
5117 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
5123 DBG1(vgenp, ldcp, "enter\n");
5129 DWARN(vgenp, ldcp, "rcvd SET_MCAST_INFO \n");
5135 DBG1(vgenp, ldcp, "rcvd SET_MCAST_ACK \n");
5140 DWARN(vgenp, ldcp, "rcvd SET_MCAST_NACK \n");
5151 for (i = 0; i < vgenp->mccount; i++) {
5153 &(vgenp->mctab[i])) == 0) {
5154 if (vgenp->mccount > 1) {
5155 int t = vgenp->mccount - 1;
5156 vgenp->mctab[i] =
5157 vgenp->mctab[t];
5159 vgenp->mccount--;
5167 DBG1(vgenp, ldcp, "exit\n");
5181 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
5186 if (ldcp->portp != vgenp->vsw_portp) {
5194 if (vgenp->pls_negotiated == B_FALSE) {
5214 if (vgenp->phys_link_state != link_state) {
5215 vgenp->phys_link_state = link_state;
5219 vgen_link_update(vgenp, link_state);
5238 DWARN(vgenp, ldcp, "rcvd PHYSLINK_ACK \n");
5244 DWARN(vgenp, ldcp, "rcvd PHYSLINK_NACK \n");
5248 DBG1(vgenp, ldcp, "exit\n");
5258 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
5260 DBG1(vgenp, ldcp, "enter\n");
5301 DBG1(vgenp, ldcp, "exit rv(%d)\n", rv);
5327 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
5348 DWARN(vgenp, ldcp, "allocb failure, "
5416 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
5419 DBG1(vgenp, ldcp, "enter\n");
5448 DBG1(vgenp, ldcp, "exit rv(%d)\n", rv);
5486 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
5497 vgenp->instance, vgen_ldc_max_resets, ldcp->ldc_id);
5512 DWARN(vgenp, ldcp, "ldc_up err rv(%d)\n", rv);
5592 vgen_t *vgenp;
5598 vgenp = LDC_TO_VGEN(ldcp);
5612 DWARN(vgenp, ldcp, "transmit timeout lbolt(%lx), "
5685 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
5687 DWARN(vgenp, ldcp, "handshake timeout phase(%x) state(%x)\n",
5710 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
5713 DWARN(vgenp, ldcp, "sid mismatch: expected(%x), rcvd(%x)\n",
5761 vgen_t *vgenp = LDC_TO_VGEN(ldcp);
5768 dblk_sz = RXDRING_DBLK_SZ(vgenp->max_frame_size);
5784 vgen_debug_printf(const char *fname, vgen_t *vgenp,
5791 if ((vgenp != NULL) && (vgenp->vnetp != NULL)) {
5793 ((vnet_t *)(vgenp->vnetp))->instance);
5875 vgen_t *vgenp = portp->vgenp;
5891 DWARN(vgenp, ldcp, "ldc_status err\n");