On Thu, May 23, 2013 at 05:15:16PM -0700, Ethan Jackson wrote:
> Before this patch, datapath keys with ODP_FIT_TO_LITTLE, would be
> assigned subfacets and installed in the kernel with a SLOW_MATCH
> slow path reason.  This is problematic, because these flow keys
> can't be reliable converted into a 'struct flow' thus breaking a
> fundamental assumption of ofproto-dpif.  This patch circumvents the
> issue by skipping facet creation for these flows altogether.  This
> approach has the added benefit of simplifying the code for future
> patches.
> 
> Signed-off-by: Ethan Jackson <et...@nicira.com>

> @@ -8323,16 +8324,12 @@ ofproto_trace(struct ofproto_dpif *ofproto, const 
> struct flow *flow,
>                      ds_put_cstr(ds, "\n\t- Sends \"packet-in\" messages "
>                                  "to the OpenFlow controller.");
>                      break;
> -                case SLOW_MATCH:
> -                    ds_put_cstr(ds, "\n\t- Needs more specific matching "
> -                                "than the datapath supports.");
> -                    break;
>                  }
>  
>                  slow &= ~bit;
>              }
>  
> -            if (slow & ~SLOW_MATCH) {
> +            if (slow) {
>                  ds_put_cstr(ds, "\nThe datapath actions above do not reflect 
> "
>                              "the special slow-path processing.");
>              }

I think the "if" test here cannot ever be true, because the loop
un-set all of the bits in 'slow'.  (I think that this was also the
case before the patch.)  Perhaps we should just delete it.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to