The version number is an important part of the OpenFlow message's meaning, so include it. Version 1.0 is grandfathered in so existing output parsers don't have to change.
Signed-off-by: Ben Pfaff <b...@nicira.com> --- lib/ofp-print.c | 14 ++++++++++++-- tests/ofp-print.at | 6 +++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/ofp-print.c b/lib/ofp-print.c index b6a1e53..ab36a3b 100644 --- a/lib/ofp-print.c +++ b/lib/ofp-print.c @@ -1417,8 +1417,18 @@ ofp_to_string__(const struct ofp_header *oh, 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) { diff --git a/tests/ofp-print.at b/tests/ofp-print.at index 471a73c..b3fbb65 100644 --- a/tests/ofp-print.at +++ b/tests/ofp-print.at @@ -68,7 +68,7 @@ AT_CLEANUP 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 @@ -93,7 +93,7 @@ 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 @@ -111,7 +111,7 @@ 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- |........ | ]) -- 1.7.2.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev