Thank you, thank you, thank you for removing this horrible wart. --Justin
On Jun 9, 2011, at 3:21 PM, Ben Pfaff wrote: > We don't know of anyone using this command in production yet, so it seems > reasonable to give it a new number instead of coping with it having a > conflicting number. > --- > include/openflow/nicira-ext.h | 18 +++++++----------- > lib/ofp-util.c | 19 ++++--------------- > 2 files changed, 11 insertions(+), 26 deletions(-) > > diff --git a/include/openflow/nicira-ext.h b/include/openflow/nicira-ext.h > index 738fd90..3730376 100644 > --- a/include/openflow/nicira-ext.h > +++ b/include/openflow/nicira-ext.h > @@ -141,19 +141,15 @@ enum nicira_type { > NXT_ROLE_REQUEST, > NXT_ROLE_REPLY, > > - /* Use the upper 8 bits of the 'command' member in struct ofp_flow_mod to > - * designate the table to which a flow is to be added? See the big > comment > - * on struct nxt_flow_mod_table_id for more information. > - * > - * A screwup caused this extension to be assigned the same value as > - * NXT_SET_FLOW_FORMAT (see below). The two extensions do have different > - * lengths, so they can still be distinguished. */ > - NXT_FLOW_MOD_TABLE_ID, > - > /* Flexible flow specification (aka NXM = Nicira Extended Match). */ > - NXT_SET_FLOW_FORMAT = NXT_FLOW_MOD_TABLE_ID, /* Set flow format. */ > + NXT_SET_FLOW_FORMAT, /* Set flow format. */ > NXT_FLOW_MOD, /* Analogous to OFPT_FLOW_MOD. */ > - NXT_FLOW_REMOVED /* Analogous to OFPT_FLOW_REMOVED. */ > + NXT_FLOW_REMOVED, /* Analogous to OFPT_FLOW_REMOVED. */ > + > + /* Use the upper 8 bits of the 'command' member in struct ofp_flow_mod to > + * designate the table to which a flow is to be added? See the big > comment > + * on struct nxt_flow_mod_table_id for more information. */ > + NXT_FLOW_MOD_TABLE_ID > }; > > /* Header for Nicira vendor stats request and reply messages. */ > diff --git a/lib/ofp-util.c b/lib/ofp-util.c > index e21831f..06e3de0 100644 > --- a/lib/ofp-util.c > +++ b/lib/ofp-util.c > @@ -373,6 +373,10 @@ ofputil_decode_vendor(const struct ofp_header *oh, > { OFPUTIL_NXT_FLOW_REMOVED, > NXT_FLOW_REMOVED, "NXT_FLOW_REMOVED", > sizeof(struct nx_flow_removed), 8 }, > + > + { OFPUTIL_NXT_FLOW_MOD_TABLE_ID, > + NXT_FLOW_MOD_TABLE_ID, "NXT_FLOW_MOD_TABLE_ID", > + sizeof(struct nxt_flow_mod_table_id), 0 }, > }; > > static const struct ofputil_msg_category nxt_category = { > @@ -399,21 +403,6 @@ ofputil_decode_vendor(const struct ofp_header *oh, > } > > nh = (const struct nicira_header *) oh; > - > - if (nh->subtype == htonl(NXT_FLOW_MOD_TABLE_ID) > - && oh->length == htons(sizeof(struct nxt_flow_mod_table_id))) { > - /* NXT_SET_FLOW_FORMAT and NXT_FLOW_MOD_TABLE_ID accidentally have > the > - * same value but different lengths. > ofputil_lookup_openflow_message() > - * doesn't support this case, so special case it here. */ > - static const struct ofputil_msg_type nxt_flow_mod_table_id = > - { OFPUTIL_NXT_FLOW_MOD_TABLE_ID, > - NXT_FLOW_MOD_TABLE_ID, "NXT_FLOW_MOD_TABLE_ID", > - sizeof(struct nxt_flow_mod_table_id), 0 }; > - > - *typep = &nxt_flow_mod_table_id; > - return 0; > - } > - > return ofputil_lookup_openflow_message(&nxt_category, ntohl(nh->subtype), > ntohs(oh->length), typep); > } > -- > 1.7.4.4 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev