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
