Lines Matching refs:ip
121 if_pseudo_t ip = NULL; in iflib_ip_lookup() local
124 LIST_FOREACH(ip, &iflib_pseudos, ip_list) { in iflib_ip_lookup()
125 if (!strcmp(ip->ip_sctx->isc_name, name)) in iflib_ip_lookup()
129 return (ip); in iflib_ip_lookup()
133 iflib_ip_delete(if_pseudo_t ip) in iflib_ip_delete() argument
136 if (ip->ip_on_list) { in iflib_ip_delete()
137 LIST_REMOVE(ip, ip_list); in iflib_ip_delete()
138 ip->ip_on_list = 0; in iflib_ip_delete()
144 iflib_ip_insert(if_pseudo_t ip) in iflib_ip_insert() argument
147 if (!ip->ip_on_list) { in iflib_ip_insert()
148 LIST_INSERT_HEAD(&iflib_pseudos, ip, ip_list); in iflib_ip_insert()
149 ip->ip_on_list = 1; in iflib_ip_insert()
175 if_pseudo_t ip; in iflib_clone_create() local
191 ip = iflib_ip_lookup(name); in iflib_clone_create()
192 if (ip == NULL) { in iflib_clone_create()
196 if ((dev = devclass_get_device(ip->ip_dc, unit)) != NULL) { in iflib_clone_create()
209 MPASS(devclass_get_device(ip->ip_dc, unit) == dev); in iflib_clone_create()
210 rc = iflib_pseudo_register(dev, ip->ip_sctx, &ctx, &clctx); in iflib_clone_create()
250 if_pseudo_t ip; in iflib_clone_register() local
261 ip = malloc(sizeof(*ip), M_IFLIB, M_WAITOK|M_ZERO); in iflib_clone_register()
262 ip->ip_sctx = sctx; in iflib_clone_register()
263 ip->ip_dc = devclass_create(sctx->isc_name); in iflib_clone_register()
264 if (ip->ip_dc == NULL) in iflib_clone_register()
267 ip->ip_ifc = if_clone_simple(sctx->isc_name, iflib_clone_create, iflib_clone_destroy, 0); in iflib_clone_register()
268 if (ip->ip_ifc == NULL) { in iflib_clone_register()
272 ip->ip_lladdr_tag = EVENTHANDLER_REGISTER(iflladdr_event, in iflib_clone_register()
274 if (ip->ip_lladdr_tag == NULL) in iflib_clone_register()
276 ip->ip_detach_tag = EVENTHANDLER_REGISTER(ifnet_departure_event, in iflib_clone_register()
279 if (ip->ip_detach_tag == NULL) in iflib_clone_register()
282 iflib_ip_insert(ip); in iflib_clone_register()
283 return (ip); in iflib_clone_register()
285 EVENTHANDLER_DEREGISTER(iflladdr_event, ip->ip_lladdr_tag); in iflib_clone_register()
287 if_clone_detach(ip->ip_ifc); in iflib_clone_register()
289 free(ip, M_IFLIB); in iflib_clone_register()
294 iflib_clone_deregister(if_pseudo_t ip) in iflib_clone_deregister() argument
297 iflib_ip_delete(ip); in iflib_clone_deregister()
298 EVENTHANDLER_DEREGISTER(ifnet_departure_event, ip->ip_detach_tag); in iflib_clone_deregister()
299 EVENTHANDLER_DEREGISTER(iflladdr_event, ip->ip_lladdr_tag); in iflib_clone_deregister()
300 if_clone_detach(ip->ip_ifc); in iflib_clone_deregister()
302 free(ip, M_IFLIB); in iflib_clone_deregister()