Lines Matching refs:fe
169 get_export_dgram(priv_p priv, fib_export_p fe) in get_export_dgram() argument
173 mtx_lock(&fe->export_mtx); in get_export_dgram()
174 if (fe->exp.item != NULL) { in get_export_dgram()
175 item = fe->exp.item; in get_export_dgram()
176 fe->exp.item = NULL; in get_export_dgram()
178 mtx_unlock(&fe->export_mtx); in get_export_dgram()
203 return_export_dgram(priv_p priv, fib_export_p fe, item_p item, int flags) in return_export_dgram() argument
211 mtx_lock(&fe->export_mtx); in return_export_dgram()
212 if (fe->exp.item == NULL) { in return_export_dgram()
213 fe->exp.item = item; in return_export_dgram()
214 mtx_unlock(&fe->export_mtx); in return_export_dgram()
216 mtx_unlock(&fe->export_mtx); in return_export_dgram()
217 export_send(priv, fe, item, flags); in return_export_dgram()
226 expire_flow(priv_p priv, fib_export_p fe, struct flow_entry *fle, int flags) in expire_flow() argument
232 exp.item = get_export_dgram(priv, fe); in expire_flow()
243 export_send(priv, fe, exp.item, flags); in expire_flow()
245 return_export_dgram(priv, fe, exp.item, NG_QUEUE); in expire_flow()
249 exp.item9 = get_export9_dgram(priv, fe, &exp.item9_opt); in expire_flow()
265 export9_send(priv, fe, exp.item9, exp.item9_opt, flags); in expire_flow()
267 return_export9_dgram(priv, fe, exp.item9, in expire_flow()
534 fib_export_p fe = priv_to_fib(priv, fib); in ng_netflow_fib_init() local
538 if (fe != NULL) in ng_netflow_fib_init()
541 if ((fe = malloc(sizeof(struct fib_export), M_NETGRAPH, in ng_netflow_fib_init()
545 mtx_init(&fe->export_mtx, "export dgram lock", NULL, MTX_DEF); in ng_netflow_fib_init()
546 mtx_init(&fe->export9_mtx, "export9 dgram lock", NULL, MTX_DEF); in ng_netflow_fib_init()
547 fe->fib = fib; in ng_netflow_fib_init()
548 fe->domain_id = fib; in ng_netflow_fib_init()
551 (uintptr_t)NULL, (uintptr_t)fe) == 0) { in ng_netflow_fib_init()
554 fib, fe, priv_to_fib(priv, fib)); in ng_netflow_fib_init()
555 mtx_destroy(&fe->export_mtx); in ng_netflow_fib_init()
556 mtx_destroy(&fe->export9_mtx); in ng_netflow_fib_init()
557 free(fe, M_NETGRAPH); in ng_netflow_fib_init()
561 fib, fe, priv_to_fib(priv, fib)); in ng_netflow_fib_init()
575 fib_export_p fe; in ng_netflow_cache_flush() local
588 fe = priv_to_fib(priv, fle->f.r.fib); in ng_netflow_cache_flush()
589 expire_flow(priv, fe, fle, NG_QUEUE); in ng_netflow_cache_flush()
595 fe = priv_to_fib(priv, fle->f.r.fib); in ng_netflow_cache_flush()
596 expire_flow(priv, fe, fle, NG_QUEUE); in ng_netflow_cache_flush()
620 if ((fe = priv_to_fib(priv, i)) == NULL) in ng_netflow_cache_flush()
623 if (fe->exp.item != NULL) in ng_netflow_cache_flush()
624 export_send(priv, fe, fe->exp.item, NG_QUEUE); in ng_netflow_cache_flush()
626 if (fe->exp.item9 != NULL) in ng_netflow_cache_flush()
627 export9_send(priv, fe, fe->exp.item9, in ng_netflow_cache_flush()
628 fe->exp.item9_opt, NG_QUEUE); in ng_netflow_cache_flush()
630 mtx_destroy(&fe->export_mtx); in ng_netflow_cache_flush()
631 mtx_destroy(&fe->export9_mtx); in ng_netflow_cache_flush()
632 free(fe, M_NETGRAPH); in ng_netflow_cache_flush()
652 ng_netflow_flow_add(priv_p priv, fib_export_p fe, struct ip *ip, in ng_netflow_flow_add() argument
679 r.fib = fe->fib; in ng_netflow_flow_add()
781 ng_netflow_flow6_add(priv_p priv, fib_export_p fe, struct ip6_hdr *ip6, in ng_netflow_flow6_add() argument
801 r.fib = fe->fib; in ng_netflow_flow6_add()
1013 export_send(priv_p priv, fib_export_p fe, item_p item, int flags) in export_send() argument
1032 header->engine_id = fe->domain_id; in export_send()
1034 header->flow_seq = htonl(atomic_fetchadd_32(&fe->flow_seq, in export_send()