Good spot! Definitely needed.
> -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Ben Pfaff > Sent: Tuesday, 13 June, 2017 00:29 > To: [email protected] > Cc: Ben Pfaff <[email protected]> > Subject: [ovs-dev] [PATCH 10/31] fixup: Revalidate if 'packet-type-aware' > setting changes. > > Signed-off-by: Ben Pfaff <[email protected]> > --- > ofproto/ofproto-dpif.c | 9 +++++++++ > ofproto/ofproto-provider.h | 3 +++ > ofproto/ofproto.c | 7 ++++++- > 3 files changed, 18 insertions(+), 1 deletion(-) > > diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c > index 752d2304a163..098db18c7ffa 100644 > --- a/ofproto/ofproto-dpif.c > +++ b/ofproto/ofproto-dpif.c > @@ -1792,6 +1792,14 @@ set_tables_version(struct ofproto *ofproto_, > ovs_version_t version) > ofproto->backer->need_revalidate = REV_FLOW_TABLE; > } > > +static void > +packet_type_aware_changed(struct ofproto *ofproto_) > +{ > + struct ofproto_dpif *ofproto = ofproto_dpif_cast(ofproto_); > + > + ofproto->backer->need_revalidate = REV_RECONFIGURE; > +} > + > static struct ofport * > port_alloc(void) > { > @@ -5644,6 +5652,7 @@ const struct ofproto_class ofproto_dpif_class = { > flush, > query_tables, > set_tables_version, > + packet_type_aware_changed, > port_alloc, > port_construct, > port_destruct, > diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h > index fbf3bdaeac8d..749f61b34f8b 100644 > --- a/ofproto/ofproto-provider.h > +++ b/ofproto/ofproto-provider.h > @@ -933,6 +933,9 @@ struct ofproto_class { > * can be triggered. */ > void (*set_tables_version)(struct ofproto *ofproto, ovs_version_t > version); > > + /* Called when 'ofproto->packet_type_aware' has changed. */ > + void (*packet_type_aware_changed)(struct ofproto *ofproto); > + > /* ## ---------------- ## */ > /* ## ofport Functions ## */ > /* ## ---------------- ## */ > diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c > index 67aaa755f10e..11a26af9f1bb 100644 > --- a/ofproto/ofproto.c > +++ b/ofproto/ofproto.c > @@ -787,7 +787,12 @@ ofproto_set_dp_desc(struct ofproto *p, const char > *dp_desc) > void > ofproto_set_packet_type_aware(struct ofproto *p, bool pta) > { > - p->packet_type_aware = pta; > + if (pta != p->packet_type_aware) { > + p->packet_type_aware = pta; > + if (p->ofproto_class->packet_type_aware_changed) { > + p->ofproto_class->packet_type_aware_changed(p); > + } > + } > } > > int > -- > 2.10.2 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
