[ovs-dev] [next2 6/7] classifier: Remove OF1.0 special case from classifier_find_rule_exactly().

Ethan Jackson ethan at nicira.com
Wed May 11 18:41:09 UTC 2011


Looks Good.

Ethan

On Tue, Apr 26, 2011 at 13:51, Ben Pfaff <blp at nicira.com> wrote:
> This special case should never have actually triggered in practice, because
> OpenFlow 1.0 cannot set up an exact-match rule as defined by
> flow_wildcards_is_exact().  (OpenFlow 1.0 will always, for example,
> wildcard all NXM registers.)
>
> OVS implements this OF1.0 special case differently, by changing flow
> priority to 65535 in cls_rule_from_match() if the flow is an exact match as
> defined by OpenFlow 1.0.
> ---
>  lib/classifier.c |    8 +-------
>  1 files changed, 1 insertions(+), 7 deletions(-)
>
> diff --git a/lib/classifier.c b/lib/classifier.c
> index 36e294e..42a2169 100644
> --- a/lib/classifier.c
> +++ b/lib/classifier.c
> @@ -760,10 +760,7 @@ classifier_lookup(const struct classifier *cls, const struct flow *flow)
>
>  /* Finds and returns a rule in 'cls' with exactly the same priority and
>  * matching criteria as 'target'.  Returns a null pointer if 'cls' doesn't
> - * contain an exact match.
> - *
> - * Priority is ignored for exact-match rules (because OpenFlow 1.0 always
> - * treats exact-match rules as highest priority). */
> + * contain an exact match. */
>  struct cls_rule *
>  classifier_find_rule_exactly(const struct classifier *cls,
>                              const struct cls_rule *target)
> @@ -777,9 +774,6 @@ classifier_find_rule_exactly(const struct classifier *cls,
>     }
>
>     head = find_equal(table, &target->flow, flow_hash(&target->flow, 0));
> -    if (flow_wildcards_is_exact(&target->wc)) {
> -        return head;
> -    }
>     FOR_EACH_RULE_IN_LIST (rule, head) {
>         if (target->priority >= rule->priority) {
>             return target->priority == rule->priority ? rule : NULL;
> --
> 1.7.4.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>



More information about the dev mailing list