summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-06-09 15:18:21 -0700
committerBen Pfaff <blp@nicira.com>2011-06-10 09:03:22 -0700
commitd1e9b9bf30de1cdcac4d4da74d2a5c017f41519d (patch)
tree764967afceec6496dba31220a9be4b41f119fd2a
parent6c222e55fa4222c6724094e1e7a0a69addf6b030 (diff)
downloadopenvswitch-d1e9b9bf30de1cdcac4d4da74d2a5c017f41519d.tar.gz
nicira-ext: Renumber NXT_FLOW_MOD_TABLE_ID.
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.
-rw-r--r--include/openflow/nicira-ext.h18
-rw-r--r--lib/ofp-util.c19
2 files changed, 11 insertions, 26 deletions
diff --git a/include/openflow/nicira-ext.h b/include/openflow/nicira-ext.h
index 4270c1654..c516b9f2b 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 750918d8a..dfbbf1b66 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);
}