Reduce scope of per-protocol variables in ofputil_encode_flow_mod() These variables are only needed in one of the cases covered by the switch statement and will increase in number as more cases (protocols) are supported.
Signed-off-by: Simon Horman <ho...@verge.net.au> --- v4 * No change v3 * No change v2 * No change --- lib/ofp-util.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/ofp-util.c b/lib/ofp-util.c index 1fcb8f2..823f2a1 100644 --- a/lib/ofp-util.c +++ b/lib/ofp-util.c @@ -1729,12 +1729,9 @@ struct ofpbuf * ofputil_encode_flow_mod(const struct ofputil_flow_mod *fm, enum ofputil_protocol protocol) { - struct ofp10_flow_mod *ofm; - struct nx_flow_mod *nfm; struct ofpbuf *msg; uint8_t ofp_version = ofputil_protocol_to_ofp_version(protocol); uint16_t command; - int match_len; command = (protocol & OFPUTIL_P_TID ? (fm->command & 0xff) | (fm->table_id << 8) @@ -1742,7 +1739,9 @@ ofputil_encode_flow_mod(const struct ofputil_flow_mod *fm, switch (protocol) { case OFPUTIL_P_OF10: - case OFPUTIL_P_OF10_TID: + case OFPUTIL_P_OF10_TID: { + struct ofp10_flow_mod *ofm; + msg = ofpbuf_new(sizeof *ofm + fm->ofpacts_len); ofm = put_openflow(sizeof *ofm, ofp_version, OFPT10_FLOW_MOD, msg); ofputil_cls_rule_to_ofp10_match(&fm->cr, &ofm->match); @@ -1755,9 +1754,13 @@ ofputil_encode_flow_mod(const struct ofputil_flow_mod *fm, ofm->out_port = htons(fm->out_port); ofm->flags = htons(fm->flags); break; + } case OFPUTIL_P_NXM: - case OFPUTIL_P_NXM_TID: + case OFPUTIL_P_NXM_TID: { + struct nx_flow_mod *nfm; + int match_len; + msg = ofpbuf_new(sizeof *nfm + NXM_TYPICAL_LEN + fm->ofpacts_len); put_nxmsg(sizeof *nfm, NXT_FLOW_MOD, msg); nfm = msg->data; @@ -1773,6 +1776,7 @@ ofputil_encode_flow_mod(const struct ofputil_flow_mod *fm, nfm->flags = htons(fm->flags); nfm->match_len = htons(match_len); break; + } default: NOT_REACHED(); -- 1.7.10.2.484.gcd07cc5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev