Looks Good. Ethan
On Mon, Apr 11, 2011 at 11:01 AM, Ben Pfaff <b...@nicira.com> wrote: > ofproto_flush_flows() flushes the flow table but then it reintroduces flows > required by fail-open or in-band. These are then leaked when the > classifier is destroyed a little later. > > This fixes the problem by not reintroducing these flows when ofproto is > being destroyed. > --- > ofproto/ofproto.c | 13 ++++++++++--- > 1 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c > index 1865277..18853c8 100644 > --- a/ofproto/ofproto.c > +++ b/ofproto/ofproto.c > @@ -325,6 +325,7 @@ static const struct ofhooks default_ofhooks; > static uint64_t pick_datapath_id(const struct ofproto *); > static uint64_t pick_fallback_dpid(void); > > +static void ofproto_flush_flows__(struct ofproto *); > static int ofproto_expire(struct ofproto *); > static void flow_push_stats(struct ofproto *, const struct rule *, > struct flow *, uint64_t packets, uint64_t bytes, > @@ -690,7 +691,7 @@ ofproto_destroy(struct ofproto *p) > > shash_find_and_delete(&all_ofprotos, dpif_name(p->dpif)); > > - ofproto_flush_flows(p); > + ofproto_flush_flows__(p); > connmgr_destroy(p->connmgr); > classifier_destroy(&p->cls); > hmap_destroy(&p->facets); > @@ -999,8 +1000,8 @@ ofproto_delete_flow(struct ofproto *ofproto, const > struct cls_rule *target) > } > } > > -void > -ofproto_flush_flows(struct ofproto *ofproto) > +static void > +ofproto_flush_flows__(struct ofproto *ofproto) > { > struct facet *facet, *next_facet; > struct rule *rule, *next_rule; > @@ -1025,6 +1026,12 @@ ofproto_flush_flows(struct ofproto *ofproto) > } > > dpif_flow_flush(ofproto->dpif); > +} > + > +void > +ofproto_flush_flows(struct ofproto *ofproto) > +{ > + ofproto_flush_flows__(ofproto); > connmgr_flushed(ofproto->connmgr); > } > > -- > 1.7.1 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev