Acked-by: Ethan Jackson <et...@nicira.com>

On Wed, Apr 23, 2014 at 1:26 PM, Andy Zhou <az...@nicira.com> wrote:
> This patch improves the code readability and comments on the
> recirculation related changes to rule_dpif_lookup() base on off-line
> discussions with Jarno.  There is no behavior changes.
>
> Signed-off-by: Andy Zhou <az...@nicira.com>
> ---
>  ofproto/ofproto-dpif.c | 21 ++++++++++++++-------
>  1 file changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
> index 6a725e4..983cad5 100644
> --- a/ofproto/ofproto-dpif.c
> +++ b/ofproto/ofproto-dpif.c
> @@ -3199,14 +3199,21 @@ rule_dpif_lookup(struct ofproto_dpif *ofproto, struct 
> flow *flow,
>      uint8_t table_id;
>
>      if (ofproto_dpif_get_enable_recirc(ofproto)) {
> -        if (flow->recirc_id == 0) {
> -            if (wc) {
> -                wc->masks.recirc_id = UINT32_MAX;
> -            }
> -            table_id = 0;
> -        } else {
> -            table_id = TBL_INTERNAL;
> +        /* Always exactly match recirc_id since datapath supports
> +         * recirculation.  */
> +        if (wc) {
> +            wc->masks.recirc_id = UINT32_MAX;
>          }
> +
> +        /* Start looking up from internal table for post recirculation flows
> +         * or packets. We can also simply send all, including normal flows
> +         * or packets to the internal table. They will not match any post
> +         * recirculation rules except the 'catch all' rule that resubmit
> +         * them to table 0.
> +         *
> +         * As an optimization, we send normal flows and packets to table 0
> +         * directly, saving one table lookup.  */
> +        table_id = flow->recirc_id ? TBL_INTERNAL : 0;
>      } else {
>          table_id = 0;
>      }
> --
> 1.9.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

Reply via email to