Acked-by: Jarno Rajahalme <ja...@ovn.org>

> On Jan 18, 2016, at 11:26 PM, Ben Pfaff <b...@ovn.org> wrote:
> 
> This code only cares about a very few kinds of OpenFlow messages, and it's
> unlikely that it will care about new ones, so replace the "switch" by "if"
> statements so that GCC won't complain about every new message.
> 
> Signed-off-by: Ben Pfaff <b...@ovn.org>
> ---
> lib/learning-switch.c | 99 +++++----------------------------------------------
> 1 file changed, 9 insertions(+), 90 deletions(-)
> 
> diff --git a/lib/learning-switch.c b/lib/learning-switch.c
> index b3f79ea..2b764f6 100644
> --- a/lib/learning-switch.c
> +++ b/lib/learning-switch.c
> @@ -354,12 +354,9 @@ lswitch_process_packet(struct lswitch *sw, const struct 
> ofpbuf *msg)
>         return;
>     }
> 
> -    switch (type) {
> -    case OFPTYPE_ECHO_REQUEST:
> +    if (type == OFPTYPE_ECHO_REQUEST) {
>         process_echo_request(sw, msg->data);
> -        break;
> -
> -    case OFPTYPE_FEATURES_REPLY:
> +    } else if (type == OFPTYPE_FEATURES_REPLY) {
>         if (sw->state == S_FEATURES_REPLY) {
>             if (!process_switch_features(sw, msg->data)) {
>                 sw->state = S_SWITCHING;
> @@ -367,93 +364,15 @@ lswitch_process_packet(struct lswitch *sw, const struct 
> ofpbuf *msg)
>                 rconn_disconnect(sw->rconn);
>             }
>         }
> -        break;
> -
> -    case OFPTYPE_PACKET_IN:
> +    } else if (type == OFPTYPE_PACKET_IN) {
>         process_packet_in(sw, msg->data);
> -        break;
> -
> -    case OFPTYPE_FLOW_REMOVED:
> +    } else if (type == OFPTYPE_FLOW_REMOVED) {
>         /* Nothing to do. */
> -        break;
> -
> -    case OFPTYPE_HELLO:
> -    case OFPTYPE_ERROR:
> -    case OFPTYPE_ECHO_REPLY:
> -    case OFPTYPE_FEATURES_REQUEST:
> -    case OFPTYPE_GET_CONFIG_REQUEST:
> -    case OFPTYPE_GET_CONFIG_REPLY:
> -    case OFPTYPE_SET_CONFIG:
> -    case OFPTYPE_PORT_STATUS:
> -    case OFPTYPE_PACKET_OUT:
> -    case OFPTYPE_FLOW_MOD:
> -    case OFPTYPE_GROUP_MOD:
> -    case OFPTYPE_PORT_MOD:
> -    case OFPTYPE_TABLE_MOD:
> -    case OFPTYPE_BARRIER_REQUEST:
> -    case OFPTYPE_BARRIER_REPLY:
> -    case OFPTYPE_QUEUE_GET_CONFIG_REQUEST:
> -    case OFPTYPE_QUEUE_GET_CONFIG_REPLY:
> -    case OFPTYPE_DESC_STATS_REQUEST:
> -    case OFPTYPE_DESC_STATS_REPLY:
> -    case OFPTYPE_FLOW_STATS_REQUEST:
> -    case OFPTYPE_FLOW_STATS_REPLY:
> -    case OFPTYPE_AGGREGATE_STATS_REQUEST:
> -    case OFPTYPE_AGGREGATE_STATS_REPLY:
> -    case OFPTYPE_TABLE_STATS_REQUEST:
> -    case OFPTYPE_TABLE_STATS_REPLY:
> -    case OFPTYPE_PORT_STATS_REQUEST:
> -    case OFPTYPE_PORT_STATS_REPLY:
> -    case OFPTYPE_QUEUE_STATS_REQUEST:
> -    case OFPTYPE_QUEUE_STATS_REPLY:
> -    case OFPTYPE_PORT_DESC_STATS_REQUEST:
> -    case OFPTYPE_PORT_DESC_STATS_REPLY:
> -    case OFPTYPE_ROLE_REQUEST:
> -    case OFPTYPE_ROLE_REPLY:
> -    case OFPTYPE_ROLE_STATUS:
> -    case OFPTYPE_REQUESTFORWARD:
> -    case OFPTYPE_SET_FLOW_FORMAT:
> -    case OFPTYPE_FLOW_MOD_TABLE_ID:
> -    case OFPTYPE_SET_PACKET_IN_FORMAT:
> -    case OFPTYPE_FLOW_AGE:
> -    case OFPTYPE_SET_CONTROLLER_ID:
> -    case OFPTYPE_FLOW_MONITOR_STATS_REQUEST:
> -    case OFPTYPE_FLOW_MONITOR_STATS_REPLY:
> -    case OFPTYPE_FLOW_MONITOR_CANCEL:
> -    case OFPTYPE_FLOW_MONITOR_PAUSED:
> -    case OFPTYPE_FLOW_MONITOR_RESUMED:
> -    case OFPTYPE_GET_ASYNC_REQUEST:
> -    case OFPTYPE_GET_ASYNC_REPLY:
> -    case OFPTYPE_SET_ASYNC_CONFIG:
> -    case OFPTYPE_METER_MOD:
> -    case OFPTYPE_GROUP_STATS_REQUEST:
> -    case OFPTYPE_GROUP_STATS_REPLY:
> -    case OFPTYPE_GROUP_DESC_STATS_REQUEST:
> -    case OFPTYPE_GROUP_DESC_STATS_REPLY:
> -    case OFPTYPE_GROUP_FEATURES_STATS_REQUEST:
> -    case OFPTYPE_GROUP_FEATURES_STATS_REPLY:
> -    case OFPTYPE_METER_STATS_REQUEST:
> -    case OFPTYPE_METER_STATS_REPLY:
> -    case OFPTYPE_METER_CONFIG_STATS_REQUEST:
> -    case OFPTYPE_METER_CONFIG_STATS_REPLY:
> -    case OFPTYPE_METER_FEATURES_STATS_REQUEST:
> -    case OFPTYPE_METER_FEATURES_STATS_REPLY:
> -    case OFPTYPE_TABLE_FEATURES_STATS_REQUEST:
> -    case OFPTYPE_TABLE_FEATURES_STATS_REPLY:
> -    case OFPTYPE_TABLE_DESC_REQUEST:
> -    case OFPTYPE_TABLE_DESC_REPLY:
> -    case OFPTYPE_BUNDLE_CONTROL:
> -    case OFPTYPE_BUNDLE_ADD_MESSAGE:
> -    case OFPTYPE_NXT_TLV_TABLE_MOD:
> -    case OFPTYPE_NXT_TLV_TABLE_REQUEST:
> -    case OFPTYPE_NXT_TLV_TABLE_REPLY:
> -    default:
> -        if (VLOG_IS_DBG_ENABLED()) {
> -            char *s = ofp_to_string(msg->data, msg->size, 2);
> -            VLOG_DBG_RL(&rl, "%016llx: OpenFlow packet ignored: %s",
> -                        sw->datapath_id, s);
> -            free(s);
> -        }
> +    } else if (VLOG_IS_DBG_ENABLED()) {
> +        char *s = ofp_to_string(msg->data, msg->size, 2);
> +        VLOG_DBG_RL(&rl, "%016llx: OpenFlow packet ignored: %s",
> +                    sw->datapath_id, s);
> +        free(s);
>     }
> }
> 
> -- 
> 2.1.3
> 
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to