[ovs-dev] [PATCH 10/31] fixup: Revalidate if 'packet-type-aware' setting changes.
Jan Scheurich
jan.scheurich at ericsson.com
Wed Jun 14 18:25:03 UTC 2017
Good spot! Definitely needed.
> -----Original Message-----
> From: ovs-dev-bounces at openvswitch.org [mailto:ovs-dev-bounces at openvswitch.org] On Behalf Of Ben Pfaff
> Sent: Tuesday, 13 June, 2017 00:29
> To: dev at openvswitch.org
> Cc: Ben Pfaff <blp at ovn.org>
> Subject: [ovs-dev] [PATCH 10/31] fixup: Revalidate if 'packet-type-aware' setting changes.
>
> Signed-off-by: Ben Pfaff <blp at ovn.org>
> ---
> 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
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
More information about the dev
mailing list