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 <[email protected]>
> @@ -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
[email protected]
http://openvswitch.org/mailman/listinfo/dev