Lines Matching refs:ch

62 #define	CHAIN_TO_II(ch)		((struct namedobj_instance *)ch->ifcfg)
66 static void handle_ifdetach(struct ip_fw_chain *ch, struct ipfw_iface *iif,
68 static void handle_ifattach(struct ip_fw_chain *ch, struct ipfw_iface *iif,
70 static int list_ifaces(struct ip_fw_chain *ch, ip_fw3_opheader *op3,
96 struct ip_fw_chain *ch;
104 ch = &V_layer3_chain;
107 IPFW_UH_WLOCK(ch);
108 ii = CHAIN_TO_II(ch);
110 IPFW_UH_WUNLOCK(ch);
117 handle_ifattach(ch, iif, ifp->if_index);
119 handle_ifdetach(ch, iif, ifp->if_index);
121 IPFW_UH_WUNLOCK(ch);
232 vnet_ipfw_iface_init(struct ip_fw_chain *ch)
237 IPFW_UH_WLOCK(ch);
238 if (ch->ifcfg == NULL) {
239 ch->ifcfg = ii;
242 IPFW_UH_WUNLOCK(ch);
268 vnet_ipfw_iface_destroy(struct ip_fw_chain *ch)
272 IPFW_UH_WLOCK(ch);
273 ii = CHAIN_TO_II(ch);
274 ch->ifcfg = NULL;
275 IPFW_UH_WUNLOCK(ch);
278 ipfw_objhash_foreach(ii, destroy_iface, ch);
293 ipfw_iface_ref(struct ip_fw_chain *ch, char *name,
302 IPFW_UH_WLOCK(ch);
304 ii = CHAIN_TO_II(ch);
311 IPFW_UH_WUNLOCK(ch);
312 vnet_ipfw_iface_init(ch);
313 IPFW_UH_WLOCK(ch);
314 ii = CHAIN_TO_II(ch);
322 IPFW_UH_WUNLOCK(ch);
326 IPFW_UH_WUNLOCK(ch);
341 IPFW_UH_WLOCK(ch);
348 IPFW_UH_WUNLOCK(ch);
360 IPFW_UH_WUNLOCK(ch);
371 ipfw_iface_add_notify(struct ip_fw_chain *ch, struct ipfw_ifc *ic)
375 IPFW_UH_WLOCK_ASSERT(ch);
376 IPFW_WLOCK_ASSERT(ch);
382 ic->cb(ch, ic->cbdata, iif->ifindex);
390 ipfw_iface_del_notify(struct ip_fw_chain *ch, struct ipfw_ifc *ic)
394 IPFW_UH_WLOCK_ASSERT(ch);
405 ipfw_iface_unref(struct ip_fw_chain *ch, struct ipfw_ifc *ic)
409 IPFW_UH_WLOCK_ASSERT(ch);
422 handle_ifattach(struct ip_fw_chain *ch, struct ipfw_iface *iif,
427 IPFW_UH_WLOCK_ASSERT(ch);
433 IPFW_WLOCK(ch);
435 ic->cb(ch, ic->cbdata, iif->ifindex);
436 IPFW_WUNLOCK(ch);
443 handle_ifdetach(struct ip_fw_chain *ch, struct ipfw_iface *iif,
448 IPFW_UH_WLOCK_ASSERT(ch);
450 IPFW_WLOCK(ch);
452 ic->cb(ch, ic->cbdata, 0);
453 IPFW_WUNLOCK(ch);
461 struct ip_fw_chain *ch;
498 list_ifaces(struct ip_fw_chain *ch, ip_fw3_opheader *op3,
512 IPFW_UH_RLOCK(ch);
513 ii = CHAIN_TO_II(ch);
526 IPFW_UH_RUNLOCK(ch);
531 da.ch = ch;
536 IPFW_UH_RUNLOCK(ch);