Looks Good.
On Tue, Mar 15, 2011 at 11:36 AM, Ben Pfaff <b...@nicira.com> wrote: > This helps to increase the level of abstraction of "struct ofconn", > in preparation for moving it from ofproto.c into a new file. > --- > ofproto/ofproto.c | 31 ++++++++++++++++++++++++------- > 1 files changed, 24 insertions(+), 7 deletions(-) > > diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c > index bbceae2..17a1f71 100644 > --- a/ofproto/ofproto.c > +++ b/ofproto/ofproto.c > @@ -345,6 +345,8 @@ static char *ofconn_make_name(const struct ofproto *, > const char *target); > static void ofconn_set_rate_limit(struct ofconn *, int rate, int burst); > > static struct ofproto *ofconn_get_ofproto(struct ofconn *); > +static enum nx_flow_format ofconn_get_flow_format(struct ofconn *); > +static void ofconn_set_flow_format(struct ofconn *, enum nx_flow_format); > > static void queue_tx(struct ofpbuf *msg, const struct ofconn *ofconn, > struct rconn_packet_counter *counter); > @@ -1892,6 +1894,18 @@ ofconn_get_ofproto(struct ofconn *ofconn) > { > return ofconn->ofproto; > } > + > +static enum nx_flow_format > +ofconn_get_flow_format(struct ofconn *ofconn) > +{ > + return ofconn->flow_format; > +} > + > +static void > +ofconn_set_flow_format(struct ofconn *ofconn, enum nx_flow_format > flow_format) > +{ > + ofconn->flow_format = flow_format; > +} > > static void > ofservice_reconfigure(struct ofservice *ofservice, > @@ -3357,7 +3371,7 @@ handle_table_stats_request(struct ofconn *ofconn, > ots = append_ofp_stats_reply(sizeof *ots, ofconn, &msg); > memset(ots, 0, sizeof *ots); > strcpy(ots->name, "classifier"); > - ots->wildcards = (ofconn->flow_format == NXFF_OPENFLOW10 > + ots->wildcards = (ofconn_get_flow_format(ofconn) == NXFF_OPENFLOW10 > ? htonl(OFPFW_ALL) : htonl(OVSFW_ALL)); > ots->max_entries = htonl(1024 * 1024); /* An arbitrary big number. */ > ots->active_count = htonl(classifier_count(&p->cls)); > @@ -3462,8 +3476,8 @@ put_ofp_flow_stats(struct ofconn *ofconn, struct rule > *rule, > ofs->length = htons(len); > ofs->table_id = 0; > ofs->pad = 0; > - ofputil_cls_rule_to_match(&rule->cr, ofconn->flow_format, &ofs->match, > - rule->flow_cookie, &cookie); > + ofputil_cls_rule_to_match(&rule->cr, ofconn_get_flow_format(ofconn), > + &ofs->match, rule->flow_cookie, &cookie); > put_32aligned_be64(&ofs->cookie, cookie); > calc_flow_duration(rule->created, &ofs->duration_sec, > &ofs->duration_nsec); > ofs->priority = htons(rule->cr.priority); > @@ -4127,7 +4141,7 @@ handle_flow_mod(struct ofconn *ofconn, const struct > ofp_header *oh) > return error; > } > > - error = ofputil_decode_flow_mod(&fm, oh, ofconn->flow_format); > + error = ofputil_decode_flow_mod(&fm, oh, ofconn_get_flow_format(ofconn)); > if (error) { > return error; > } > @@ -4174,8 +4188,11 @@ handle_tun_id_from_cookie(struct ofconn *ofconn, const > struct ofp_header *oh) > { > const struct nxt_tun_id_cookie *msg > = (const struct nxt_tun_id_cookie *) oh; > + enum nx_flow_format flow_format; > + > + flow_format = msg->set ? NXFF_TUN_ID_FROM_COOKIE : NXFF_OPENFLOW10; > + ofconn_set_flow_format(ofconn, flow_format); > > - ofconn->flow_format = msg->set ? NXFF_TUN_ID_FROM_COOKIE : > NXFF_OPENFLOW10; > return 0; > } > > @@ -4231,7 +4248,7 @@ handle_nxt_set_flow_format(struct ofconn *ofconn, const > struct ofp_header *oh) > if (format == NXFF_OPENFLOW10 > || format == NXFF_TUN_ID_FROM_COOKIE > || format == NXFF_NXM) { > - ofconn->flow_format = format; > + ofconn_set_flow_format(ofconn, format); > return 0; > } else { > return ofp_mkerr(OFPET_BAD_REQUEST, OFPBRC_EPERM); > @@ -4791,7 +4808,7 @@ rule_send_removed(struct ofproto *p, struct rule *rule, > uint8_t reason) > * being processed also prevents new flows from being added (and > * expiring). (It also prevents processing OpenFlow requests that > * would not add new flows, so it is imperfect.) */ > - msg = ofputil_encode_flow_removed(&fr, ofconn->flow_format); > + msg = ofputil_encode_flow_removed(&fr, > ofconn_get_flow_format(ofconn)); > ofconn_send_reply(ofconn, msg); > } > } > -- > 1.7.1 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev