[ovs-dev] [threaded-learning 13/25] classifier: Allow CLS_CURSOR_FOR_EACH to use a const-qualified iterator.

Ethan Jackson ethan at nicira.com
Thu Sep 12 02:08:51 UTC 2013


Acked-by: Ethan Jackson <ethan at nicira.com>


On Tue, Sep 10, 2013 at 10:27 PM, Ben Pfaff <blp at nicira.com> wrote:
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> ---
>  lib/classifier.c |    3 ++-
>  lib/classifier.h |    2 +-
>  2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/lib/classifier.c b/lib/classifier.c
> index 93ee977..36eb1f0 100644
> --- a/lib/classifier.c
> +++ b/lib/classifier.c
> @@ -500,8 +500,9 @@ cls_cursor_first(struct cls_cursor *cursor)
>  /* Returns the next matching cls_rule in 'cursor''s iteration, or a null
>   * pointer if there are no more matches. */
>  struct cls_rule *
> -cls_cursor_next(struct cls_cursor *cursor, struct cls_rule *rule)
> +cls_cursor_next(struct cls_cursor *cursor, const struct cls_rule *rule_)
>  {
> +    struct cls_rule *rule = CONST_CAST(struct cls_rule *, rule_);
>      const struct cls_table *table;
>      struct cls_rule *next;
>
> diff --git a/lib/classifier.h b/lib/classifier.h
> index 5a45458..ead087b 100644
> --- a/lib/classifier.h
> +++ b/lib/classifier.h
> @@ -140,7 +140,7 @@ struct cls_cursor {
>  void cls_cursor_init(struct cls_cursor *cursor, const struct classifier *cls,
>                       const struct cls_rule *match) OVS_REQ_RDLOCK(cls->rwlock);
>  struct cls_rule *cls_cursor_first(struct cls_cursor *cursor);
> -struct cls_rule *cls_cursor_next(struct cls_cursor *cursor, struct cls_rule *);
> +struct cls_rule *cls_cursor_next(struct cls_cursor *cursor, const struct cls_rule *);
>
>  #define CLS_CURSOR_FOR_EACH(RULE, MEMBER, CURSOR)                       \
>      for (ASSIGN_CONTAINER(RULE, cls_cursor_first(CURSOR), MEMBER);      \
> --
> 1.7.10.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list