forked from luck/tmp_suning_uos_patched
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_rhash *flow_offload_lookup(struct nf_flowtable *flow_table,
|
||||||
struct flow_offload_tuple *tuple);
|
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);
|
void nf_flow_table_cleanup(struct net_device *dev);
|
||||||
|
|
||||||
int nf_flow_table_init(struct nf_flowtable *flow_table);
|
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);
|
flow_offload_teardown(flow);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void nf_flow_table_iterate_cleanup(struct nf_flowtable *flowtable,
|
void nf_flow_table_gc_cleanup(struct nf_flowtable *flowtable,
|
||||||
struct net_device *dev)
|
struct net_device *dev)
|
||||||
{
|
{
|
||||||
nf_flow_table_iterate(flowtable, nf_flow_table_do_cleanup, dev);
|
nf_flow_table_iterate(flowtable, nf_flow_table_do_cleanup, dev);
|
||||||
flush_delayed_work(&flowtable->gc_work);
|
flush_delayed_work(&flowtable->gc_work);
|
||||||
|
@ -602,7 +602,7 @@ void nf_flow_table_cleanup(struct net_device *dev)
|
||||||
|
|
||||||
mutex_lock(&flowtable_lock);
|
mutex_lock(&flowtable_lock);
|
||||||
list_for_each_entry(flowtable, &flowtables, list)
|
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);
|
mutex_unlock(&flowtable_lock);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(nf_flow_table_cleanup);
|
EXPORT_SYMBOL_GPL(nf_flow_table_cleanup);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user