Lines Matching refs:glddev
515 glddev_t *glddev; in gld_register() local
568 glddev = gld_devlookup(major); in gld_register()
573 if (glddev == NULL) { in gld_register()
575 glddev = GLD_GETSTRUCT(glddev_t, 1); in gld_register()
576 if (glddev == NULL) { in gld_register()
580 (void) strncpy(glddev->gld_name, devname, in gld_register()
581 sizeof (glddev->gld_name) - 1); in gld_register()
582 glddev->gld_major = major; in gld_register()
583 glddev->gld_nextminor = GLD_MIN_CLONE_MINOR; in gld_register()
584 glddev->gld_mac_next = glddev->gld_mac_prev = in gld_register()
585 (gld_mac_info_t *)&glddev->gld_mac_next; in gld_register()
586 glddev->gld_str_next = glddev->gld_str_prev = in gld_register()
587 (gld_t *)&glddev->gld_str_next; in gld_register()
588 mutex_init(&glddev->gld_devlock, NULL, MUTEX_DRIVER, NULL); in gld_register()
591 glddev->gld_multisize = ddi_getprop(DDI_DEV_T_NONE, in gld_register()
600 glddev->gld_styles = ddi_getprop(DDI_DEV_T_NONE, devinfo, 0, in gld_register()
604 glddev->gld_type = macinfo->gldm_type; in gld_register()
605 glddev->gld_minsdu = macinfo->gldm_minpkt; in gld_register()
606 glddev->gld_saplen = macinfo->gldm_saplen; in gld_register()
607 glddev->gld_addrlen = macinfo->gldm_addrlen; in gld_register()
608 glddev->gld_broadcast = kmem_zalloc(macinfo->gldm_addrlen, in gld_register()
611 glddev->gld_broadcast, macinfo->gldm_addrlen); in gld_register()
612 glddev->gld_maxsdu = macinfo->gldm_maxpkt; in gld_register()
613 gldinsque(glddev, gld_device_list.gld_prev); in gld_register()
615 glddev->gld_ndevice++; in gld_register()
684 mac_pvt->major_dev = glddev; in gld_register()
714 mutex_enter(&glddev->gld_devlock); in gld_register()
732 if (glddev->gld_styles != -2) { in gld_register()
733 if (ddi_create_minor_node(devinfo, glddev->gld_name, S_IFCHR, in gld_register()
735 mutex_exit(&glddev->gld_devlock); in gld_register()
743 if (glddev->gld_styles != -1) { in gld_register()
744 (void) sprintf(minordev, "%s%d", glddev->gld_name, in gld_register()
749 mutex_exit(&glddev->gld_devlock); in gld_register()
755 gldinsque(macinfo, glddev->gld_mac_prev); in gld_register()
757 mutex_exit(&glddev->gld_devlock); in gld_register()
771 mutex_enter(&glddev->gld_devlock); in gld_register()
773 mutex_exit(&glddev->gld_devlock); in gld_register()
794 glddev->gld_name, in gld_register()
815 glddev->gld_ndevice--; in gld_register()
822 if (glddev->gld_ndevice == 0) { in gld_register()
824 ASSERT(glddev->gld_mac_next == in gld_register()
825 (gld_mac_info_t *)&glddev->gld_mac_next); in gld_register()
826 ASSERT(glddev->gld_mac_prev == in gld_register()
827 (gld_mac_info_t *)&glddev->gld_mac_next); in gld_register()
836 ASSERT(glddev->gld_str_next == (gld_t *)&glddev->gld_str_next); in gld_register()
837 ASSERT(glddev->gld_str_prev == (gld_t *)&glddev->gld_str_next); in gld_register()
839 gldremque(glddev); in gld_register()
840 mutex_destroy(&glddev->gld_devlock); in gld_register()
841 if (glddev->gld_broadcast != NULL) in gld_register()
842 kmem_free(glddev->gld_broadcast, glddev->gld_addrlen); in gld_register()
843 kmem_free(glddev, sizeof (glddev_t)); in gld_register()
859 glddev_t *glddev = mac_pvt->major_dev; in gld_unregister() local
861 int multisize = sizeof (gld_mcast_t) * glddev->gld_multisize; in gld_unregister()
863 mutex_enter(&glddev->gld_devlock); in gld_unregister()
868 mutex_exit(&glddev->gld_devlock); in gld_unregister()
893 mutex_exit(&glddev->gld_devlock); in gld_unregister()
912 glddev->gld_ndevice--; in gld_unregister()
913 if (glddev->gld_ndevice == 0) { in gld_unregister()
915 ASSERT(glddev->gld_mac_next == in gld_unregister()
916 (gld_mac_info_t *)&glddev->gld_mac_next); in gld_unregister()
917 ASSERT(glddev->gld_mac_prev == in gld_unregister()
918 (gld_mac_info_t *)&glddev->gld_mac_next); in gld_unregister()
927 ASSERT(glddev->gld_str_next == (gld_t *)&glddev->gld_str_next); in gld_unregister()
928 ASSERT(glddev->gld_str_prev == (gld_t *)&glddev->gld_str_next); in gld_unregister()
931 gldremque(glddev); in gld_unregister()
932 mutex_destroy(&glddev->gld_devlock); in gld_unregister()
933 if (glddev->gld_broadcast != NULL) in gld_unregister()
934 kmem_free(glddev->gld_broadcast, glddev->gld_addrlen); in gld_unregister()
935 kmem_free(glddev, sizeof (glddev_t)); in gld_unregister()
951 glddev_t *glddev; in gld_initstats() local
955 glddev = mac_pvt->major_dev; in gld_initstats()
957 if ((ksp = kstat_create(glddev->gld_name, macinfo->gldm_ppa, in gld_initstats()
962 glddev->gld_name, macinfo->gldm_ppa); in gld_initstats()
1174 glddev_t *glddev; in gld_init_vlan_stats() local
1179 glddev = mac_pvt->major_dev; in gld_init_vlan_stats()
1180 name = glddev->gld_name; in gld_init_vlan_stats()
1428 glddev_t *glddev; in gld_open() local
1443 glddev = gld_devlookup(getmajor(*dev)); in gld_open()
1451 if (glddev == NULL) in gld_open()
1474 gld->gld_device = glddev; in gld_open()
1482 mutex_enter(&glddev->gld_devlock); in gld_open()
1485 gld->gld_minor = gld_findminor(glddev); in gld_open()
1487 mutex_exit(&glddev->gld_devlock); in gld_open()
1502 gldinsque(gld, glddev->gld_str_prev); in gld_open()
1516 for (macinfo = glddev->gld_mac_next; in gld_open()
1517 macinfo != (gld_mac_info_t *)(&glddev->gld_mac_next); in gld_open()
1543 mutex_exit(&glddev->gld_devlock); in gld_open()
1553 mutex_exit(&glddev->gld_devlock); in gld_open()
1575 mutex_exit(&glddev->gld_devlock); in gld_open()
1581 mutex_exit(&glddev->gld_devlock); in gld_open()
1597 glddev_t *glddev = gld->gld_device; in gld_close() local
1610 mutex_enter(&glddev->gld_devlock); in gld_close()
1622 mutex_exit(&glddev->gld_devlock); in gld_close()
1657 mutex_enter(&glddev->gld_devlock); in gld_close()
1659 mutex_exit(&glddev->gld_devlock); in gld_close()
4340 glddev_t *glddev; in gld_inforeq() local
4358 glddev = gld->gld_device; in gld_inforeq()
4359 ASSERT(glddev); in gld_inforeq()
4371 addr_length = glddev->gld_addrlen; in gld_inforeq()
4372 sap_length = glddev->gld_saplen; in gld_inforeq()
4373 brdcst_length = glddev->gld_addrlen; in gld_inforeq()
4471 dlp->dl_min_sdu = glddev->gld_minsdu; in gld_inforeq()
4472 dlp->dl_max_sdu = glddev->gld_maxsdu; in gld_inforeq()
4473 dlp->dl_mac_type = glddev->gld_type; in gld_inforeq()
4479 mac_copy((caddr_t)glddev->gld_broadcast, in gld_inforeq()
4592 glddev_t *glddev; in gldattach() local
4610 glddev = gld->gld_device; in gldattach()
4611 mutex_enter(&glddev->gld_devlock); in gldattach()
4612 for (macinfo = glddev->gld_mac_next; in gldattach()
4613 macinfo != (gld_mac_info_t *)&glddev->gld_mac_next; in gldattach()
4628 mutex_exit(&glddev->gld_devlock); in gldattach()
4637 mutex_exit(&glddev->gld_devlock); in gldattach()
4659 gldinsque(gld, glddev->gld_str_prev); in gldattach()
4660 mutex_exit(&glddev->gld_devlock); in gldattach()
4670 gldinsque(gld, glddev->gld_str_prev); in gldattach()
4671 mutex_exit(&glddev->gld_devlock); in gldattach()
4691 mutex_exit(&glddev->gld_devlock); in gldattach()
4695 mutex_exit(&glddev->gld_devlock); in gldattach()
4708 glddev_t *glddev = gld->gld_device; in gldunattach() local
4787 mutex_enter(&glddev->gld_devlock); in gldunattach()
4814 gldinsque(gld, glddev->gld_str_prev); in gldunattach()
4816 mutex_exit(&glddev->gld_devlock); in gldunattach()
4836 glddev_t *glddev; in gld_enable_multi() local
4869 glddev = mac_pvt->major_dev; in gld_enable_multi()
4870 ASSERT(glddev == gld->gld_device); in gld_enable_multi()
4888 glddev->gld_multisize); in gld_enable_multi()
4894 gld->gld_multicnt = glddev->gld_multisize; in gld_enable_multi()
4915 glddev->gld_multisize); in gld_enable_multi()
4922 for (i = 0; i < glddev->gld_multisize; i++) { in gld_enable_multi()
4933 for (i = 0; i < glddev->gld_multisize; i++) { in gld_enable_multi()