enum ofputil_msg_code code;
const void *msg = oh;
- ds_put_format(string, "%s (xid=0x%"PRIx32"):",
- ofputil_msg_type_name(type), ntohl(oh->xid));
+ ds_put_cstr(string, ofputil_msg_type_name(type));
+ switch (oh->version) {
+ case OFP10_VERSION:
+ break;
+ case OFP11_VERSION:
+ ds_put_cstr(string, " (OF1.1)");
+ break;
+ default:
+ ds_put_format(string, " (OF 0x%02"PRIx8")", oh->version);
+ break;
+ }
+ ds_put_format(string, " (xid=0x%"PRIx32"):", ntohl(oh->xid));
code = ofputil_msg_type_code(type);
switch (code) {
AT_SETUP([OFPT_ERROR with type OFPET_HELLO_FAILED - OF1.1])
AT_KEYWORDS([ofp-print])
AT_CHECK([ovs-ofctl ofp-print 020100170000000000000001657874726120646174610a], [0], [dnl
-OFPT_ERROR (xid=0x0): OFPHFC_EPERM
+OFPT_ERROR (OF1.1) (xid=0x0): OFPHFC_EPERM
extra data\012
])
AT_CLEANUP
AT_SETUP([OFPT_ERROR with code NXBRC_NXM_BAD_PREREQ - OF1.1])
AT_KEYWORDS([ofp-print])
AT_CHECK([ovs-ofctl ofp-print '0201001c55555555 b0c20000 0000232000010104 0102000811111111'], [0], [dnl
-OFPT_ERROR (xid=0x55555555): NXBRC_NXM_BAD_PREREQ
+OFPT_ERROR (OF1.1) (xid=0x55555555): NXBRC_NXM_BAD_PREREQ
OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
])
AT_CLEANUP
AT_SETUP([OFPT_ERROR with type OFPBIC_UNSUP_INST - OF1.1])
AT_KEYWORDS([ofp-print])
AT_CHECK([ovs-ofctl ofp-print 02010014000000000003000102bbccddeeff0011], [0], [dnl
-OFPT_ERROR (xid=0x0): OFPBIC_UNSUP_INST
+OFPT_ERROR (OF1.1) (xid=0x0): OFPBIC_UNSUP_INST
(***truncated to 8 bytes from 52445***)
00000000 02 bb cc dd ee ff 00 11- |........ |
])