summaryrefslogtreecommitdiff
path: root/lib/ofp-print.c
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2018-05-10 13:21:29 -0700
committerBen Pfaff <blp@ovn.org>2018-05-17 08:16:08 -0700
commite428148a1fb0f2bf8e7d2829220b849a82cd081c (patch)
tree7d0f8cc49795f9bdef40aecb3a2843e465e811ee /lib/ofp-print.c
parente9c9481f3b01bc08808c253235f1d3faae2cb09a (diff)
downloadopenvswitch-e428148a1fb0f2bf8e7d2829220b849a82cd081c.tar.gz
ofp-print: Handle statistics more systematically.
ofp_to_string__() is supposed to call ofp_print_stats() for all kinds of statistics, but it was only doing so haphazardly. This commit makes it systematic and in the process adds it to at least one case where it was missing (and fixes up a test case). Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
Diffstat (limited to 'lib/ofp-print.c')
-rw-r--r--lib/ofp-print.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/lib/ofp-print.c b/lib/ofp-print.c
index 6e30312ae..68e382471 100644
--- a/lib/ofp-print.c
+++ b/lib/ofp-print.c
@@ -1834,25 +1834,26 @@ ofp_to_string__(const struct ofp_header *oh,
const struct ofputil_table_map *table_map, enum ofpraw raw,
struct ds *string, int verbosity)
{
+ if (ofpmsg_is_stat(oh)) {
+ ofp_print_stats(string, oh);
+ }
+
const void *msg = oh;
enum ofptype type = ofptype_from_ofpraw(raw);
switch (type) {
case OFPTYPE_GROUP_STATS_REQUEST:
- ofp_print_stats(string, oh);
return ofputil_group_stats_request_format(string, oh);
case OFPTYPE_GROUP_STATS_REPLY:
return ofputil_group_stats_format(string, oh);
case OFPTYPE_GROUP_DESC_STATS_REQUEST:
- ofp_print_stats(string, oh);
return ofputil_group_desc_request_format(string, oh);
case OFPTYPE_GROUP_DESC_STATS_REPLY:
return ofputil_group_desc_format(string, oh, port_map, table_map);
case OFPTYPE_GROUP_FEATURES_STATS_REQUEST:
- ofp_print_stats(string, oh);
break;
case OFPTYPE_GROUP_FEATURES_STATS_REPLY:
@@ -1944,73 +1945,56 @@ ofp_to_string__(const struct ofp_header *oh,
case OFPTYPE_METER_STATS_REQUEST:
case OFPTYPE_METER_CONFIG_STATS_REQUEST:
- ofp_print_stats(string, oh);
return ofp_print_meter_stats_request(string, oh);
case OFPTYPE_METER_STATS_REPLY:
- ofp_print_stats(string, oh);
return ofp_print_meter_stats_reply(string, oh);
case OFPTYPE_METER_CONFIG_STATS_REPLY:
- ofp_print_stats(string, oh);
return ofp_print_meter_config_reply(string, oh);
case OFPTYPE_METER_FEATURES_STATS_REPLY:
- ofp_print_stats(string, oh);
return ofp_print_meter_features_reply(string, oh);
case OFPTYPE_DESC_STATS_REQUEST:
case OFPTYPE_METER_FEATURES_STATS_REQUEST:
- ofp_print_stats(string, oh);
break;
case OFPTYPE_FLOW_STATS_REQUEST:
case OFPTYPE_AGGREGATE_STATS_REQUEST:
- ofp_print_stats(string, oh);
return ofp_print_flow_stats_request(string, oh, port_map, table_map);
case OFPTYPE_TABLE_STATS_REQUEST:
- ofp_print_stats(string, oh);
break;
case OFPTYPE_PORT_STATS_REQUEST:
- ofp_print_stats(string, oh);
return ofp_print_ofpst_port_request(string, oh, port_map);
case OFPTYPE_QUEUE_STATS_REQUEST:
- ofp_print_stats(string, oh);
return ofp_print_ofpst_queue_request(string, oh, port_map);
case OFPTYPE_DESC_STATS_REPLY:
- ofp_print_stats(string, oh);
return ofp_print_ofpst_desc_reply(string, oh);
case OFPTYPE_FLOW_STATS_REPLY:
- ofp_print_stats(string, oh);
return ofp_print_flow_stats_reply(string, oh, port_map, table_map);
case OFPTYPE_QUEUE_STATS_REPLY:
- ofp_print_stats(string, oh);
return ofp_print_ofpst_queue_reply(string, oh, port_map, verbosity);
case OFPTYPE_PORT_STATS_REPLY:
- ofp_print_stats(string, oh);
return ofp_print_ofpst_port_reply(string, oh, port_map, verbosity);
case OFPTYPE_TABLE_STATS_REPLY:
- ofp_print_stats(string, oh);
return ofp_print_table_stats_reply(string, oh, table_map);
case OFPTYPE_AGGREGATE_STATS_REPLY:
- ofp_print_stats(string, oh);
return ofp_print_aggregate_stats_reply(string, oh);
case OFPTYPE_PORT_DESC_STATS_REQUEST:
- ofp_print_stats(string, oh);
return ofp_print_ofpst_port_desc_request(string, oh, port_map);
case OFPTYPE_PORT_DESC_STATS_REPLY:
- ofp_print_stats(string, oh);
return ofp_print_ofpst_port_desc_reply(string, oh);
case OFPTYPE_FLOW_MOD_TABLE_ID: