netfilter: nf_flowtable: expose nf_flow_table_gc_cleanup()
This function schedules the flow teardown state and it forces a gc run. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a01c245438
commit
a8284c6899
|
@ -175,6 +175,8 @@ void flow_offload_refresh(struct nf_flowtable *flow_table,
|
|||
|
||||
struct flow_offload_tuple_rhash *flow_offload_lookup(struct nf_flowtable *flow_table,
|
||||
struct flow_offload_tuple *tuple);
|
||||
void nf_flow_table_gc_cleanup(struct nf_flowtable *flowtable,
|
||||
struct net_device *dev);
|
||||
void nf_flow_table_cleanup(struct net_device *dev);
|
||||
|
||||
int nf_flow_table_init(struct nf_flowtable *flow_table);
|
||||
|
|
|
@ -588,8 +588,8 @@ static void nf_flow_table_do_cleanup(struct flow_offload *flow, void *data)
|
|||
flow_offload_teardown(flow);
|
||||
}
|
||||
|
||||
static void nf_flow_table_iterate_cleanup(struct nf_flowtable *flowtable,
|
||||
struct net_device *dev)
|
||||
void nf_flow_table_gc_cleanup(struct nf_flowtable *flowtable,
|
||||
struct net_device *dev)
|
||||
{
|
||||
nf_flow_table_iterate(flowtable, nf_flow_table_do_cleanup, dev);
|
||||
flush_delayed_work(&flowtable->gc_work);
|
||||
|
@ -602,7 +602,7 @@ void nf_flow_table_cleanup(struct net_device *dev)
|
|||
|
||||
mutex_lock(&flowtable_lock);
|
||||
list_for_each_entry(flowtable, &flowtables, list)
|
||||
nf_flow_table_iterate_cleanup(flowtable, dev);
|
||||
nf_flow_table_gc_cleanup(flowtable, dev);
|
||||
mutex_unlock(&flowtable_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nf_flow_table_cleanup);
|
||||
|
|
Loading…
Reference in New Issue