[ovs-dev] [optimize 01/13] ofproto-dpif: Properly re-translate uninstallable facets in rule_execute().

Ethan Jackson ethan at nicira.com
Wed Oct 12 00:19:34 UTC 2011


Looks good.

You found this by inspection?

Ethan

On Tue, Sep 27, 2011 at 16:26, Ben Pfaff <blp at nicira.com> wrote:
> If the facet is not installable then every packet requires separate
> translation, but the existing code didn't do that.
> ---
>  ofproto/ofproto-dpif.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
> index ecad489..f9c133e 100644
> --- a/ofproto/ofproto-dpif.c
> +++ b/ofproto/ofproto-dpif.c
> @@ -2847,6 +2847,9 @@ rule_execute(struct rule *rule_, struct flow *flow, struct ofpbuf *packet)
>     /* First look for a related facet.  If we find one, account it to that. */
>     facet = facet_lookup_valid(ofproto, flow);
>     if (facet && facet->rule == rule) {
> +        if (!facet->may_install) {
> +            facet_make_actions(ofproto, facet, packet);
> +        }
>         facet_execute(ofproto, facet, packet);
>         return 0;
>     }
> --
> 1.7.4.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>



More information about the dev mailing list