n = end - start;
/* Print line. */
- fprintf(stream, "%08"PRIxMAX" ", (uintmax_t) ROUND_DOWN(ofs, per_line));
+ fprintf(stream, "%08"PRIxMAX" ", (uintmax_t) ROUND_DOWN(ofs, per_line));
for (i = 0; i < start; i++)
fprintf(stream, " ");
for (; i < end; i++)
- fprintf(stream, "%02x%c",
- buf[i - start], i == per_line / 2 - 1? '-' : ' ');
+ fprintf(stream, "%c%02x",
+ i == per_line / 2 ? '-' : ' ', buf[i - start]);
if (ascii)
{
+ fprintf(stream, " ");
for (; i < per_line; i++)
fprintf(stream, " ");
fprintf(stream, "|");
AT_KEYWORDS([ofp-print ofp-errors])
AT_CHECK(
[ovs-ofctl encode-error-reply OFPRRFC_BAD_ROLE 0100000812345678], [0], [dnl
-00000000 01 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20 @&t@
-00000010 00 01 02 01 01 00 00 08-12 34 56 78 @&t@
+00000000 01 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20
+00000010 00 01 02 01 01 00 00 08-12 34 56 78
])
AT_CHECK(
[ovs-ofctl encode-error-reply OFPRRFC_BAD_ROLE 0200000812345678], [0], [dnl
-00000000 02 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20 @&t@
-00000010 00 01 02 01 02 00 00 08-12 34 56 78 @&t@
+00000000 02 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20
+00000010 00 01 02 01 02 00 00 08-12 34 56 78
])
AT_CHECK(
[ovs-ofctl encode-error-reply OFPRRFC_BAD_ROLE 0300000812345678], [0], [dnl
-00000000 03 01 00 14 12 34 56 78-00 0b 00 02 03 00 00 08 @&t@
-00000010 12 34 56 78 @&t@
+00000000 03 01 00 14 12 34 56 78-00 0b 00 02 03 00 00 08
+00000010 12 34 56 78
])
AT_CLEANUP
# correctly using the standard experimenter format in OF1.2.
AT_CHECK(
[ovs-ofctl encode-error-reply NXBRC_MUST_BE_ZERO 0100000812345678], [0], [dnl
-00000000 01 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20 @&t@
-00000010 00 01 02 03 01 00 00 08-12 34 56 78 @&t@
+00000000 01 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20
+00000010 00 01 02 03 01 00 00 08-12 34 56 78
])
AT_CHECK(
[ovs-ofctl encode-error-reply NXBRC_MUST_BE_ZERO 0200000812345678], [0], [dnl
-00000000 02 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20 @&t@
-00000010 00 01 02 03 02 00 00 08-12 34 56 78 @&t@
+00000000 02 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20
+00000010 00 01 02 03 02 00 00 08-12 34 56 78
])
AT_CHECK(
[ovs-ofctl encode-error-reply NXBRC_MUST_BE_ZERO 0300000812345678], [0], [dnl
-00000000 03 01 00 18 12 34 56 78-ff ff 00 04 00 00 23 20 @&t@
-00000010 03 00 00 08 12 34 56 78-
+00000000 03 01 00 18 12 34 56 78-ff ff 00 04 00 00 23 20
+00000010 03 00 00 08 12 34 56 78
])
# Check that OFPERR_OFPBIC_DUP_INST is:
# - encoded in the standard form in OF1.4.
AT_CHECK(
[ovs-ofctl '-vPATTERN:console:%c|%p|%m' encode-error-reply OFPBIC_DUP_INST 0100000812345678], [0], [dnl
-00000000 01 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20 @&t@
-00000010 00 01 02 09 01 00 00 08-12 34 56 78 @&t@
+00000000 01 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20
+00000010 00 01 02 09 01 00 00 08-12 34 56 78
], [ofp_errors|ERR|cannot encode OFPBIC_DUP_INST for OpenFlow 1.0
])
AT_CHECK([ovs-ofctl encode-error-reply OFPBIC_DUP_INST 0200000812345678], [0],
-[00000000 02 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20 @&t@
-00000010 00 03 01 00 02 00 00 08-12 34 56 78 @&t@
+[00000000 02 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20
+00000010 00 03 01 00 02 00 00 08-12 34 56 78
])
AT_CHECK([ovs-ofctl encode-error-reply OFPBIC_DUP_INST 0300000812345678], [0],
-[00000000 03 01 00 18 12 34 56 78-ff ff 0a 28 4f 4e 46 00 @&t@
-00000010 03 00 00 08 12 34 56 78-
+[00000000 03 01 00 18 12 34 56 78-ff ff 0a 28 4f 4e 46 00
+00000010 03 00 00 08 12 34 56 78
])
AT_CHECK([ovs-ofctl encode-error-reply OFPBIC_DUP_INST 0400000812345678], [0],
-[00000000 04 01 00 18 12 34 56 78-ff ff 0a 28 4f 4e 46 00 @&t@
-00000010 04 00 00 08 12 34 56 78-
+[00000000 04 01 00 18 12 34 56 78-ff ff 0a 28 4f 4e 46 00
+00000010 04 00 00 08 12 34 56 78
])
AT_CHECK([ovs-ofctl encode-error-reply OFPBIC_DUP_INST 0500000812345678], [0],
-[00000000 05 01 00 14 12 34 56 78-00 03 00 09 05 00 00 08 @&t@
-00000010 12 34 56 78 @&t@
+[00000000 05 01 00 14 12 34 56 78-00 03 00 09 05 00 00 08
+00000010 12 34 56 78
])
AT_CLEANUP
AT_SETUP([encoding hellos])
dnl All versions up to a max version supported:
AT_CHECK([ovs-ofctl encode-hello 0x2], [0], [dnl
-00000000 01 00 00 08 00 00 00 01-
+00000000 01 00 00 08 00 00 00 01
OFPT_HELLO (xid=0x1):
version bitmap: 0x01
])
AT_CHECK([ovs-ofctl encode-hello 0x6], [0], [dnl
-00000000 02 00 00 08 00 00 00 01-
+00000000 02 00 00 08 00 00 00 01
OFPT_HELLO (OF1.1) (xid=0x1):
version bitmap: 0x01, 0x02
])
AT_CHECK([ovs-ofctl encode-hello 0xe], [0], [dnl
-00000000 03 00 00 08 00 00 00 01-
+00000000 03 00 00 08 00 00 00 01
OFPT_HELLO (OF1.2) (xid=0x1):
version bitmap: 0x01, 0x02, 0x03
])
AT_CHECK([ovs-ofctl encode-hello 0x1e], [0], [dnl
-00000000 04 00 00 08 00 00 00 01-
+00000000 04 00 00 08 00 00 00 01
OFPT_HELLO (OF1.3) (xid=0x1):
version bitmap: 0x01, 0x02, 0x03, 0x04
])
AT_CHECK([ovs-ofctl encode-hello 0x3e], [0], [dnl
-00000000 05 00 00 08 00 00 00 01-
+00000000 05 00 00 08 00 00 00 01
OFPT_HELLO (OF1.4) (xid=0x1):
version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05
])
dnl Some versions below max version missing.
AT_CHECK([ovs-ofctl encode-hello 0xc], [0], [dnl
-00000000 03 00 00 10 00 00 00 01-00 01 00 08 00 00 00 0c @&t@
+00000000 03 00 00 10 00 00 00 01-00 01 00 08 00 00 00 0c
OFPT_HELLO (OF1.2) (xid=0x1):
version bitmap: 0x02, 0x03
])
AT_CHECK([ovs-ofctl encode-hello 0xa], [0], [dnl
-00000000 03 00 00 10 00 00 00 01-00 01 00 08 00 00 00 0a @&t@
+00000000 03 00 00 10 00 00 00 01-00 01 00 08 00 00 00 0a
OFPT_HELLO (OF1.2) (xid=0x1):
version bitmap: 0x01, 0x03
])
AT_CHECK([ovs-ofctl encode-hello 0x8], [0], [dnl
-00000000 03 00 00 10 00 00 00 01-00 01 00 08 00 00 00 08 @&t@
+00000000 03 00 00 10 00 00 00 01-00 01 00 08 00 00 00 08
OFPT_HELLO (OF1.2) (xid=0x1):
version bitmap: 0x03
])
AT_CHECK([ovs-ofctl encode-hello 0x4], [0], [dnl
-00000000 02 00 00 10 00 00 00 01-00 01 00 08 00 00 00 04 @&t@
+00000000 02 00 00 10 00 00 00 01-00 01 00 08 00 00 00 04
OFPT_HELLO (OF1.1) (xid=0x1):
version bitmap: 0x02
])
# in OF1.5.
AT_CHECK([ovs-ofctl -m --strict parse-oxm OpenFlow15 < oxm.txt], [0], [dnl
NXOXM_ET_DP_HASH(01234567)
-00000000 00 01 00 10 ff ff 00 08-00 00 23 20 01 23 45 67 @&t@
+00000000 00 01 00 10 ff ff 00 08-00 00 23 20 01 23 45 67
NXOXM_ET_DP_HASH(01234567)
-00000000 00 01 00 10 ff ff 00 08-00 00 23 20 01 23 45 67 @&t@
+00000000 00 01 00 10 ff ff 00 08-00 00 23 20 01 23 45 67
NXOXM_ET_DP_HASH_W(01234567/0fffffff)
-00000000 00 01 00 14 ff ff 01 0c-00 00 23 20 01 23 45 67 @&t@
-00000010 0f ff ff ff 00 00 00 00-
+00000000 00 01 00 14 ff ff 01 0c-00 00 23 20 01 23 45 67
+00000010 0f ff ff ff 00 00 00 00
NXOXM_ET_DP_HASH_W(01234567/0fffffff)
-00000000 00 01 00 14 ff ff 01 0c-00 00 23 20 01 23 45 67 @&t@
-00000010 0f ff ff ff 00 00 00 00-
+00000000 00 01 00 14 ff ff 01 0c-00 00 23 20 01 23 45 67
+00000010 0f ff ff ff 00 00 00 00
])
# Then verify that both forms are accepted and NXM_NX_DP_HASH is encoded
# in OF1.2.
AT_CHECK([ovs-ofctl -m --strict parse-oxm OpenFlow12 < oxm.txt], [0], [dnl
NXM_NX_DP_HASH(01234567)
-00000000 00 01 00 0c 00 01 46 04-01 23 45 67 00 00 00 00 @&t@
+00000000 00 01 00 0c 00 01 46 04-01 23 45 67 00 00 00 00
NXM_NX_DP_HASH(01234567)
-00000000 00 01 00 0c 00 01 46 04-01 23 45 67 00 00 00 00 @&t@
+00000000 00 01 00 0c 00 01 46 04-01 23 45 67 00 00 00 00
NXM_NX_DP_HASH_W(01234567/0fffffff)
-00000000 00 01 00 10 00 01 47 08-01 23 45 67 0f ff ff ff @&t@
+00000000 00 01 00 10 00 01 47 08-01 23 45 67 0f ff ff ff
NXM_NX_DP_HASH_W(01234567/0fffffff)
-00000000 00 01 00 10 00 01 47 08-01 23 45 67 0f ff ff ff @&t@
+00000000 00 01 00 10 00 01 47 08-01 23 45 67 0f ff ff ff
])
AT_CLEANUP