[ovs-dev] [ofp-print 10/18] ofp-print: Print NXST_FLOW_REQUEST and NXST_AGGREGATE_REQUEST.

Justin Pettit jpettit at nicira.com
Thu Dec 9 01:54:04 UTC 2010


Looks good.

--Justin


On Dec 8, 2010, at 4:27 PM, Ben Pfaff wrote:

> This takes advantage of ofputil_decode_flow_stats_request() to get rid of
> some code.
> ---
> lib/ofp-print.c |   51 +++++++++++++++++++++------------------------------
> 1 files changed, 21 insertions(+), 30 deletions(-)
> 
> diff --git a/lib/ofp-print.c b/lib/ofp-print.c
> index 5dcf7bf..fa3f73e 100644
> --- a/lib/ofp-print.c
> +++ b/lib/ofp-print.c
> @@ -1061,18 +1061,28 @@ ofp_print_ofpst_desc_reply(struct ds *string, const struct ofp_header *oh)
> }
> 
> static void
> -ofp_print_ofpst_flow_request(struct ds *string, const struct ofp_header *oh,
> -                             int verbosity)
> +ofp_print_flow_stats_request(struct ds *string, const struct ofp_header *oh)
> {
> -    const struct ofp_flow_stats_request *fsr = ofputil_stats_body(oh);
> +    struct flow_stats_request fsr;
> +    int error;
> 
> -    if (fsr->table_id == 0xff) {
> -        ds_put_format(string, " table_id=any, ");
> -    } else {
> -        ds_put_format(string, " table_id=%"PRIu8", ", fsr->table_id);
> +    error = ofputil_decode_flow_stats_request(&fsr, oh, NXFF_OPENFLOW10);
> +    if (error) {
> +        ofp_print_error(string, error);
> +        return;
> +    }
> +
> +    if (fsr.table_id != 0xff) {
> +        ds_put_format(string, " table_id=%"PRIu8, fsr.table_id);
>     }
> 
> -    ofp_print_match(string, &fsr->match, verbosity);
> +    if (fsr.out_port != OFPP_NONE) {
> +        ds_put_cstr(string, " out_port=");
> +        ofp_print_port_name(string, fsr.out_port);
> +    }
> +
> +    ds_put_char(string, ' ');
> +    cls_rule_format(&fsr.match, string);
> }
> 
> static void
> @@ -1218,21 +1228,6 @@ ofp_print_nxst_flow_reply(struct ds *string, const struct ofp_header *oh)
> }
> 
> static void
> -ofp_print_ofpst_aggregate_request(struct ds *string,
> -                                  const struct ofp_header *oh, int verbosity)
> -{
> -    const struct ofp_aggregate_stats_request *asr = ofputil_stats_body(oh);
> -
> -    if (asr->table_id == 0xff) {
> -        ds_put_format(string, " table_id=any, ");
> -    } else {
> -        ds_put_format(string, " table_id=%"PRIu8", ", asr->table_id);
> -    }
> -
> -    ofp_print_match(string, &asr->match, verbosity);
> -}
> -
> -static void
> ofp_print_ofpst_aggregate_reply(struct ds *string, const struct ofp_header *oh)
> {
>     const struct ofp_aggregate_stats_reply *asr = ofputil_stats_body(oh);
> @@ -1546,13 +1541,11 @@ ofp_to_string__(const struct ofp_header *oh,
>         break;
> 
>     case OFPUTIL_OFPST_FLOW_REQUEST:
> -        ofp_print_stats_request(string, oh);
> -        ofp_print_ofpst_flow_request(string, oh, verbosity);
> -        break;
> -
> +    case OFPUTIL_NXST_FLOW_REQUEST:
>     case OFPUTIL_OFPST_AGGREGATE_REQUEST:
> +    case OFPUTIL_NXST_AGGREGATE_REQUEST:
>         ofp_print_stats_request(string, oh);
> -        ofp_print_ofpst_aggregate_request(string, oh, verbosity);
> +        ofp_print_flow_stats_request(string, oh);
>         break;
> 
>     case OFPUTIL_OFPST_TABLE_REQUEST:
> @@ -1622,8 +1615,6 @@ ofp_to_string__(const struct ofp_header *oh,
>         break;
> 
>     case OFPUTIL_NXT_FLOW_REMOVED:
> -    case OFPUTIL_NXST_FLOW_REQUEST:
> -    case OFPUTIL_NXST_AGGREGATE_REQUEST:
>         /* XXX */
>         break;
> 
> -- 
> 1.7.1
> 
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev_openvswitch.org





More information about the dev mailing list