ovs_router_flush() should call ovsrcu_postpone to free the entries it removes from the classifier.
Suggested-by: Ben Pfaff <b...@nicira.com> Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com> --- lib/ovs-router.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/ovs-router.c b/lib/ovs-router.c index ba51614..20547b1 100644 --- a/lib/ovs-router.c +++ b/lib/ovs-router.c @@ -260,7 +260,9 @@ ovs_router_flush(void) CLS_FOR_EACH_SAFE(rt, cr, &cls) { if (rt->priority == rt->plen) { - classifier_remove(&cls, &rt->cr); + if (classifier_remove(&cls, &rt->cr)) { + ovsrcu_postpone(rt_entry_free, rt); + } } } seq_change(tnl_conf_seq); -- 1.7.10.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev