Lines Matching refs:hook

128 /* Information we store for each hook on each node */
130 hook_p hook;
193 * Give our ok for a hook to be added...
197 ng_etf_newhook(node_p node, hook_p hook, const char *name)
203 etfp->downstream_hook.hook = hook;
204 NG_HOOK_SET_PRIVATE(hook, &etfp->downstream_hook);
208 etfp->nomatch_hook.hook = hook;
209 NG_HOOK_SET_PRIVATE(hook, &etfp->nomatch_hook);
212 * Any other hook name is valid and can
221 NG_HOOK_SET_PRIVATE(hook, hpriv);
222 hpriv->hook = hook;
282 hook_p hook;
290 /* Make sure hook referenced exists */
292 hook = ng_findhook(node, f->matchhook);
293 if (hook == NULL) {
298 /* and is not the downstream hook */
299 if (hook == etfp->downstream_hook.hook) {
322 fil->match_hook = hook;
358 * We would do that by setting the HK_QUEUE flag on our hook. We would do that
362 ng_etf_rcvdata(hook_p hook, item_p item )
364 const etf_p etfp = NG_NODE_PRIVATE(NG_HOOK_NODE(hook));
371 if (NG_HOOK_PRIVATE(hook) == NULL) { /* Shouldn't happen but.. */
376 * Everything not from the downstream hook goes to the
377 * downstream hook. But only if it matches the ethertype
378 * of the source hook. Un matching must go to/from 'nomatch'.
396 * if from downstream, select between a match hook or
397 * the nomatch hook
399 if (hook == etfp->downstream_hook.hook) {
404 NG_FWD_NEW_DATA(error, item,etfp->nomatch_hook.hook, m);
410 * the filters for it's input hook.
413 if ((fil && (fil->match_hook != hook))
414 || ((fil == NULL) && (hook != etfp->nomatch_hook.hook))) {
419 NG_FWD_NEW_DATA( error, item, etfp->downstream_hook.hook, m);
448 ng_etf_disconnect(hook_p hook)
450 const etf_p etfp = NG_NODE_PRIVATE(NG_HOOK_NODE(hook));
459 if (fil1->match_hook == hook) {
468 if (hook == etfp->downstream_hook.hook) {
469 etfp->downstream_hook.hook = NULL;
470 } else if (hook == etfp->nomatch_hook.hook) {
471 etfp->nomatch_hook.hook = NULL;
473 if (NG_HOOK_PRIVATE(hook)) /* Paranoia */
474 free(NG_HOOK_PRIVATE(hook), M_NETGRAPH_ETF);
477 NG_HOOK_SET_PRIVATE(hook, NULL);
479 if ((NG_NODE_NUMHOOKS(NG_HOOK_NODE(hook)) == 0)
480 && (NG_NODE_IS_VALID(NG_HOOK_NODE(hook)))) /* already shutting down? */
481 ng_rmnode_self(NG_HOOK_NODE(hook));