From 3a9ccbbe62b29cf62a49f0dfe34ff2ff2d71e089 Mon Sep 17 00:00:00 2001 From: David Erickson Date: Fri, 10 Oct 2008 17:43:43 -0700 Subject: [PATCH] Fixed a problem where the private flow members were not being freed when removing duplicate flows during insertion. --- datapath/hwtable_nf2/hwtable_nf2.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/datapath/hwtable_nf2/hwtable_nf2.c b/datapath/hwtable_nf2/hwtable_nf2.c index 303a3dc..283d273 100644 --- a/datapath/hwtable_nf2/hwtable_nf2.c +++ b/datapath/hwtable_nf2/hwtable_nf2.c @@ -105,8 +105,10 @@ static int table_nf2_insert(struct sw_table *swt, struct sw_flow *flow) list_for_each_entry (f, &tb->flows, node) { if (flow_del_matches(&f->key, &flow->key, true) && (f->priority == flow->priority)) { + LOG("***Found a matching flow entry, triggering deletion\n"); list_replace(&f->node, &flow->node); list_replace(&f->iter_node, &flow->iter_node); + nf2_delete_private(f->private); table_nf2_flow_deferred_free(f); return 1; }