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
> [email protected]
> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev