- inm_size = (inm_debug == 0) ? sizeof (struct in_multi) :
- sizeof (struct in_multi_dbg);
- inm_zone = zinit(inm_size, INM_ZONE_MAX * inm_size,
- 0, INM_ZONE_NAME);
- if (inm_zone == NULL) {
- panic("%s: failed allocating %s", __func__, INM_ZONE_NAME);
- /* NOTREACHED */
- }
- zone_change(inm_zone, Z_EXPAND, TRUE);
-
- ipms_size = sizeof (struct ip_msource);
- ipms_zone = zinit(ipms_size, IPMS_ZONE_MAX * ipms_size,
- 0, IPMS_ZONE_NAME);
- if (ipms_zone == NULL) {
- panic("%s: failed allocating %s", __func__, IPMS_ZONE_NAME);
- /* NOTREACHED */
- }
- zone_change(ipms_zone, Z_EXPAND, TRUE);
-
- inms_size = sizeof (struct in_msource);
- inms_zone = zinit(inms_size, INMS_ZONE_MAX * inms_size,
- 0, INMS_ZONE_NAME);
- if (inms_zone == NULL) {
- panic("%s: failed allocating %s", __func__, INMS_ZONE_NAME);
- /* NOTREACHED */
- }
- zone_change(inms_zone, Z_EXPAND, TRUE);
+ vm_size_t inm_size = (inm_debug == 0) ? sizeof(struct in_multi) :
+ sizeof(struct in_multi_dbg);
+ inm_zone = zone_create(INM_ZONE_NAME, inm_size, ZC_ZFREE_CLEARMEM);