Looks good,
Ethan

On Thu, Aug 4, 2011 at 16:29, Ben Pfaff <[email protected]> wrote:
> In the upcoming software switch implementation of multiple tables, there is
> no reason to prefer one table over another, so we always put rules into
> table 0 by default.  This commit allows this to be done simply by
> specifying NULL as ->rule_choose_table().
> ---
>  ofproto/ofproto-provider.h |    3 +--
>  ofproto/ofproto.c          |    2 +-
>  2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h
> index 985f112..f46ff84 100644
> --- a/ofproto/ofproto-provider.h
> +++ b/ofproto/ofproto-provider.h
> @@ -598,8 +598,7 @@ struct ofproto_class {
>      * If multiple tables are candidates for inserting the flow, the function
>      * should choose one arbitrarily (but deterministically).
>      *
> -     * This function will never be called for an ofproto that has only one
> -     * table, so it may be NULL in that case. */
> +     * If this function is NULL then table 0 is always chosen. */
>     int (*rule_choose_table)(const struct ofproto *ofproto,
>                              const struct cls_rule *cls_rule,
>                              uint8_t *table_idp);
> diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
> index 79c85a0..1c765c6 100644
> --- a/ofproto/ofproto.c
> +++ b/ofproto/ofproto.c
> @@ -2188,7 +2188,7 @@ add_flow(struct ofproto *ofproto, struct ofconn 
> *ofconn, struct flow_mod *fm,
>     /* Pick table. */
>     if (fm->table_id == 0xff) {
>         uint8_t table_id;
> -        if (ofproto->n_tables > 1) {
> +        if (ofproto->ofproto_class->rule_choose_table) {
>             error = ofproto->ofproto_class->rule_choose_table(ofproto, 
> &fm->cr,
>                                                               &table_id);
>             if (error) {
> --
> 1.7.4.4
>
> _______________________________________________
> dev mailing list
> [email protected]
> http://openvswitch.org/mailman/listinfo/dev
>
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to