break;
case OFP13_VERSION:
case OFP14_VERSION:
+ case OFP15_VERSION:
return; /* no ports in ofp13_switch_features */
default:
OVS_NOT_REACHED();
int verbosity)
{
switch ((enum ofp_version)oh->version) {
+ case OFP15_VERSION:
case OFP14_VERSION:
case OFP13_VERSION:
ofp_print_ofpst_table_reply13(string, oh, verbosity);
}
}
+static void
+ofp_print_ofpst_port_desc_request(struct ds *string,
+ const struct ofp_header *oh)
+{
+ enum ofperr error;
+ ofp_port_t port;
+
+ error = ofputil_decode_port_desc_stats_request(oh, &port);
+ if (error) {
+ ofp_print_error(string, error);
+ return;
+ }
+
+ ds_put_cstr(string, " port=");
+ ofputil_format_port(port, string);
+}
+
static void
ofp_print_ofpst_port_desc_reply(struct ds *string,
const struct ofp_header *oh)
case OFP14_VERSION:
ds_put_cstr(string, " (OF1.4)");
break;
+ case OFP15_VERSION:
+ ds_put_cstr(string, " (OF1.5)");
+ break;
default:
ds_put_format(string, " (OF 0x%02"PRIx8")", oh->version);
break;
}
}
+static void
+ofp_print_ofpst_group_desc_request(struct ds *string,
+ const struct ofp_header *oh)
+{
+ uint32_t group_id = ofputil_decode_group_desc_request(oh);
+ ds_put_cstr(string, " group_id=");
+ ofputil_format_group(group_id, string);
+}
+
static void
ofp_print_group_desc(struct ds *s, const struct ofp_header *oh)
{
case OFPTYPE_GROUP_DESC_STATS_REQUEST:
ofp_print_stats_request(string, oh);
+ ofp_print_ofpst_group_desc_request(string, oh);
break;
case OFPTYPE_GROUP_DESC_STATS_REPLY:
break;
case OFPTYPE_DESC_STATS_REQUEST:
- case OFPTYPE_PORT_DESC_STATS_REQUEST:
case OFPTYPE_METER_FEATURES_STATS_REQUEST:
ofp_print_stats_request(string, oh);
break;
ofp_print_aggregate_stats_reply(string, oh);
break;
+ case OFPTYPE_PORT_DESC_STATS_REQUEST:
+ ofp_print_stats_request(string, oh);
+ ofp_print_ofpst_port_desc_request(string, oh);
+ break;
+
case OFPTYPE_PORT_DESC_STATS_REPLY:
ofp_print_stats_reply(string, oh);
ofp_print_ofpst_port_desc_reply(string, oh);