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()
530 fib_export_p fe = priv_to_fib(priv, fib); in ng_netflow_fib_init() local
534 if (fe != NULL) in ng_netflow_fib_init()
537 if ((fe = malloc(sizeof(struct fib_export), M_NETGRAPH, in ng_netflow_fib_init()
541 mtx_init(&fe->export_mtx, "export dgram lock", NULL, MTX_DEF); in ng_netflow_fib_init()
542 mtx_init(&fe->export9_mtx, "export9 dgram lock", NULL, MTX_DEF); in ng_netflow_fib_init()
543 fe->fib = fib; in ng_netflow_fib_init()
544 fe->domain_id = fib; in ng_netflow_fib_init()
547 (uintptr_t)NULL, (uintptr_t)fe) == 0) { in ng_netflow_fib_init()
550 fib, fe, priv_to_fib(priv, fib)); in ng_netflow_fib_init()
551 mtx_destroy(&fe->export_mtx); in ng_netflow_fib_init()
552 mtx_destroy(&fe->export9_mtx); in ng_netflow_fib_init()
553 free(fe, M_NETGRAPH); in ng_netflow_fib_init()
557 fib, fe, priv_to_fib(priv, fib)); in ng_netflow_fib_init()
571 fib_export_p fe; in ng_netflow_cache_flush() local
584 fe = priv_to_fib(priv, fle->f.r.fib); in ng_netflow_cache_flush()
585 expire_flow(priv, fe, fle, NG_QUEUE); in ng_netflow_cache_flush()
591 fe = priv_to_fib(priv, fle->f.r.fib); in ng_netflow_cache_flush()
592 expire_flow(priv, fe, fle, NG_QUEUE); in ng_netflow_cache_flush()
616 if ((fe = priv_to_fib(priv, i)) == NULL) in ng_netflow_cache_flush()
619 if (fe->exp.item != NULL) in ng_netflow_cache_flush()
620 export_send(priv, fe, fe->exp.item, NG_QUEUE); in ng_netflow_cache_flush()
622 if (fe->exp.item9 != NULL) in ng_netflow_cache_flush()
623 export9_send(priv, fe, fe->exp.item9, in ng_netflow_cache_flush()
624 fe->exp.item9_opt, NG_QUEUE); in ng_netflow_cache_flush()
626 mtx_destroy(&fe->export_mtx); in ng_netflow_cache_flush()
627 mtx_destroy(&fe->export9_mtx); in ng_netflow_cache_flush()
628 free(fe, M_NETGRAPH); in ng_netflow_cache_flush()
648 ng_netflow_flow_add(priv_p priv, fib_export_p fe, struct ip *ip, in ng_netflow_flow_add() argument
675 r.fib = fe->fib; in ng_netflow_flow_add()
777 ng_netflow_flow6_add(priv_p priv, fib_export_p fe, struct ip6_hdr *ip6, in ng_netflow_flow6_add() argument
797 r.fib = fe->fib; in ng_netflow_flow6_add()
1009 export_send(priv_p priv, fib_export_p fe, item_p item, int flags) in export_send() argument
1028 header->engine_id = fe->domain_id; in export_send()
1030 header->flow_seq = htonl(atomic_fetchadd_32(&fe->flow_seq, in export_send()