Lines Matching refs:fe

173 get_export_dgram(priv_p priv, fib_export_p fe)  in get_export_dgram()  argument
177 mtx_lock(&fe->export_mtx); in get_export_dgram()
178 if (fe->exp.item != NULL) { in get_export_dgram()
179 item = fe->exp.item; in get_export_dgram()
180 fe->exp.item = NULL; in get_export_dgram()
182 mtx_unlock(&fe->export_mtx); in get_export_dgram()
207 return_export_dgram(priv_p priv, fib_export_p fe, item_p item, int flags) in return_export_dgram() argument
215 mtx_lock(&fe->export_mtx); in return_export_dgram()
216 if (fe->exp.item == NULL) { in return_export_dgram()
217 fe->exp.item = item; in return_export_dgram()
218 mtx_unlock(&fe->export_mtx); in return_export_dgram()
220 mtx_unlock(&fe->export_mtx); in return_export_dgram()
221 export_send(priv, fe, item, flags); in return_export_dgram()
230 expire_flow(priv_p priv, fib_export_p fe, struct flow_entry *fle, int flags) in expire_flow() argument
236 exp.item = get_export_dgram(priv, fe); in expire_flow()
247 export_send(priv, fe, exp.item, flags); in expire_flow()
249 return_export_dgram(priv, fe, exp.item, NG_QUEUE); in expire_flow()
253 exp.item9 = get_export9_dgram(priv, fe, &exp.item9_opt); in expire_flow()
269 export9_send(priv, fe, exp.item9, exp.item9_opt, flags); in expire_flow()
271 return_export9_dgram(priv, fe, exp.item9, in expire_flow()
571 fib_export_p fe = priv_to_fib(priv, fib); in ng_netflow_fib_init() local
575 if (fe != NULL) in ng_netflow_fib_init()
578 if ((fe = malloc(sizeof(struct fib_export), M_NETGRAPH, in ng_netflow_fib_init()
582 mtx_init(&fe->export_mtx, "export dgram lock", NULL, MTX_DEF); in ng_netflow_fib_init()
583 mtx_init(&fe->export9_mtx, "export9 dgram lock", NULL, MTX_DEF); in ng_netflow_fib_init()
584 fe->fib = fib; in ng_netflow_fib_init()
585 fe->domain_id = fib; in ng_netflow_fib_init()
588 (uintptr_t)NULL, (uintptr_t)fe) == 0) { in ng_netflow_fib_init()
591 fib, fe, priv_to_fib(priv, fib)); in ng_netflow_fib_init()
592 mtx_destroy(&fe->export_mtx); in ng_netflow_fib_init()
593 mtx_destroy(&fe->export9_mtx); in ng_netflow_fib_init()
594 free(fe, M_NETGRAPH); in ng_netflow_fib_init()
598 fib, fe, priv_to_fib(priv, fib)); in ng_netflow_fib_init()
612 fib_export_p fe; in ng_netflow_cache_flush() local
625 fe = priv_to_fib(priv, fle->f.r.fib); in ng_netflow_cache_flush()
626 expire_flow(priv, fe, fle, NG_QUEUE); in ng_netflow_cache_flush()
632 fe = priv_to_fib(priv, fle->f.r.fib); in ng_netflow_cache_flush()
633 expire_flow(priv, fe, fle, NG_QUEUE); in ng_netflow_cache_flush()
657 if ((fe = priv_to_fib(priv, i)) == NULL) in ng_netflow_cache_flush()
660 if (fe->exp.item != NULL) in ng_netflow_cache_flush()
661 export_send(priv, fe, fe->exp.item, NG_QUEUE); in ng_netflow_cache_flush()
663 if (fe->exp.item9 != NULL) in ng_netflow_cache_flush()
664 export9_send(priv, fe, fe->exp.item9, in ng_netflow_cache_flush()
665 fe->exp.item9_opt, NG_QUEUE); in ng_netflow_cache_flush()
667 mtx_destroy(&fe->export_mtx); in ng_netflow_cache_flush()
668 mtx_destroy(&fe->export9_mtx); in ng_netflow_cache_flush()
669 free(fe, M_NETGRAPH); in ng_netflow_cache_flush()
688 ng_netflow_flow_add(priv_p priv, fib_export_p fe, struct ip *ip, in ng_netflow_flow_add() argument
715 r.fib = fe->fib; in ng_netflow_flow_add()
816 ng_netflow_flow6_add(priv_p priv, fib_export_p fe, struct ip6_hdr *ip6, in ng_netflow_flow6_add() argument
836 r.fib = fe->fib; in ng_netflow_flow6_add()
1048 export_send(priv_p priv, fib_export_p fe, item_p item, int flags) in export_send() argument
1067 header->engine_id = fe->domain_id; in export_send()
1069 header->flow_seq = htonl(atomic_fetchadd_32(&fe->flow_seq, in export_send()