AT_BANNER([ofp-print]) AT_SETUP([empty]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print ''], [0], [OpenFlow message is empty ]) AT_CLEANUP AT_SETUP([too short]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print aabb], [0], [dnl OpenFlow packet too short (only 2 bytes): 00000000 aa bb |.. | ]) AT_CLEANUP AT_SETUP([wrong OpenFlow version]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print 00bb0008eeff0011], [0], [dnl ***decode error: OFPBRC_BAD_TYPE*** 00000000 00 bb 00 08 ee ff 00 11- |........ | ], [ofp_msgs|WARN|unknown OpenFlow message (version 0, type 187) ]) AT_CLEANUP AT_SETUP([truncated message]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print 0110ccddeeff0011], [0], [dnl (***truncated to 8 bytes from 52445***) 00000000 01 10 cc dd ee ff 00 11- |........ | ]) AT_CLEANUP AT_SETUP([message only uses part of buffer]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print 01100009eeff00112233], [0], [dnl (***only uses 9 bytes out of 10***) 00000000 01 10 00 09 ee ff 00 11-22 33 |........"3 | ]) # " AT_CLEANUP AT_SETUP([OFPT_HELLO - ordinary]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print 0100000800000000], [0], [dnl OFPT_HELLO (xid=0x0): version bitmap: 0x01 ]) AT_CLEANUP AT_SETUP([OFPT_HELLO with extra data]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print 0100001300000000657874726120646174610a], [0], [dnl OFPT_HELLO (xid=0x0): version bitmap: 0x01 unknown data in hello: 00000000 01 00 00 13 00 00 00 00-65 78 74 72 61 20 64 61 |........extra da| 00000010 74 61 0a |ta. | ]) AT_CLEANUP AT_SETUP([OFPT_HELLO with version bitmap]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 f0"], [0], [dnl OFPT_HELLO (xid=0x0): version bitmap: 0x04, 0x05, 0x06, 0x07 ]) AT_CLEANUP AT_SETUP([OFPT_HELLO with version bitmap and extra data]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 00 00 1b 00 00 00 00 ff ff 00 06 01 02 00 00 \ 00 01 00 08 00 00 00 f0 61 62 63"], [0], [dnl OFPT_HELLO (xid=0x0): version bitmap: 0x04, 0x05, 0x06, 0x07 unknown data in hello: 00000000 01 00 00 1b 00 00 00 00-ff ff 00 06 01 02 00 00 |................| 00000010 00 01 00 08 00 00 00 f0-61 62 63 |........abc | ]) AT_CLEANUP AT_SETUP([OFPT_HELLO with higher than supported version]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "0f 00 00 08 00 00 00 00"], [0], [dnl OFPT_HELLO (OF 0x0f) (xid=0x0): version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f ]) AT_CHECK([ovs-ofctl ofp-print "40 00 00 08 00 00 00 00"], [0], [dnl OFPT_HELLO (OF 0x40) (xid=0x0): version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f ]) AT_CHECK([ovs-ofctl ofp-print "3f 00 00 18 00 00 00 00 00 01 00 0c aa aa aa aa aa aa aa aa 00 00 00 00"], [0], [dnl OFPT_HELLO (OF 0x3f) (xid=0x0): version bitmap: 0x01, 0x03, 0x05, 0x07, 0x09, 0x0b, 0x0d, 0x0f, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1b, 0x1d, 0x1f ]) AT_CLEANUP AT_SETUP([OFPT_HELLO with contradictory version bitmaps]) AT_KEYWORDS([ofp-print]) dnl Bitmap claims support for no versions at all. AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 00"], [0], [OFPT_HELLO (xid=0x0): version bitmap: 0x01 unknown data in hello: 00000000 01 00 00 10 00 00 00 00-00 01 00 08 00 00 00 00 |................| ], [dnl ofp_util|WARN|peer does not support any OpenFlow version (between 0x01 and 0x1f) ]) dnl Bitmap claims support for only versions above 0x1f. AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "3f 00 00 18 00 00 00 00 00 01 00 0c 00 00 00 00 aa aa aa aa 00 00 00 00"], [0], [OFPT_HELLO (OF 0x3f) (xid=0x0): version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f unknown data in hello: 00000000 3f 00 00 18 00 00 00 00-00 01 00 0c 00 00 00 00 |?...............| 00000010 aa aa aa aa 00 00 00 00- |........ | ], [dnl ofp_util|WARN|peer does not support any OpenFlow version (between 0x01 and 0x1f) ]) dnl Bitmap claims support for nonexistent version 0x00. AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 f1"], [0], [dnl OFPT_HELLO (xid=0x0): version bitmap: 0x04, 0x05, 0x06, 0x07 ], [dnl ofp_util|WARN|peer claims to support invalid OpenFlow version 0x00 ]) dnl Bitmap claims support for only nonexistent version 0x00. AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 01"], [0], [dnl OFPT_HELLO (xid=0x0): version bitmap: 0x01 unknown data in hello: 00000000 01 00 00 10 00 00 00 00-00 01 00 08 00 00 00 01 |................| ], [dnl ofp_util|WARN|peer claims to support invalid OpenFlow version 0x00 ofp_util|WARN|peer does not support any OpenFlow version (between 0x01 and 0x1f) ]) AT_CLEANUP dnl OFPT_ERROR tests are in ofp-errors.at. AT_SETUP([OFPT_ECHO_REQUEST, empty payload]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '01 02 00 08 00 00 00 01'], [0], [dnl OFPT_ECHO_REQUEST (xid=0x1): 0 bytes of payload ]) AT_CLEANUP AT_SETUP([OFPT_ECHO_REQUEST, 5-byte payload]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '0102000d00000001 25 53 54 1a 9d'], [0], [dnl OFPT_ECHO_REQUEST (xid=0x1): 5 bytes of payload 00000000 25 53 54 1a 9d |%ST.. | ]) AT_CLEANUP AT_SETUP([OFPT_ECHO_REPLY, empty payload]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '01 03 00 08 00 00 00 01'], [0], [dnl OFPT_ECHO_REPLY (xid=0x1): 0 bytes of payload ]) AT_CLEANUP AT_SETUP([OFPT_ECHO_REPLY, 5-byte payload]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '0103000d0000000ba330efaf9e'], [0], [dnl OFPT_ECHO_REPLY (xid=0xb): 5 bytes of payload 00000000 a3 30 ef af 9e |.0... | ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REQUEST]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '0105000800000001'], [0], [dnl OFPT_FEATURES_REQUEST (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REPLY - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 06 00 e0 00 00 00 01 00 00 50 54 00 00 00 01 \ 00 00 01 00 02 00 00 00 00 00 00 87 00 00 0f ff \ ff fe 50 54 00 00 00 01 62 72 30 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \ 00 02 50 54 00 00 00 03 65 74 68 32 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \ 00 01 50 54 00 00 00 02 65 74 68 31 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \ "], [0], [dnl OFPT_FEATURES_REPLY (xid=0x1): dpid:0000505400000001 n_tables:2, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS ARP_MATCH_IP actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst 1(eth1): addr:50:54:00:00:00:02 config: 0 state: 0 current: 100MB-FD AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG speed: 100 Mbps now, 100 Mbps max 2(eth2): addr:50:54:00:00:00:03 config: 0 state: 0 current: 100MB-FD AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG speed: 100 Mbps now, 100 Mbps max 3(eth0): addr:50:54:00:00:00:01 config: 0 state: 0 current: 100MB-FD AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG speed: 100 Mbps now, 100 Mbps max LOCAL(br0): addr:50:54:00:00:00:01 config: PORT_DOWN state: LINK_DOWN speed: 0 Mbps now, 0 Mbps max ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REPLY cut off mid-port - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 06 00 dc 00 00 00 01 00 00 50 54 00 00 00 01 \ 00 00 01 00 02 00 00 00 00 00 00 87 00 00 0f ff \ ff fe 50 54 00 00 00 01 62 72 30 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \ 00 02 50 54 00 00 00 03 65 74 68 32 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \ 00 01 50 54 00 00 00 02 65 74 68 31 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 02 08 00 00 02 8f 00 00 02 8f \ "], [0], [dnl ***decode error: OFPBRC_BAD_LEN*** 00000000 01 06 00 dc 00 00 00 01-00 00 50 54 00 00 00 01 |..........PT....| 00000010 00 00 01 00 02 00 00 00-00 00 00 87 00 00 0f ff |................| 00000020 ff fe 50 54 00 00 00 01-62 72 30 00 00 00 00 00 |..PT....br0.....| 00000030 00 00 00 00 00 00 00 00-00 00 00 01 00 00 00 01 |................| 00000040 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................| 00000050 00 03 50 54 00 00 00 01-65 74 68 30 00 00 00 00 |..PT....eth0....| 00000060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................| 00000070 00 00 02 08 00 00 02 8f-00 00 02 8f 00 00 00 00 |................| 00000080 00 02 50 54 00 00 00 03-65 74 68 32 00 00 00 00 |..PT....eth2....| 00000090 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................| 000000a0 00 00 02 08 00 00 02 8f-00 00 02 8f 00 00 00 00 |................| 000000b0 00 01 50 54 00 00 00 02-65 74 68 31 00 00 00 00 |..PT....eth1....| 000000c0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................| 000000d0 00 00 02 08 00 00 02 8f-00 00 02 8f |............ | ], [stderr]) AT_CHECK([sed 's/.*|//' stderr], [0], [dnl received OFPT_FEATURES_REPLY with incorrect length 220 (must be exactly 32 bytes or longer by an integer multiple of 48 bytes) ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REPLY - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 02 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \ 00 00 01 00 02 00 00 00 00 00 00 87 00 00 00 00 \ ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \ 62 72 30 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \ 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \ 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \ 00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \ "], [0], [dnl OFPT_FEATURES_REPLY (OF1.1) (xid=0x1): dpid:0000505400000001 n_tables:2, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS ARP_MATCH_IP 3(eth0): addr:50:54:00:00:00:01 config: 0 state: 0 current: 100MB-FD AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG speed: 100 Mbps now, 100 Mbps max LOCAL(br0): addr:50:54:00:00:00:01 config: PORT_DOWN state: LINK_DOWN speed: 100 Mbps now, 100 Mbps max ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REPLY cut off mid-port - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 02 06 00 90 00 00 00 01 00 00 50 54 00 00 00 01 \ 00 00 01 00 02 00 00 00 00 00 00 87 00 00 00 00 \ ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \ 62 72 30 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \ 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \ 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \ "], [0], [dnl ***decode error: OFPBRC_BAD_LEN*** 00000000 02 06 00 90 00 00 00 01-00 00 50 54 00 00 00 01 |..........PT....| 00000010 00 00 01 00 02 00 00 00-00 00 00 87 00 00 00 00 |................| 00000020 ff ff ff fe 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......| 00000030 62 72 30 00 00 00 00 00-00 00 00 00 00 00 00 00 |br0.............| 00000040 00 00 00 01 00 00 00 01-00 00 00 00 00 00 00 00 |................| 00000050 00 00 00 00 00 00 00 00-00 01 86 a0 00 01 86 a0 |................| 00000060 00 00 00 03 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......| 00000070 65 74 68 30 00 00 00 00-00 00 00 00 00 00 00 00 |eth0............| 00000080 00 00 00 00 00 00 00 00-00 00 20 08 00 00 28 0f |.......... ...@{:@.| ], [stderr]) AT_CHECK([sed 's/.*|//' stderr], [0], [dnl received OFPT_FEATURES_REPLY with incorrect length 144 (must be exactly 32 bytes or longer by an integer multiple of 64 bytes) ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REPLY - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \ 00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \ ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \ 62 72 30 0a 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \ 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \ 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \ 00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \ "], [0], [dnl OFPT_FEATURES_REPLY (OF1.2) (xid=0x1): dpid:0000505400000001 n_tables:255, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS IP_REASM QUEUE_STATS PORT_BLOCKED 3(eth0): addr:50:54:00:00:00:01 config: 0 state: 0 current: 100MB-FD AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG speed: 100 Mbps now, 100 Mbps max LOCAL(br0): addr:50:54:00:00:00:01 config: PORT_DOWN state: LINK_DOWN speed: 100 Mbps now, 100 Mbps max ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REPLY cut off mid-port - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \ 00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \ ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \ 62 72 30 0a 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \ 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \ 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \ "], [0], [dnl OFPT_FEATURES_REPLY (OF1.2) (xid=0x1): (***truncated to 144 bytes from 160***) 00000000 03 06 00 a0 00 00 00 01-00 00 50 54 00 00 00 01 |..........PT....| 00000010 00 00 01 00 ff 00 00 00-00 00 01 77 00 00 00 00 |...........w....| 00000020 ff ff ff fe 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......| 00000030 62 72 30 0a 00 00 00 00-00 00 00 00 00 00 00 00 |br0.............| 00000040 00 00 00 01 00 00 00 01-00 00 00 00 00 00 00 00 |................| 00000050 00 00 00 00 00 00 00 00-00 01 86 a0 00 01 86 a0 |................| 00000060 00 00 00 03 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......| 00000070 65 74 68 30 00 00 00 00-00 00 00 00 00 00 00 00 |eth0............| 00000080 00 00 00 00 00 00 00 00-00 00 20 08 00 00 28 0f |.......... ...@{:@.| ], [stderr]) AT_CHECK([sed 's/.*|//' stderr], [0], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REPLY - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \ 00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \ "], [0], [dnl OFPT_FEATURES_REPLY (OF1.3) (xid=0x1): dpid:0000505400000001 n_tables:255, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS IP_REASM QUEUE_STATS PORT_BLOCKED ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REPLY - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \ 00 00 01 00 ff 00 00 00 00 00 07 6f 00 00 00 00 \ "], [0], [dnl OFPT_FEATURES_REPLY (OF1.4) (xid=0x1): dpid:0000505400000001 n_tables:255, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS GROUP_STATS IP_REASM QUEUE_STATS PORT_BLOCKED BUNDLES FLOW_MONITORING ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REPLY - OF1.5]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 06 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \ 00 00 01 00 ff 00 00 00 00 00 07 6f 00 00 00 00 \ "], [0], [dnl OFPT_FEATURES_REPLY (OF1.5) (xid=0x1): dpid:0000505400000001 n_tables:255, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS GROUP_STATS IP_REASM QUEUE_STATS PORT_BLOCKED BUNDLES FLOW_MONITORING ]) AT_CLEANUP AT_SETUP([OFPT_FEATURES_REPLY - with auxiliary_id - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \ 00 00 01 00 ff 01 00 00 00 00 01 77 00 00 00 00 \ "], [0], [dnl OFPT_FEATURES_REPLY (OF1.3) (xid=0x1): dpid:0000505400000001 n_tables:255, n_buffers:256, auxiliary_id:1 capabilities: FLOW_STATS TABLE_STATS PORT_STATS IP_REASM QUEUE_STATS PORT_BLOCKED ]) AT_CLEANUP AT_SETUP([OFPT_GET_CONFIG_REQUEST]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '0107000800000001'], [0], [dnl OFPT_GET_CONFIG_REQUEST (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPT_GET_CONFIG_REPLY, most common form]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '01 08 00 0c 00 00 00 03 00 00 00 00'], [0], [dnl OFPT_GET_CONFIG_REPLY (xid=0x3): frags=normal miss_send_len=0 ]) AT_CLEANUP AT_SETUP([OFPT_GET_CONFIG_REPLY, frags and miss_send_len]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '01 08 00 0c 00 00 00 03 00 02 00 ff'], [0], [dnl OFPT_GET_CONFIG_REPLY (xid=0x3): frags=reassemble miss_send_len=255 ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_IN - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 0a 00 4e 00 00 00 00 00 00 01 11 00 3c 00 03 \ 00 00 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \ 45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \ c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \ 50 02 02 00 26 e8 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=10031,tp_dst=0,tcp_flags=syn tcp_csum:26e8 ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_IN - OF1.0, with hex output of packet data]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 0a 00 4e 00 00 00 00 00 00 01 11 00 3c 00 03 \ 00 00 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \ 45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \ c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \ 50 10 02 00 26 e8 00 00 00 00 00 00 00 00 \ " 3], [0], [dnl OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=10031,tp_dst=0,tcp_flags=ack tcp_csum:26e8 00000000 50 54 00 00 00 06 50 54-00 00 00 05 08 00 45 00 00000010 00 28 bd 12 00 00 40 06-3c 6a c0 a8 00 01 c0 a8 00000020 00 02 27 2f 00 00 78 50-cc 5b 57 af 42 1e 50 10 00000030 02 00 26 e8 00 00 00 00-00 00 00 00 ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_IN - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 02 0a 00 54 00 00 00 00 00 00 01 11 00 00 00 03 \ 00 00 00 03 00 3c 00 00 \ 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \ 45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \ c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \ 50 02 02 00 26 e8 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_IN (OF1.1) (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=10031,tp_dst=0,tcp_flags=syn tcp_csum:26e8 ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_IN - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 0a 00 4c 00 00 00 00 ff ff ff 00 00 2a 00 00 \ 00 01 00 0c 80 00 00 04 ff ff ff fe 00 00 00 00 \ 00 00 ff ff ff ff ff ff 00 23 20 83 c1 5f 80 35 \ 00 01 08 00 06 04 00 01 00 23 20 83 c1 5f 00 00 \ 00 00 00 23 20 83 c1 5f 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_IN (OF1.2) (xid=0x0): total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=1,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_IN - OF1.2, with hex output of packet data]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 0a 00 4c 00 00 00 00 ff ff ff 00 00 2a 00 00 \ 00 01 00 0c 80 00 00 04 ff ff ff fe 00 00 00 00 \ 00 00 ff ff ff ff ff ff 00 23 20 83 c1 5f 80 35 \ 00 01 08 00 06 04 00 03 00 23 20 83 c1 5f 00 00 \ 00 00 00 23 20 83 c1 5f 00 00 00 00 \ " 3], [0], [dnl OFPT_PACKET_IN (OF1.2) (xid=0x0): total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f 00000000 ff ff ff ff ff ff 00 23-20 83 c1 5f 80 35 00 01 00000010 08 00 06 04 00 03 00 23-20 83 c1 5f 00 00 00 00 00000020 00 23 20 83 c1 5f 00 00-00 00 ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_IN - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \ 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \ ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \ 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \ 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \ 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_IN - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \ 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \ ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \ 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \ 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \ 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_IN (OF1.4) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_IN - OF1.5]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 06 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \ 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \ ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \ 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \ 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \ 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_IN (OF1.5) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_IN - OF1.3, with hex output of packet data]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \ 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \ ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \ 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \ 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \ 00 00 00 00 \ " 3], [0], [dnl OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f 00000000 ff ff ff ff ff ff 00 23-20 83 c1 5f 80 35 00 01 00000010 08 00 06 04 00 03 00 23-20 83 c1 5f 00 00 00 00 00000020 00 23 20 83 c1 5f 00 00-00 00 ]) AT_CLEANUP AT_SETUP([OFPT_FLOW_REMOVED - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 0b 00 58 00 00 00 00 00 00 00 00 00 03 50 54 \ 00 00 00 05 50 54 00 00 00 06 ff ff 00 00 08 06 \ 00 02 00 00 c0 a8 00 01 c0 a8 00 02 00 00 00 00 \ 00 00 00 00 00 00 00 00 ff ff 00 00 00 00 00 05 \ 30 e0 35 00 00 05 00 00 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 3c \ "], [0], [dnl OFPT_FLOW_REMOVED (xid=0x0): priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,arp_spa=192.168.0.1,arp_tpa=192.168.0.2,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 reason=idle duration5.820s idle5 pkts1 bytes60 ]) AT_CLEANUP AT_SETUP([OFPT_FLOW_REMOVED - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 0b 00 40 00 00 00 00 fe dc ba 98 76 54 32 10 \ 80 00 01 05 00 00 00 01 00 98 96 80 00 3c 00 78 \ 00 00 00 00 00 12 d6 87 00 00 00 00 6f 68 ba 66 \ 00 01 00 0a 80 00 0c 02 10 09 00 00 00 00 00 00"], [0], [dnl OFPT_FLOW_REMOVED (OF1.2) (xid=0x0): dl_vlan=9 reason=hard table_id=5 cookie:0xfedcba9876543210 duration1.010s idle60 hard120 pkts1234567 bytes1869134438 ]) AT_CLEANUP AT_SETUP([OFPT_FLOW_REMOVED - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 0b 00 40 00 00 00 00 fe dc ba 98 76 54 32 10 \ 80 00 01 05 00 00 00 01 00 98 96 80 00 3c 00 78 \ 00 00 00 00 00 12 d6 87 00 00 00 00 6f 68 ba 66 \ 00 01 00 0a 80 00 0c 02 10 09 00 00 00 00 00 00"], [0], [dnl OFPT_FLOW_REMOVED (OF1.3) (xid=0x0): dl_vlan=9 reason=hard table_id=5 cookie:0xfedcba9876543210 duration1.010s idle60 hard120 pkts1234567 bytes1869134438 ]) AT_CLEANUP AT_SETUP([OFPT_FLOW_REMOVED - OF1.5]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 06 0b 00 80 00 00 00 02 01 00 00 00 11 00 22 00 \ 00 00 00 00 00 00 00 01 00 01 00 2d 80 00 00 04 \ 00 00 00 02 80 00 06 06 52 54 00 c3 00 89 80 00 \ 0a 02 08 00 80 00 10 01 00 80 00 04 08 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 34 80 02 00 08 \ 00 00 00 98 29 e6 ed c0 80 02 02 08 00 00 00 98 \ 00 00 00 00 80 02 08 08 00 00 00 00 00 00 00 02 \ 80 02 0a 08 00 00 00 00 00 00 00 80 00 00 00 00 \ "], [0], [dnl OFPT_FLOW_REMOVED (OF1.5) (xid=0x2): priority=0,ip,metadata=0,in_port=2,dl_dst=52:54:00:c3:00:89,nw_tos=0 reason=idle table_id=1 cookie:0x1 duration152.703s idle4352 hard8704 pkts2 bytes128 ]) AT_CLEANUP AT_SETUP([OFPT_PORT_STATUS - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 0c 00 40 00 00 00 00 02 00 00 00 00 00 00 00 \ 00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \ 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \ "], [0], [dnl OFPT_PORT_STATUS (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01 config: PORT_DOWN state: LINK_DOWN current: 100MB-FD AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG speed: 100 Mbps now, 100 Mbps max ]) AT_CLEANUP AT_SETUP([OFPT_PORT_STATUS - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 02 0c 00 50 00 00 00 00 02 00 00 00 00 00 00 00 \ 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \ 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \ 00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \ "], [0], [dnl OFPT_PORT_STATUS (OF1.1) (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01 config: 0 state: 0 current: 100MB-FD AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG speed: 100 Mbps now, 100 Mbps max ]) AT_CLEANUP AT_SETUP([OFPT_PORT_STATUS - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 0c 00 58 00 00 00 00 02 00 00 00 00 00 00 00 \ 00 00 00 03 00 48 00 00 50 54 00 00 00 01 00 00 \ 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 \ 00 00 20 08 00 00 28 0f 00 00 28 0f 00 00 00 00 \ 00 01 86 a0 00 01 86 a0 \ "], [0], [dnl OFPT_PORT_STATUS (OF1.4) (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01 config: 0 state: 0 current: 100MB-FD AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG speed: 100 Mbps now, 100 Mbps max ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_OUT - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 0d 00 54 00 00 00 00 00 00 01 14 00 01 00 08 \ 00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \ 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \ b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \ 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \ 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 buffer=0x00000114 ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_OUT - OF1.0, with packet]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 0d 00 54 00 00 00 00 ff ff ff ff 00 01 00 08 \ 00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \ 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \ b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \ 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \ 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 data_len=60 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=0,tp_dst=11104,tcp_flags=rst|ack tcp_csum:6d75 ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_OUT - OF1.0, with hex output of packet data]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 0d 00 54 00 00 00 00 ff ff ff ff 00 01 00 08 \ 00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \ 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \ b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \ 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \ 00 00 00 00 \ " 3], [0], [dnl OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 data_len=60 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=0,tp_dst=11104,tcp_flags=rst|ack tcp_csum:6d75 00000000 50 54 00 00 00 05 50 54-00 00 00 06 08 00 45 00 00000010 00 28 00 00 40 00 40 06-b9 7c c0 a8 00 02 c0 a8 00000020 00 01 00 00 2b 60 00 00-00 00 6a 4f 2b 58 50 14 00000030 00 00 6d 75 00 00 00 00-00 00 00 00 ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_OUT - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 0d 00 28 88 58 df c5 ff ff ff 00 ff ff ff fe \ 00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \ 05 dc 00 00 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_OUT (OF1.2) (xid=0x8858dfc5): in_port=LOCAL actions=FLOOD buffer=0xffffff00 ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_OUT - OF1.1, with packet]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 0d 00 64 88 58 df c5 ff ff ff ff ff ff ff fe \ 00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \ 05 dc 00 00 00 00 00 00 50 54 00 00 00 05 50 54 \ 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \ b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \ 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \ 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_OUT (OF1.2) (xid=0x8858dfc5): in_port=LOCAL actions=FLOOD data_len=60 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=0,tp_dst=11104,tcp_flags=rst|ack tcp_csum:6d75 ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_OUT - OF1.5]) AT_KEYWORDS([ofp-print packet-out]) AT_CHECK([ovs-ofctl ofp-print "\ 06 0d 00 30 11 22 33 44 ff ff ff 00 00 10 00 00 \ 00 01 00 10 80 00 00 04 00 00 00 01 00 00 00 00 \ 00 00 00 10 ff ff ff fb 05 dc 00 00 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_OUT (OF1.5) (xid=0x11223344): in_port=1 actions=FLOOD buffer=0xffffff00 ]) dnl missing in_port AT_CHECK([ovs-ofctl ofp-print "\ 06 0d 00 40 11 22 33 44 ff ff ff 00 00 10 00 00 \ 00 01 00 20 80 00 04 08 00 00 00 00 00 00 00 03 \ 80 00 4C 08 00 00 00 00 00 00 00 05 00 00 00 00 \ 00 00 00 10 ff ff ff fb 05 dc 00 00 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_OUT (OF1.5) (xid=0x11223344): ***decode error: OFPBRC_BAD_PORT*** 00000000 06 0d 00 40 11 22 33 44-ff ff ff 00 00 10 00 00 |...@."3D........| 00000010 00 01 00 20 80 00 04 08-00 00 00 00 00 00 00 03 |... ............| 00000020 80 00 4c 08 00 00 00 00-00 00 00 05 00 00 00 00 |..L.............| 00000030 00 00 00 10 ff ff ff fb-05 dc 00 00 00 00 00 00 |................| ]) AT_CHECK([ovs-ofctl ofp-print "\ 06 0d 00 48 11 22 33 44 ff ff ff 00 00 10 00 00 \ 00 01 00 28 80 00 00 04 00 00 00 01 80 00 04 08 \ 00 00 00 00 00 00 00 03 80 00 4C 08 00 00 00 00 \ 00 00 00 05 00 00 00 00 00 00 00 10 ff ff ff fb \ 05 dc 00 00 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_OUT (OF1.5) (xid=0x11223344): tun_id=0x5,metadata=0x3,in_port=1 actions=FLOOD buffer=0xffffff00 ]) dnl include non pipeline field AT_CHECK([ovs-ofctl ofp-print "\ 06 0d 00 38 11 22 33 44 ff ff ff 00 00 10 00 00 \ 00 01 00 18 80 00 00 04 00 00 00 01 80 00 16 04 \ 11 22 33 44 00 00 00 00 00 00 00 10 ff ff ff fb \ 05 dc 00 00 00 00 00 00 \ "], [0], [dnl OFPT_PACKET_OUT (OF1.5) (xid=0x11223344): ***decode error: OFPBRC_PIPELINE_FIELDS_ONLY*** 00000000 06 0d 00 38 11 22 33 44-ff ff ff 00 00 10 00 00 |...8."3D........| dnl " 00000010 00 01 00 18 80 00 00 04-00 00 00 01 80 00 16 04 |................| 00000020 11 22 33 44 00 00 00 00-00 00 00 10 ff ff ff fb |."3D............| 00000030 05 dc 00 00 00 00 00 00- |........ | ]) AT_CLEANUP AT_SETUP([OFPT_PACKET_OUT - OF1.5, with packet]) AT_KEYWORDS([ofp-print packet-out]) AT_CHECK([ovs-ofctl ofp-print "\ 06 0d 00 74 11 22 33 44 ff ff ff ff 00 10 00 00 \ 00 01 00 18 80 00 00 04 00 00 00 01 80 00 04 08 \ 00 00 00 00 00 00 00 03 00 00 00 10 ff ff ff fb \ 05 dc 00 00 00 00 00 00 50 54 00 00 00 05 50 54 \ 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \ b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \ 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \ 00 00 00 00 "], [0], [dnl OFPT_PACKET_OUT (OF1.5) (xid=0x11223344): metadata=0x3,in_port=1 actions=FLOOD data_len=60 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=0,tp_dst=11104,tcp_flags=rst|ack tcp_csum:6d75 ]) AT_CLEANUP # The flow is formatted with cls_rule_format() for the low-verbosity case. AT_SETUP([OFPT_FLOW_MOD - OF1.0 - low verbosity]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 01 0e 00 50 00 00 00 00 00 00 00 00 00 01 50 54 \ 00 00 00 06 50 54 00 00 00 05 ff ff 00 00 08 06 \ 00 02 00 00 c0 a8 00 02 c0 a8 00 01 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 \ 00 00 01 0e 00 00 00 00 00 00 00 08 00 03 00 00 \ " 2], [0], [dnl OFPT_FLOW_MOD (xid=0x0): ADD priority=65535,arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 idle:5 buf:0x10e out_port:0 actions=output:3 ], [dnl ofp_match|INFO|normalization changed ofp_match, details: ofp_match|INFO| pre: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 ofp_match|INFO|post: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 ]) AT_CLEANUP # The flow is formatted with cls_rule_format() for the low-verbosity case. AT_SETUP([OFPT_FLOW_MOD - OF1.1 - low verbosity]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 020e 0090 01020304 \ da1aa3e035d87158 ffffffffffffffff \ 02 01 003c 0078 9c40 ffffffff ffffffff ffffffff 0003 \ 0000 \ \ 0000 0058 00000000 000003f7 \ 000000000000ffffffffffff 000000000000ffffffffffff \ 0000 00 00 0806 00 00 c0a88000000000ff 00000000ffffffff 0000 0000 \ 00000000 00 000000 0000000000000000ffffffffffffffff \ \ 0001 0008 03 000000 \ " 2], [0], [dnl OFPT_FLOW_MOD (OF1.1) (xid=0x1020304): MOD table:2 priority=40000,arp,arp_spa=192.168.128.0/24 cookie:0xda1aa3e035d87158/0xffffffffffffffff idle:60 hard:120 send_flow_rem check_overlap actions=goto_table:3 ]) AT_CLEANUP # The flow is formatted with cls_rule_format() for the low-verbosity case. AT_SETUP([OFPT_FLOW_MOD - OF1.2 - low verbosity]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \ ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \ 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \ 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \ 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \ 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \ 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \ " 2], [0], [dnl OFPT_FLOW_MOD (OF1.2) (xid=0x2): ADD table:1 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 actions=output:3 ], [dnl ]) AT_CLEANUP # The flow is formatted with ofp10_match_to_string() for the # high-verbosity case. AT_SETUP([OFPT_FLOW_MOD - OF1.0 - high verbosity]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 01 0e 00 50 00 00 00 00 00 00 00 00 00 01 50 54 \ 00 00 00 06 50 54 00 00 00 05 ff ff 00 00 08 06 \ 00 02 00 00 c0 a8 00 02 c0 a8 00 01 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 \ 00 00 01 0e 00 00 00 00 00 00 00 08 00 03 00 00 \ " 3], [0], [dnl OFPT_FLOW_MOD (xid=0x0): ADD arp,in_port=1,dl_vlan=65535,dl_vlan_pcp=0,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 idle:5 pri:65535 buf:0x10e out_port:0 actions=output:3 ], [dnl ofp_match|INFO|normalization changed ofp_match, details: ofp_match|INFO| pre: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 ofp_match|INFO|post: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 ]) AT_CLEANUP # The flow is formatted with cls_rule_format() for the low-verbosity case. AT_SETUP([OFPT_FLOW_MOD - OF1.2 - low verbosity]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \ ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \ 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \ 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \ 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \ 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \ 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \ " 2], [0], [dnl OFPT_FLOW_MOD (OF1.2) (xid=0x2): ADD table:1 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 actions=output:3 ], [dnl ]) AT_CLEANUP # The flow is formatted with cls_rule_format() for the low-verbosity case. AT_SETUP([OFPT_FLOW_MOD - OF1.3 - flags - low verbosity]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 04 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \ ff ff ff ff ff ff ff ff ff ff ff ff 00 1f 00 00 \ 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \ 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \ 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \ 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \ 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \ 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \ " 2], [0], [dnl OFPT_FLOW_MOD (OF1.3) (xid=0x2): ADD table:1 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 send_flow_rem check_overlap reset_counts no_packet_counts no_byte_counts actions=output:3 ], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field ip_src]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 0e 00 58 52 33 45 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \ ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \ 00 04 00 18 00 00 00 00 00 19 00 10 80 00 16 04 \ c0 a8 03 5c 00 00 00 00 \ " 2], [0], [dnl OFPT_FLOW_MOD (OF1.2) (xid=0x52334502): ADD priority=255,ip actions=set_field:192.168.3.92->ip_src ], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field ip_dst]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \ ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \ 00 04 00 18 00 00 00 00 00 19 00 10 80 00 18 04 \ c0 a8 4a 7a 00 00 00 00 \ " 2], [0], [dnl OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,ip actions=set_field:192.168.74.122->ip_dst ], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field sctp_src]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \ ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \ 00 04 00 18 00 00 00 00 00 19 00 10 80 00 22 02 \ 0d 06 00 00 00 00 00 00 \ " 2], [0], [dnl OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,sctp actions=set_field:3334->sctp_src ], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field sctp_dst]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \ ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \ 00 04 00 18 00 00 00 00 00 19 00 10 80 00 24 02 \ 11 5d 00 00 00 00 00 00 \ " 2], [0], [dnl OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,sctp actions=set_field:4445->sctp_dst ], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_FLOW_MOD - OF1.2 - experimenter OXM]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 0e 00 48 52 33 45 07 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \ ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 01 00 14 ff ff 01 0c 00 00 23 20 01 23 45 67 \ 0f ff ff ff 00 00 00 00 " 2], [0], [dnl OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,dp_hash=0x1234567/0xfffffff actions=drop ], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field nd_target, nd_sll]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 0e 00 78 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \ ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 01 00 14 80 00 0a 02 86 dd 80 00 14 01 3a 80 \ 00 3a 01 87 00 00 00 00 00 04 00 30 00 00 00 00 \ 00 19 00 18 80 00 3e 10 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 19 00 10 80 00 40 06 \ aa aa aa aa aa aa 00 00 " 2], [0], [dnl OFPT_FLOW_MOD (OF1.2) (xid=0x2): ADD priority=255,icmp6,icmp_type=135 actions=set_field:::1->nd_target,set_field:aa:aa:aa:aa:aa:aa->nd_sll ], [dnl ]) AT_CLEANUP dnl This triggered a buggy "instructions out of order" message earlier. AT_SETUP([OFPT_FLOW_MOD - OF1.3 - meter]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 0e 00 40 cf fe 6b 86 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 e8 \ ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 01 00 04 00 00 00 00 00 06 00 08 00 00 00 01"], [0], [dnl OFPT_FLOW_MOD (OF1.3) (xid=0xcffe6b86): ADD priority=1000 actions=meter:1 ]) AT_CLEANUP AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field ip_src]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 13 00 68 52 33 45 04 00 01 00 00 00 00 00 00 \ 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \ 00 04 00 18 00 00 00 00 00 19 00 10 80 00 16 04 \ c0 a8 03 5c 00 00 00 00 \ " 2], [0], [dnl OFPST_FLOW reply (OF1.2) (xid=0x52334504): cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,ip actions=set_field:192.168.3.92->ip_src ], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field ip_dst]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 13 00 68 52 33 45 09 00 01 00 00 00 00 00 00 \ 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \ 00 04 00 18 00 00 00 00 00 19 00 10 80 00 18 04 \ c0 a8 4a 7a 00 00 00 00 \ " 2], [0], [dnl OFPST_FLOW reply (OF1.2) (xid=0x52334509): cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,ip actions=set_field:192.168.74.122->ip_dst ], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field sctp_src]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 13 00 68 52 33 45 04 00 01 00 00 00 00 00 00 \ 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \ 00 04 00 18 00 00 00 00 00 19 00 10 80 00 22 02 \ 0d 06 00 00 00 00 00 00 \ " 2], [0], [dnl OFPST_FLOW reply (OF1.2) (xid=0x52334504): cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,sctp actions=set_field:3334->sctp_src ], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field sctp_dst]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 03 13 00 68 52 33 45 09 00 01 00 00 00 00 00 00 \ 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \ 00 04 00 18 00 00 00 00 00 19 00 10 80 00 24 02 \ 11 5d 00 00 00 00 00 00 \ " 2], [0], [dnl OFPST_FLOW reply (OF1.2) (xid=0x52334509): cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,sctp actions=set_field:4445->sctp_dst ], [dnl ]) AT_CLEANUP AT_SETUP([OFPT_PORT_MOD - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 0f 00 20 00 00 00 03 00 03 50 54 00 00 00 01 \ 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \ " 3], [0], [dnl OFPT_PORT_MOD (xid=0x3): port: 3: addr:50:54:00:00:00:01 config: PORT_DOWN mask: PORT_DOWN advertise: UNCHANGED ]) AT_CLEANUP AT_SETUP([OFPT_PORT_MOD - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 02 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \ 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \ 00 00 00 00 00 00 00 00 \ " 3], [0], [dnl OFPT_PORT_MOD (OF1.1) (xid=0x3): port: 3: addr:50:54:00:00:00:01 config: PORT_DOWN mask: PORT_DOWN advertise: UNCHANGED ]) AT_CLEANUP AT_SETUP([OFPT_PORT_MOD - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \ 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \ 00 00 00 00 00 00 00 00 \ " 3], [0], [dnl OFPT_PORT_MOD (OF1.2) (xid=0x3): port: 3: addr:50:54:00:00:00:01 config: PORT_DOWN mask: PORT_DOWN advertise: UNCHANGED ]) AT_CLEANUP AT_SETUP([OFPT_PORT_MOD - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \ 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \ 00 00 00 00 00 00 00 00 \ " 3], [0], [dnl OFPT_PORT_MOD (OF1.3) (xid=0x3): port: 3: addr:50:54:00:00:00:01 config: PORT_DOWN mask: PORT_DOWN advertise: UNCHANGED ]) AT_CLEANUP AT_SETUP([OFPT_PORT_MOD - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \ 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \ 00 00 00 08 00 00 00 01 " 3], [0], [dnl OFPT_PORT_MOD (OF1.4) (xid=0x3): port: 3: addr:50:54:00:00:00:01 config: PORT_DOWN mask: PORT_DOWN advertise: 10MB-HD ]) AT_CLEANUP AT_SETUP([OFPT_TABLE_MOD - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 02 11 00 10 00 00 00 02 02 00 00 00 00 00 00 02 \ " 3], [0], [dnl OFPT_TABLE_MOD (OF1.1) (xid=0x2): table_id=2, flow_miss_config=drop ]) AT_CLEANUP AT_SETUP([OFPT_TABLE_MOD - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 11 00 10 00 00 00 02 02 00 00 00 00 00 00 01 \ " 3], [0], [dnl OFPT_TABLE_MOD (OF1.2) (xid=0x2): table_id=2, flow_miss_config=continue ]) AT_CLEANUP AT_SETUP([OFPT_TABLE_MOD - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 11 00 10 00 00 00 02 02 00 00 00 00 00 00 00 \ " 3], [0], [dnl OFPT_TABLE_MOD (OF1.3) (xid=0x2): table_id=2 ]) AT_CLEANUP AT_SETUP([OFPT_TABLE_MOD - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 11 00 10 00 00 00 02 02 00 00 00 00 00 00 00 \ " 3], [0], [dnl OFPT_TABLE_MOD (OF1.4) (xid=0x2): table_id=2, eviction=off, vacancy=off ]) AT_CLEANUP AT_SETUP([OFPST_DESC request]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "0110000c0000000100000000"], [0], [dnl OFPST_DESC request (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPST_DESC reply]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 04 2c 00 00 00 01 00 00 00 00 4e 69 63 69 \ 72 61 2c 20 49 6e 63 2e 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 4f 70 65 6e \ 20 76 53 77 69 74 63 68 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 31 2e 31 2e \ 30 70 72 65 32 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 4e 6f 6e 65 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 4e 6f 6e 65 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_DESC reply (xid=0x1): Manufacturer: Nicira, Inc. Hardware: Open vSwitch Software: 1.1.0pre2 Serial Num: None DP Description: None ]) AT_CLEANUP AT_SETUP([OFPST_FLOW request - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 38 00 00 00 04 00 01 00 00 00 38 20 ff \ ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 ff 00 ff ff \ "], [0], [dnl OFPST_FLOW request (xid=0x4): ]) AT_CLEANUP AT_SETUP([OFPST_FLOW request - OF1.2]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 03 12 00 38 00 00 00 02 00 01 00 00 00 00 00 00 \ ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 04 00 00 00 00 \ "], [0], [dnl OFPST_FLOW request (OF1.2) (xid=0x2): ]) AT_CLEANUP AT_SETUP([OFPST_FLOW request - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 04 12 00 38 00 00 00 02 00 01 00 00 00 00 00 00 \ ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 04 00 00 00 00 \ "], [0], [dnl OFPST_FLOW request (OF1.3) (xid=0x2): ]) AT_CLEANUP AT_SETUP([OFPST_FLOW request - OF1.5]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 06 12 00 38 00 00 00 04 00 01 00 00 00 00 00 00 \ ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 04 00 00 00 00 \ "], [0], [dnl OFPST_FLOW request (OF1.5) (xid=0x4): ]) AT_CLEANUP AT_SETUP([OFPST_FLOW reply - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 01 e4 00 00 00 04 00 01 00 00 00 60 00 00 \ 00 00 00 00 00 03 50 54 00 00 00 05 50 54 00 00 \ 00 06 ff ff 00 00 08 06 00 02 00 00 c0 a8 00 01 \ c0 a8 00 02 00 00 00 00 00 00 00 04 0b eb c2 00 \ ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 \ 00 00 00 3c 00 00 00 08 00 01 00 00 00 60 00 00 \ 00 00 00 00 00 01 50 54 00 00 00 06 50 54 00 00 \ 00 05 ff ff 00 00 08 00 00 01 00 00 c0 a8 00 02 \ c0 a8 00 01 00 00 00 00 00 00 00 08 35 a4 e9 00 \ ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 \ 00 00 04 fa 00 00 00 08 00 03 00 00 00 60 00 00 \ 00 00 00 00 00 01 50 54 00 00 00 06 50 54 00 00 \ 00 05 ff ff 00 00 08 06 00 01 00 00 c0 a8 00 02 \ c0 a8 00 01 00 00 00 00 00 00 00 04 10 b0 76 00 \ ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 \ 00 00 00 3c 00 00 00 08 00 03 00 00 00 60 00 00 \ 00 00 00 01 00 03 50 54 00 00 00 05 50 54 00 00 \ 00 06 ff ff 00 00 08 00 00 01 00 00 c0 a8 00 01 \ c0 a8 00 02 00 08 00 00 00 00 00 09 05 b8 d8 00 \ 80 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 \ 00 00 04 fa 00 00 00 08 00 01 00 00 \ 00 58 02 00 00 3f ff ff 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_FLOW reply (xid=0x4): cookie=0x0, duration=4.200s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,arp_spa=192.168.0.1,arp_tpa=192.168.0.2,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 actions=output:1 cookie=0x0, duration=8.900s, table=0, n_packets=13, n_bytes=1274, idle_timeout=5, priority=65535,icmp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,icmp_type=0,icmp_code=0 actions=output:3 cookie=0x0, duration=4.280s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=1,nw_tos=0,tp_src=0,tp_dst=0 actions=output:3 cookie=0x0, duration=9.096s, table=0, n_packets=13, n_bytes=1274, idle_timeout=5, icmp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,icmp_type=8,icmp_code=0 actions=output:1 cookie=0x0, duration=0s, table=2, n_packets=0, n_bytes=0, actions=drop ]) AT_CLEANUP AT_SETUP([OFPST_FLOW reply - OF1.2]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 03 13 01 78 00 00 00 02 00 01 00 00 00 00 00 00 \ 00 78 00 00 00 00 00 03 01 5e f3 c0 80 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 62 \ 00 01 00 2d 80 00 00 04 00 00 00 02 80 00 06 06 \ ca da ad d6 0d 37 80 00 0a 02 08 00 80 00 10 01 \ 00 80 00 04 08 00 00 00 00 00 00 00 00 00 00 00 \ 00 04 00 18 00 00 00 00 00 00 00 10 00 00 00 02 \ 05 dc 00 00 00 00 00 00 00 78 00 00 00 00 00 04 \ 20 7c 0a 40 80 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 \ 00 00 00 00 00 00 00 8c 00 01 00 2d 80 00 00 04 \ 00 00 00 02 80 00 06 06 52 54 00 c3 00 89 80 00 \ 0a 02 08 00 80 00 10 01 00 80 00 04 08 00 00 00 \ 00 00 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \ 00 00 00 10 00 00 00 02 05 dc 00 00 00 00 00 00 \ 00 78 00 00 00 00 00 04 20 a9 d1 00 80 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 2a \ 00 01 00 2d 80 00 00 04 00 00 00 02 80 00 06 06 \ 52 54 00 97 00 69 80 00 0a 02 08 00 80 00 10 01 \ 00 80 00 04 08 00 00 00 00 00 00 00 00 00 00 00 \ 00 04 00 18 00 00 00 00 00 00 00 10 00 00 00 02 \ 05 dc 00 00 00 00 00 00 \ "], [0], [dnl OFPST_FLOW reply (OF1.2) (xid=0x2): cookie=0x0, duration=3.023s, table=0, n_packets=1, n_bytes=98, ip,metadata=0,in_port=2,dl_dst=ca:da:ad:d6:0d:37,nw_tos=0 actions=output:2 cookie=0x0, duration=4.545s, table=0, n_packets=2, n_bytes=140, ip,metadata=0,in_port=2,dl_dst=52:54:00:c3:00:89,nw_tos=0 actions=output:2 cookie=0x0, duration=4.548s, table=0, n_packets=1, n_bytes=42, ip,metadata=0,in_port=2,dl_dst=52:54:00:97:00:69,nw_tos=0 actions=output:2 ]) AT_CLEANUP AT_SETUP([OFPST_FLOW reply - OF1.5]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 06 13 01 00 00 00 00 04 00 01 00 00 00 00 00 00 \ 00 78 00 00 00 00 80 00 00 00 00 00 00 05 00 00 \ 00 00 00 00 00 00 00 00 00 01 00 0c 80 00 00 04 \ 00 00 00 02 00 00 00 00 00 00 00 34 80 02 00 08 \ 00 00 00 c4 0b 06 e0 40 80 02 02 08 00 00 00 c4 \ 00 00 00 00 80 02 08 08 00 00 00 00 00 00 00 02 \ 80 02 0a 08 00 00 00 00 00 00 00 80 00 00 00 00 \ 00 04 00 18 00 00 00 00 00 00 00 10 ff ff ff fa \ 00 00 00 00 00 00 00 00 00 78 00 00 00 00 0f a0 \ 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 0c 80 00 00 04 00 00 00 03 00 00 00 00 \ 00 00 00 34 80 02 00 08 00 00 00 b3 25 40 be 40 \ 80 02 02 08 00 00 00 b3 00 00 00 00 80 02 08 08 \ 00 00 00 00 00 00 00 02 80 02 0a 08 00 00 00 00 \ 00 00 00 80 00 00 00 00 00 04 00 18 00 00 00 00 \ 00 00 00 10 ff ff ff fa 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_FLOW reply (OF1.5) (xid=0x4): cookie=0x0, duration=196.185s, table=0, n_packets=2, n_bytes=128, send_flow_rem reset_counts idle_age=196, in_port=2 actions=NORMAL cookie=0x0, duration=179.625s, table=0, n_packets=2, n_bytes=128, send_flow_rem reset_counts idle_age=179, priority=4000,in_port=3 actions=NORMAL ]) AT_CLEANUP AT_SETUP([OFPST_AGGREGATE request - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 38 00 00 00 04 00 02 00 00 00 38 20 ff \ ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 ff 00 ff ff \ "], [0], [dnl OFPST_AGGREGATE request (xid=0x4): ]) AT_CLEANUP AT_SETUP([OFPST_AGGREGATE request - OF1.2]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 03 12 00 38 00 00 00 02 00 02 00 00 00 00 00 00 \ ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 04 00 00 00 00 \ "], [0], [dnl OFPST_AGGREGATE request (OF1.2) (xid=0x2): ]) AT_CLEANUP AT_SETUP([OFPST_AGGREGATE request - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 04 12 00 38 00 00 00 02 00 02 00 00 00 00 00 00 \ ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 04 00 00 00 00 \ "], [0], [dnl OFPST_AGGREGATE request (OF1.3) (xid=0x2): ]) AT_CLEANUP AT_SETUP([OFPST_AGGREGATE request - OF1.5]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 06 12 00 60 00 00 00 04 00 02 00 00 00 00 00 00 \ ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 01 00 04 00 00 00 00 00 00 00 24 80 02 06 04 \ 00 00 00 00 80 02 08 08 00 00 00 00 00 00 00 00 \ 80 02 0a 08 00 00 00 00 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_AGGREGATE request (OF1.5) (xid=0x4): ]) AT_CLEANUP AT_SETUP([OFPST_AGGREGATE reply - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 24 00 00 00 04 00 02 00 00 00 00 00 00 \ 00 00 01 82 00 00 00 00 00 00 93 78 00 00 00 04 \ 00 00 00 00 \ "], [0], [dnl OFPST_AGGREGATE reply (xid=0x4): packet_count=386 byte_count=37752 flow_count=4 ]) AT_CLEANUP AT_SETUP([OFPST_AGGREGATE reply - OF1.2]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 03 13 00 28 00 00 00 02 00 02 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 79 00 00 00 00 00 00 4b 4f \ 00 00 00 03 00 00 00 00 \ "], [0], [dnl OFPST_AGGREGATE reply (OF1.2) (xid=0x2): packet_count=121 byte_count=19279 flow_count=3 ]) AT_CLEANUP AT_SETUP([OFPST_AGGREGATE reply - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 04 13 00 28 00 00 00 02 00 02 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 79 00 00 00 00 00 00 4b 4f \ 00 00 00 03 00 00 00 00 \ "], [0], [dnl OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=121 byte_count=19279 flow_count=3 ]) AT_CLEANUP AT_SETUP([OFPST_AGGREGATE reply - OF1.5]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 06 13 00 38 00 00 00 04 00 02 00 00 00 00 00 00 \ 00 00 00 24 80 02 06 04 00 00 00 03 80 02 08 08 \ 00 00 00 00 00 00 00 79 80 02 0a 08 00 00 00 00 \ 00 00 4b 4f 00 00 00 00 \ "], [0], [dnl OFPST_AGGREGATE reply (OF1.5) (xid=0x4): packet_count=121 byte_count=19279 flow_count=3 ]) AT_CLEANUP AT_SETUP([OFPST_TABLE request - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "0110000c0000000100030000"], [0], [dnl OFPST_TABLE request (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPST_TABLE request - OF1.1]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "02120010000000020003000000000000"], [0], [dnl OFPST_TABLE request (OF1.1) (xid=0x2): ]) AT_CLEANUP AT_SETUP([OFPST_TABLE request - OF1.2]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "03120010000000020003000000000000"], [0], [dnl OFPST_TABLE request (OF1.2) (xid=0x2): ]) AT_CLEANUP AT_SETUP([OFPST_TABLE request - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "04120010000000020003000000000000"], [0], [dnl OFPST_TABLE request (OF1.3) (xid=0x2): ]) AT_CLEANUP AT_SETUP([OFPST_TABLE reply - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 4c 00 00 00 01 00 03 00 00 00 00 00 00 \ 63 6c 61 73 73 69 66 69 65 72 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 3f ff ff 00 10 00 00 00 00 00 0b 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_TABLE reply (xid=0x1): table 0 ("classifier"): active=11, lookup=0, matched=0 max_entries=1048576 matching: exact match or wildcard: in_port eth_{src,dst,type} vlan_{vid,pcp} ip_{src,dst} nw_{proto,tos} tcp_{src,dst} ]) AT_CLEANUP AT_SETUP([OFPST_TABLE reply - OF1.2]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) (echo 'OFPST_TABLE reply (OF1.2) (xid=0x2): table 0 ("classifier"): active=1, lookup=74614, matched=106024 config=controller max_entries=1000000 instructions (table miss and others): instructions: write_metadata goto_table Write-Actions and Apply-Actions features: supported on Set-Field: metadata in_port_oxm eth_{src,dst,type} vlan_{vid,pcp} mpls_{label,tc} ip_{src,dst} ipv6_{src,dst,label} nw_proto ip_dscp nw_ecn arp_{op,spa,tpa,sha,tha} tcp_{src,dst} udp_{src,dst} sctp_{src,dst} icmp_{type,code} icmpv6_{type,code} nd_{target,sll,tll} matching: exact match or wildcard: metadata in_port_oxm eth_{src,dst,type} vlan_{vid,pcp} mpls_{label,tc} ip_{src,dst} ipv6_{src,dst,label} nw_proto ip_dscp nw_ecn arp_{op,spa,tpa,sha,tha} tcp_{src,dst} udp_{src,dst} sctp_{src,dst} icmp_{type,code} icmpv6_{type,code} nd_{target,sll,tll} table 1 ("table1"): active=0, lookup=0, matched=0 (same features) ' for i in `seq 2 253`; do printf ' table %d ("table%d"): ditto\n' $i $i done echo ' table 254 ("table254"): active=2, lookup=0, matched=0 (same features)') > expout (pad32="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" pad7="00 00 00 00 00 00 00 " mid="00 00 00 0f ff ff ff ff \ 00 00 00 0f ff ff ff ff 00 00 00 00 00 00 00 00 \ 00 00 00 0f ff ff ff ff 00 00 00 0f ff ff ff ff \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 07 00 00 00 00 00 0f 42 40 " tail="00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" printf "03 13 7f 90 00 00 00 02 00 03 00 00 00 00 00 00 " x=0 printf "%02x $pad7" $x printf "%s$pad32" "classifier" | od -A n -t x1 -v -N 32 | tr '\n' ' ' printf "$mid 00 00 00 01 " printf "00 00 00 00 00 01 23 76 00 00 00 00 00 01 9e 28 " x=1 while test $x -lt 254; do printf "%02x $pad7" $x printf "%s$pad32" "table$x" | od -A n -t x1 -v -N 32 | tr '\n' ' ' printf "$mid 00 00 00 00 $tail " x=`expr $x + 1` done x=254 printf "%02x $pad7" $x printf "%s$pad32" "table$x" | od -A n -t x1 -v -N 32 | tr '\n' ' ' printf "$mid 00 00 00 02 $tail") > in AT_CHECK([ovs-ofctl ofp-print - < in], [0], [expout]) AT_CLEANUP AT_SETUP([OFPST_TABLE reply - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 04 13 00 40 00 00 00 01 00 03 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 02 00 \ 00 00 00 00 00 00 01 00 01 00 00 00 00 00 00 0c \ 00 00 00 00 00 00 02 01 00 00 00 00 00 00 01 01 \ "], [0], [dnl OFPST_TABLE reply (OF1.3) (xid=0x1): table 0: active=11, lookup=512, matched=256 table 1: active=12, lookup=513, matched=257 ]) AT_CLEANUP AT_SETUP([OFPST_PORT request - 1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 14 00 00 00 01 00 04 00 00 ff ff 00 00 \ 00 00 00 00 \ "], [0], [dnl OFPST_PORT request (xid=0x1): port_no=ANY ]) AT_CLEANUP AT_SETUP([OFPST_PORT request - 1.1]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 02 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \ ff ff ff ff 00 00 00 00 \ "], [0], [dnl OFPST_PORT request (OF1.1) (xid=0x2): port_no=ANY ]) AT_CLEANUP AT_SETUP([OFPST_PORT request - 1.2]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 03 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \ ff ff ff ff 00 00 00 00 \ "], [0], [dnl OFPST_PORT request (OF1.2) (xid=0x2): port_no=ANY ]) AT_CLEANUP AT_SETUP([OFPST_PORT request - 1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 04 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \ ff ff ff ff 00 00 00 00 \ "], [0], [dnl OFPST_PORT request (OF1.3) (xid=0x2): port_no=ANY ]) AT_CLEANUP AT_SETUP([OFPST_PORT reply - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 01 ac 00 00 00 01 00 04 00 00 00 03 00 00 \ 00 00 00 00 00 00 00 00 00 00 4d 20 00 00 00 00 \ 00 00 14 32 00 00 00 00 00 0f 60 4e 00 00 00 00 \ 00 05 71 bc 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 ff fe 00 00 00 00 00 00 00 00 00 00 \ 00 00 02 ac 00 00 00 00 00 00 01 f5 00 00 00 00 \ 00 01 0c 8c 00 00 00 00 00 00 db 1c 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 \ 00 00 00 00 00 00 00 00 00 00 06 be 00 00 00 00 \ 00 00 05 84 00 00 00 00 00 02 34 b4 00 00 00 00 \ 00 02 23 d4 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 \ 00 00 14 12 00 00 00 00 00 00 14 66 00 00 00 00 \ 00 04 a2 54 00 00 00 00 00 05 8a 1e 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_PORT reply (xid=0x1): 4 ports port 3: rx pkts=19744, bytes=1007694, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=5170, bytes=356796, drop=0, errs=0, coll=0 port LOCAL: rx pkts=684, bytes=68748, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=501, bytes=56092, drop=0, errs=0, coll=0 port 2: rx pkts=1726, bytes=144564, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=1412, bytes=140244, drop=0, errs=0, coll=0 port 1: rx pkts=5138, bytes=303700, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=5222, bytes=363038, drop=0, errs=0, coll=0 ]) AT_CLEANUP AT_SETUP([OFPST_PORT reply - OF1.2]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 03 13 01 48 00 00 00 02 00 04 00 00 00 00 00 00 \ 00 00 00 02 00 00 00 00 00 00 00 00 00 01 95 56 \ 00 00 00 00 00 00 00 88 00 00 00 00 02 5d 08 98 \ 00 00 00 00 00 00 2c f8 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 ff ff ff fe 00 00 00 00 \ 00 00 00 00 00 00 00 44 00 00 00 00 00 00 9d 2c \ 00 00 00 00 00 00 16 7c 00 00 00 00 01 1e 36 44 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 44 \ 00 00 00 00 00 00 9d 2c 00 00 00 00 00 00 16 7c \ 00 00 00 00 01 1e 36 44 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_PORT reply (OF1.2) (xid=0x2): 3 ports port 2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=136, bytes=11512, drop=0, errs=0, coll=0 port LOCAL: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0 port 1: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0 ]) AT_CLEANUP AT_SETUP([OFPST_PORT reply - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 04 13 01 60 00 00 00 02 00 04 00 00 00 00 00 00 \ 00 00 00 02 00 00 00 00 00 00 00 00 00 01 95 56 \ 00 00 00 00 00 00 00 88 00 00 00 00 02 5d 08 98 \ 00 00 00 00 00 00 2c f8 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 01 00 0f 42 40 \ ff ff ff fe 00 00 00 00 \ 00 00 00 00 00 00 00 44 00 00 00 00 00 00 9d 2c \ 00 00 00 00 00 00 16 7c 00 00 00 00 01 1e 36 44 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ ff ff ff ff ff ff ff ff \ 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 44 \ 00 00 00 00 00 00 9d 2c 00 00 00 00 00 00 16 7c \ 00 00 00 00 01 1e 36 44 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 07 54 d4 c0 \ "], [0], [dnl OFPST_PORT reply (OF1.3) (xid=0x2): 3 ports port 2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=136, bytes=11512, drop=0, errs=0, coll=0 duration=1.001s port LOCAL: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0 port 1: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0 duration=0.123s ]) AT_CLEANUP AT_SETUP([OFPST_PORT reply - OF1.4]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 05 13 00 88 00 00 00 02 00 04 00 00 00 00 00 00 \ 00 78 00 00 00 00 00 02 00 00 00 01 00 0f 42 40 \ 00 00 00 00 00 01 95 56 00 00 00 00 00 00 00 88 \ 00 00 00 00 02 5d 08 98 00 00 00 00 00 00 2c f8 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 fc \ 00 00 00 00 00 00 00 fd 00 00 00 00 00 00 00 fe \ 00 00 00 00 00 00 00 ff \ "], [0], [dnl OFPST_PORT reply (OF1.4) (xid=0x2): 1 ports port 2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=252, over=253, crc=254 tx pkts=136, bytes=11512, drop=0, errs=0, coll=255 duration=1.001s ]) AT_CLEANUP AT_SETUP([OFPST_QUEUE request - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 14 00 00 00 01 00 05 00 00 ff fc 00 00 \ ff ff ff ff \ "], [0], [dnl OFPST_QUEUE request (xid=0x1): port=ANY queue=ALL ]) AT_CLEANUP AT_SETUP([OFPST_QUEUE request - OF1.1]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 02 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \ ff ff ff ff ff ff ff ff \ "], [0], [dnl OFPST_QUEUE request (OF1.1) (xid=0x2): port=ANY queue=ALL ]) AT_CLEANUP AT_SETUP([OFPST_QUEUE request - OF1.2]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 03 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \ ff ff ff ff ff ff ff ff \ "], [0], [dnl OFPST_QUEUE request (OF1.2) (xid=0x2): port=ANY queue=ALL ]) AT_CLEANUP AT_SETUP([OFPST_QUEUE request - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 04 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \ ff ff ff ff ff ff ff ff \ "], [0], [dnl OFPST_QUEUE request (OF1.3) (xid=0x2): port=ANY queue=ALL ]) AT_CLEANUP AT_SETUP([OFPST_QUEUE reply - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 cc 00 00 00 01 00 05 00 00 00 03 00 00 \ 00 00 00 01 00 00 00 00 00 00 01 2e 00 00 00 00 \ 00 00 00 01 00 00 00 00 00 00 00 00 00 03 00 00 \ 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 \ 00 00 00 01 00 00 00 00 00 00 08 34 00 00 00 00 \ 00 00 00 14 00 00 00 00 00 00 00 00 00 02 00 00 \ 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 \ 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 \ 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_QUEUE reply (xid=0x1): 6 queues port 3 queue 1: bytes=302, pkts=1, errors=0, duration=? port 3 queue 2: bytes=0, pkts=0, errors=0, duration=? port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=? port 2 queue 2: bytes=0, pkts=0, errors=0, duration=? port 1 queue 1: bytes=0, pkts=0, errors=0, duration=? port 1 queue 2: bytes=0, pkts=0, errors=0, duration=? ]) AT_CLEANUP AT_SETUP([OFPST_QUEUE reply - OF1.1]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 02 13 00 d0 00 00 00 01 00 05 00 00 00 00 00 00 \ 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \ 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \ 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_QUEUE reply (OF1.1) (xid=0x1): 6 queues port 3 queue 1: bytes=302, pkts=1, errors=0, duration=? port 3 queue 2: bytes=0, pkts=0, errors=0, duration=? port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=? port 2 queue 2: bytes=0, pkts=0, errors=0, duration=? port 1 queue 1: bytes=0, pkts=0, errors=0, duration=? port 1 queue 2: bytes=0, pkts=0, errors=0, duration=? ]) AT_CLEANUP AT_SETUP([OFPST_QUEUE reply - OF1.2]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 03 13 00 d0 00 00 00 01 00 05 00 00 00 00 00 00 \ 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \ 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \ 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_QUEUE reply (OF1.2) (xid=0x1): 6 queues port 3 queue 1: bytes=302, pkts=1, errors=0, duration=? port 3 queue 2: bytes=0, pkts=0, errors=0, duration=? port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=? port 2 queue 2: bytes=0, pkts=0, errors=0, duration=? port 1 queue 1: bytes=0, pkts=0, errors=0, duration=? port 1 queue 2: bytes=0, pkts=0, errors=0, duration=? ]) AT_CLEANUP AT_SETUP([OFPST_QUEUE reply - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 04 13 01 00 00 00 00 01 00 05 00 00 00 00 00 00 \ 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 64 1d cd 65 00 \ 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 64 1d cd 65 00 \ 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \ 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \ 00 00 00 64 1d cd 65 00 \ 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 64 1d cd 65 00 \ 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 64 1d cd 65 00 \ 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ ff ff ff ff ff ff ff ff \ "], [0], [dnl OFPST_QUEUE reply (OF1.3) (xid=0x1): 6 queues port 3 queue 1: bytes=302, pkts=1, errors=0, duration=100.500s port 3 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=100.500s port 2 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s port 1 queue 1: bytes=0, pkts=0, errors=0, duration=100.500s port 1 queue 2: bytes=0, pkts=0, errors=0, duration=? ]) AT_CLEANUP AT_SETUP([OFPST_QUEUE reply - OF1.4]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 05 13 01 30 00 00 00 01 00 05 00 00 00 00 00 00 \ 00 30 00 00 00 00 00 00 \ 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \ 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \ 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \ 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \ 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \ 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ ff ff ff ff ff ff ff ff \ "], [0], [dnl OFPST_QUEUE reply (OF1.4) (xid=0x1): 6 queues port 3 queue 1: bytes=302, pkts=1, errors=0, duration=100.500s port 3 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=100.500s port 2 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s port 1 queue 1: bytes=0, pkts=0, errors=0, duration=100.500s port 1 queue 2: bytes=0, pkts=0, errors=0, duration=? ]) AT_CLEANUP AT_SETUP([NXST_GROUP request - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 07 00 00 00 00 \ ff ff ff ff 00 00 00 00 \ "], [0], [NXST_GROUP request (xid=0x4): group_id=ANY ]) AT_CLEANUP AT_SETUP([OFPST_GROUP request - OF1.1]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 02 12 00 18 00 00 00 02 00 06 00 00 00 00 00 00 \ ff ff ff ff 00 00 00 00 \ "], [0], [OFPST_GROUP request (OF1.1) (xid=0x2): group_id=ANY ]) AT_CLEANUP AT_SETUP([NXST_GROUP reply - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 b8 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 07 00 00 00 00 \ 00 58 00 00 87 65 43 21 00 00 00 04 00 00 00 00 \ 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \ 00 00 00 12 1d cd 65 00 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ 00 00 00 00 00 00 66 66 00 00 00 00 00 33 33 33 \ 00 48 00 00 00 00 00 05 00 00 00 02 00 00 00 00 \ 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \ 00 00 00 10 1d cd 65 00 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ "], [0], [dnl NXST_GROUP reply (xid=0x4): group_id=2271560481,duration=18.500s,ref_count=4,packet_count=34952,byte_count=7829367,bucket0:packet_count=4369,byte_count=2236962,bucket1:packet_count=4369,byte_count=2236962,bucket2:packet_count=26214,byte_count=3355443 group_id=5,duration=16.500s,ref_count=2,packet_count=34952,byte_count=7829367,bucket0:packet_count=4369,byte_count=2236962,bucket1:packet_count=4369,byte_count=2236962 ]) AT_CLEANUP AT_SETUP([OFPST_GROUP reply - OF1.1]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 02 13 00 a0 00 00 00 02 00 06 00 00 00 00 00 00 \ 00 50 00 00 87 65 43 21 00 00 00 04 00 00 00 00 \ 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ 00 00 00 00 00 00 66 66 00 00 00 00 00 33 33 33 \ 00 40 00 00 00 00 00 05 00 00 00 02 00 00 00 00 \ 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ "], [0], [dnl OFPST_GROUP reply (OF1.1) (xid=0x2): group_id=2271560481,ref_count=4,packet_count=34952,byte_count=7829367,bucket0:packet_count=4369,byte_count=2236962,bucket1:packet_count=4369,byte_count=2236962,bucket2:packet_count=26214,byte_count=3355443 group_id=5,ref_count=2,packet_count=34952,byte_count=7829367,bucket0:packet_count=4369,byte_count=2236962,bucket1:packet_count=4369,byte_count=2236962 ]) AT_CLEANUP AT_SETUP([OFPST_GROUP reply - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 04 13 00 b0 00 00 00 02 00 06 00 00 00 00 00 00 \ 00 58 00 00 87 65 43 21 00 00 00 04 00 00 00 00 \ 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \ 00 00 00 12 1d cd 65 00 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ 00 00 00 00 00 00 66 66 00 00 00 00 00 33 33 33 \ 00 48 00 00 00 00 00 05 00 00 00 02 00 00 00 00 \ 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \ 00 00 00 10 1d cd 65 00 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \ "], [0], [dnl OFPST_GROUP reply (OF1.3) (xid=0x2): group_id=2271560481,duration=18.500s,ref_count=4,packet_count=34952,byte_count=7829367,bucket0:packet_count=4369,byte_count=2236962,bucket1:packet_count=4369,byte_count=2236962,bucket2:packet_count=26214,byte_count=3355443 group_id=5,duration=16.500s,ref_count=2,packet_count=34952,byte_count=7829367,bucket0:packet_count=4369,byte_count=2236962,bucket1:packet_count=4369,byte_count=2236962 ]) AT_CLEANUP AT_SETUP([NXST_GROUP_DESC request - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 08 00 00 00 00 \ 00 00 00 01 00 00 00 00 "], [0], [NXST_GROUP_DESC request (xid=0x4): group_id=1 ]) AT_CLEANUP AT_SETUP([OFPST_GROUP_DESC request - OF1.1]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 02 12 00 10 00 00 00 02 00 07 00 00 00 00 00 00 \ "], [0], [OFPST_GROUP_DESC request (OF1.1) (xid=0x2): group_id=ALL ]) AT_CLEANUP AT_SETUP([OFPST_GROUP_DESC request - OF1.5]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 06 12 00 18 00 00 00 02 00 07 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 00 "], [0], [OFPST_GROUP_DESC request (OF1.5) (xid=0x2): group_id=1 ]) AT_CLEANUP AT_SETUP([NXST_GROUP_DESC reply - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 c8 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 08 00 00 00 00 \ 00 b0 01 00 00 00 20 00 00 60 00 00 00 00 00 00 \ 00 20 00 08 00 00 00 00 00 00 00 08 00 01 00 00 \ 00 00 00 08 00 64 00 00 \ 00 01 00 08 00 00 00 01 \ 00 20 00 08 00 00 00 01 00 00 00 08 00 02 00 00 \ 00 00 00 08 00 c8 00 00 \ 00 01 00 08 00 00 00 02 \ 00 20 00 08 00 00 00 02 00 00 00 08 00 03 00 00 \ 00 00 00 08 00 c8 00 00 \ 00 01 00 08 00 00 00 03 \ ff ff 00 3b 00 00 15 40 00 00 00 01 00 00 00 00 \ 68 61 73 68 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 \ 80 00 18 04 ff ff ff 00 80 00 1a 02 ff ff 80 00 \ 14 01 ff 00 00 00 00 00 \ "], [0], [dnl NXST_GROUP_DESC reply (xid=0x4): group_id=8192,type=select,selection_method=hash,fields(ip_dst=255.255.255.0,nw_proto,tcp_src),bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3 ]) AT_CLEANUP AT_SETUP([OFPST_GROUP_DESC reply - OF1.1]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 02 13 00 78 00 00 00 02 00 07 00 00 00 00 00 00 \ 00 68 01 00 00 00 20 00 \ 00 20 00 64 00 00 00 01 ff ff ff ff 00 00 00 00 \ 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 20 00 c8 00 00 00 02 ff ff ff ff 00 00 00 00 \ 00 00 00 10 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 20 00 c8 00 00 00 03 ff ff ff ff 00 00 00 00 \ 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_GROUP_DESC reply (OF1.1) (xid=0x2): group_id=8192,type=select,bucket=weight:100,watch_port:1,actions=output:1,bucket=weight:200,watch_port:2,actions=output:2,bucket=weight:200,watch_port:3,actions=output:3 ]) AT_CLEANUP AT_SETUP([OFPST_GROUP_DESC reply - OF1.5]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 06 13 00 d8 00 00 00 02 00 07 00 00 00 00 00 00 \ 00 c8 01 00 00 00 20 00 00 78 00 00 00 00 00 00 \ 00 28 00 10 00 00 00 00 00 00 00 10 00 00 00 01 \ 00 00 00 00 00 00 00 00 00 00 00 08 00 64 00 00 \ 00 01 00 08 00 00 00 01 \ 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \ 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \ 00 01 00 08 00 00 00 02 \ 00 28 00 10 00 00 00 02 00 00 00 10 00 00 00 03 \ 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \ 00 01 00 08 00 00 00 03 \ ff ff 00 3b 00 00 15 40 00 00 00 01 00 00 00 00 \ 68 61 73 68 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 \ 80 00 18 04 ff ff ff 00 80 00 1a 02 ff ff 80 00 \ 14 01 ff 00 00 00 00 00 \ "], [0], [dnl OFPST_GROUP_DESC reply (OF1.5) (xid=0x2): group_id=8192,type=select,selection_method=hash,fields(ip_dst=255.255.255.0,nw_proto,tcp_src),bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3 ]) AT_CLEANUP AT_SETUP([NXST_GROUP_FEATURES request]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 18 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 09 00 00 00 00 \ "], [0], [NXST_GROUP_FEATURES request (xid=0x4): ]) AT_CLEANUP AT_SETUP([OFPST_GROUP_FEATURES request]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 03 12 00 10 00 00 00 02 00 08 00 00 00 00 00 00 \ "], [0], [OFPST_GROUP_FEATURES request (OF1.2) (xid=0x2): ]) AT_CLEANUP AT_SETUP([NXST_GROUP_FEATURES reply]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 09 00 00 00 00 \ 00 00 00 0f 00 00 00 0f \ 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 \ 00 00 00 01 00 00 00 07 00 00 00 0f 00 00 00 1f \ "], [0], [dnl NXST_GROUP_FEATURES reply (xid=0x4): Group table: Types: 0xf Capabilities: 0xf all group: max_groups=0x1 actions: output select group: max_groups=0x2 actions: output set_vlan_vid set_vlan_pcp indirect group: max_groups=0x3 actions: output set_vlan_vid set_vlan_pcp strip_vlan fast failover group: max_groups=0x4 actions: output set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src ]) AT_CLEANUP AT_SETUP([OFPST_GROUP_FEATURES reply]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 03 13 00 38 00 00 00 02 00 08 00 00 00 00 00 00 \ 00 00 00 0f 00 00 00 0f \ 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 \ 00 00 00 01 00 02 00 01 00 06 00 01 00 0e 00 01 \ "], [0], [dnl OFPST_GROUP_FEATURES reply (OF1.2) (xid=0x2): Group table: Types: 0xf Capabilities: 0xf all group: max_groups=0x1 actions: output select group: max_groups=0x2 actions: output push_vlan indirect group: max_groups=0x3 actions: output strip_vlan push_vlan fast failover group: max_groups=0x4 actions: output strip_vlan push_vlan push_mpls ]) AT_CLEANUP AT_SETUP([OFPST_PORT_DESC request - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "0110000c00000001000d0000"], [0], [dnl OFPST_PORT_DESC request (xid=0x1): port=ANY ]) AT_CLEANUP AT_SETUP([OFPST_PORT_DESC request - OF1.5]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 06 12 00 18 00 00 00 02 00 0d 00 00 00 00 00 00 \ 00 00 00 05 00 00 00 00"], [0], [dnl OFPST_PORT_DESC request (OF1.5) (xid=0x2): port=5 ]) AT_CLEANUP AT_SETUP([OFPST_PORT_DESC reply - OF1.0]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 3c 00 00 00 00 00 0d 00 00 00 03 50 54 \ 00 00 00 01 65 74 68 30 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 00 00 01 00 00 02 08 \ 00 00 02 8f 00 00 02 8f 00 00 00 00 \ "], [0], [dnl OFPST_PORT_DESC reply (xid=0x0): 3(eth0): addr:50:54:00:00:00:01 config: PORT_DOWN state: LINK_DOWN current: 100MB-FD AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG speed: 100 Mbps now, 100 Mbps max ]) AT_CLEANUP AT_SETUP([OFPST_PORT_DESC reply - OF1.4]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 05 13 00 58 00 00 00 02 00 0d 00 00 00 00 00 00 \ 00 00 00 03 00 48 00 00 50 54 00 00 00 01 00 00 \ 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 \ 00 00 20 08 00 00 28 0f 00 00 28 0f 00 00 00 00 \ 00 01 86 a0 00 01 86 a0 \ "], [0], [dnl OFPST_PORT_DESC reply (OF1.4) (xid=0x2): 3(eth0): addr:50:54:00:00:00:01 config: 0 state: 0 current: 100MB-FD AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG speed: 100 Mbps now, 100 Mbps max ]) AT_CLEANUP AT_SETUP([OFPT_METER_MOD request - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 1d 00 20 00 00 00 02 00 00 00 0d 00 00 00 05 \ 00 01 00 10 00 00 04 00 00 00 00 80 00 00 00 00 \ "], [0], [dnl OFPT_METER_MOD (OF1.3) (xid=0x2): ADD meter=5 kbps burst stats bands= type=drop rate=1024 burst_size=128 ]) AT_CLEANUP AT_SETUP([OFPT_METER_MOD request - bad band - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 1d 00 20 85 01 d7 38 00 00 00 00 00 00 00 01 00 05 00 10 00 00 00 02 00 00 00 02 00 00 00 00 "], [0], [dnl OFPT_METER_MOD (OF1.3) (xid=0x8501d738): ***decode error: OFPMMFC_BAD_BAND*** 00000000 04 1d 00 20 85 01 d7 38-00 00 00 00 00 00 00 01 |... ...8........| 00000010 00 05 00 10 00 00 00 02-00 00 00 02 00 00 00 00 |................| ]) AT_CLEANUP AT_SETUP([OFPT_METER_MOD request - bad command - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 1d 00 10 28 a6 26 52 00 08 00 00 00 00 00 01 "], [0], [dnl OFPT_METER_MOD (OF1.3) (xid=0x28a62652): ***decode error: OFPMMFC_BAD_COMMAND*** 00000000 04 1d 00 10 28 a6 26 52-00 08 00 00 00 00 00 01 |....@{:@.&R........| ]) AT_CLEANUP AT_SETUP([OFPT_METER_MOD request - bad flags - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 1d 00 20 82 b3 a1 a4 00 00 00 03 00 00 00 01 \ 00 01 00 10 00 00 00 02 00 00 00 02 00 00 00 00 \ "], [0], [dnl OFPT_METER_MOD (OF1.3) (xid=0x82b3a1a4): ***decode error: OFPMMFC_BAD_FLAGS*** 00000000 04 1d 00 20 82 b3 a1 a4-00 00 00 03 00 00 00 01 |... ............| 00000010 00 01 00 10 00 00 00 02-00 00 00 02 00 00 00 00 |................| ]) AT_CLEANUP AT_SETUP([OFPST_METER request - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "041200180000000200090000000000000000000100000000"], [0], [dnl OFPST_METER request (OF1.3) (xid=0x2): meter=1 ]) AT_CLEANUP AT_SETUP([OFPST_METER_CONFIG request - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "0412001800000002000a0000000000000000000100000000"], [0], [dnl OFPST_METER_CONFIG request (OF1.3) (xid=0x2): meter=1 ]) AT_CLEANUP AT_SETUP([OFPST_METER_FEATURES request - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "0412001000000002000b000000000000"], [0], [dnl OFPST_METER_FEATURES request (OF1.3) (xid=0x2): ]) AT_CLEANUP AT_SETUP([OFPST_METER_FEATURES reply - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 04 13 00 20 00 00 00 02 00 0b 00 00 00 00 00 00 \ 00 01 00 00 00 00 00 06 00 00 00 0F 10 02 00 00 \ "], [0], [dnl OFPST_METER_FEATURES reply (OF1.3) (xid=0x2): max_meter:65536 max_bands:16 max_color:2 band_types: drop dscp_remark capabilities: kbps pktps burst stats ]) AT_CLEANUP AT_SETUP([OFPST_METER_CONFIG reply - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 04 13 00 50 00 00 00 02 00 0a 00 00 00 00 00 00 \ 00 28 00 05 00 00 00 01 \ 00 01 00 10 00 01 00 00 00 00 05 00 00 00 00 00 \ 00 02 00 10 00 10 00 00 00 00 f0 00 00 00 00 00 \ 00 18 00 09 00 00 00 02 \ 00 01 00 10 00 02 00 00 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPST_METER_CONFIG reply (OF1.3) (xid=0x2): meter=1 kbps burst bands= type=drop rate=65536 burst_size=1280 type=dscp_remark rate=1048576 burst_size=61440 prec_level=0 meter=2 kbps stats bands= type=drop rate=131072 ]) AT_CLEANUP AT_SETUP([OFPST_METER reply - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 04 13 00 90 00 00 00 02 00 09 00 00 00 00 00 00 \ 00 00 00 01 00 48 00 00 00 00 00 00 00 00 00 05 \ 00 00 00 00 00 00 10 00 00 00 00 00 00 02 30 00 \ 00 00 01 8a 0a 6e 23 44 \ 00 00 00 00 00 00 00 7e 00 00 00 00 00 00 34 33 \ 00 00 00 00 00 00 00 e7 00 00 00 00 00 00 94 2e \ 00 00 00 02 00 38 00 00 00 00 00 00 00 00 00 02 \ 00 00 00 00 00 00 02 00 00 00 00 00 00 00 30 00 \ 00 00 01 87 0a 23 6e 44 \ 00 00 00 00 00 00 00 2a 00 00 00 00 00 00 04 33 \ "], [0], [dnl OFPST_METER reply (OF1.3) (xid=0x2): meter:1 flow_count:5 packet_in_count:4096 byte_in_count:143360 duration:394.174990148s bands: 0: packet_count:126 byte_count:13363 1: packet_count:231 byte_count:37934 meter:2 flow_count:2 packet_in_count:512 byte_in_count:12288 duration:391.170094148s bands: 0: packet_count:42 byte_count:1075 ]) AT_CLEANUP AT_SETUP([OFPST_TABLE_FEATURES request - OF1.3]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 04 13 09 40 00 00 00 d5 00 0c 00 01 00 00 00 00 \ 09 30 00 00 00 00 00 00 74 61 62 6c 65 30 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff \ ff ff ff ff ff ff ff ff 00 00 00 03 00 0f 42 40 \ 00 00 00 2c 00 01 00 08 00 00 00 00 00 02 00 08 \ 00 00 00 00 00 03 00 08 00 00 00 00 00 04 00 08 \ 00 00 00 00 00 05 00 08 00 00 00 00 00 00 00 00 \ 00 01 00 2c 00 01 00 08 00 00 00 00 00 02 00 08 \ 00 00 00 00 00 03 00 08 00 00 00 00 00 04 00 08 \ 00 00 00 00 00 05 00 08 00 00 00 00 00 00 00 00 \ 00 02 01 01 01 02 03 04 05 06 07 08 09 0a 0b 0c \ 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c \ 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c \ 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c \ 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c \ 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c \ 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c \ 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c \ 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c \ 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c \ 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac \ ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc \ bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc \ cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc \ dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec \ ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc \ fd 00 00 00 00 00 00 00 00 03 01 01 01 02 03 04 \ 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 \ 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 \ 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 \ 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 \ 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 \ 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 \ 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 \ 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 \ 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 \ 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 \ a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 \ b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 \ c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 \ d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 \ e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 \ f5 f6 f7 f8 f9 fa fb fc fd 00 00 00 00 00 00 00 \ 00 04 00 84 00 00 00 08 00 00 00 00 00 0b 00 08 \ 00 00 00 00 00 0c 00 08 00 00 00 00 00 0f 00 08 \ 00 00 00 00 00 10 00 08 00 00 00 00 00 11 00 08 \ 00 00 00 00 00 12 00 08 00 00 00 00 00 13 00 08 \ 00 00 00 00 00 14 00 08 00 00 00 00 00 15 00 08 \ 00 00 00 00 00 16 00 08 00 00 00 00 00 17 00 08 \ 00 00 00 00 00 18 00 08 00 00 00 00 00 19 00 08 \ 00 00 00 00 00 1a 00 08 00 00 00 00 00 1b 00 08 \ 00 00 00 00 00 00 00 00 00 05 00 84 00 00 00 08 \ 00 00 00 00 00 0b 00 08 00 00 00 00 00 0c 00 08 \ 00 00 00 00 00 0f 00 08 00 00 00 00 00 10 00 08 \ 00 00 00 00 00 11 00 08 00 00 00 00 00 12 00 08 \ 00 00 00 00 00 13 00 08 00 00 00 00 00 14 00 08 \ 00 00 00 00 00 15 00 08 00 00 00 00 00 16 00 08 \ 00 00 00 00 00 17 00 08 00 00 00 00 00 18 00 08 \ 00 00 00 00 00 19 00 08 00 00 00 00 00 1a 00 08 \ 00 00 00 00 00 1b 00 08 00 00 00 00 00 00 00 00 \ 00 06 00 84 00 00 00 08 00 00 00 00 00 0b 00 08 \ 00 00 00 00 00 0c 00 08 00 00 00 00 00 0f 00 08 \ 00 00 00 00 00 10 00 08 00 00 00 00 00 11 00 08 \ 00 00 00 00 00 12 00 08 00 00 00 00 00 13 00 08 \ 00 00 00 00 00 14 00 08 00 00 00 00 00 15 00 08 \ 00 00 00 00 00 16 00 08 00 00 00 00 00 17 00 08 \ 00 00 00 00 00 18 00 08 00 00 00 00 00 19 00 08 \ 00 00 00 00 00 1a 00 08 00 00 00 00 00 1b 00 08 \ 00 00 00 00 00 00 00 00 00 07 00 84 00 00 00 08 \ 00 00 00 00 00 0b 00 08 00 00 00 00 00 0c 00 08 \ 00 00 00 00 00 0f 00 08 00 00 00 00 00 10 00 08 \ 00 00 00 00 00 11 00 08 00 00 00 00 00 12 00 08 \ 00 00 00 00 00 13 00 08 00 00 00 00 00 14 00 08 \ 00 00 00 00 00 15 00 08 00 00 00 00 00 16 00 08 \ 00 00 00 00 00 17 00 08 00 00 00 00 00 18 00 08 \ 00 00 00 00 00 19 00 08 00 00 00 00 00 1a 00 08 \ 00 00 00 00 00 1b 00 08 00 00 00 00 00 00 00 00 \ 00 08 00 dc 80 00 4c 08 00 01 3e 04 00 01 40 04 \ 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \ 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \ 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \ 80 00 08 06 80 00 06 06 80 00 0a 02 00 00 08 02 \ 80 00 0c 02 80 00 0e 01 80 00 44 04 80 00 46 01 \ 80 00 48 01 80 00 16 04 80 00 18 04 80 00 34 10 \ 80 00 36 10 80 00 38 04 80 00 14 01 00 00 0a 01 \ 80 00 10 01 80 00 12 01 00 01 3a 01 00 01 34 01 \ 80 00 2a 02 80 00 2c 04 80 00 2e 04 80 00 30 06 \ 80 00 32 06 80 00 1a 02 80 00 1c 02 00 01 44 02 \ 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \ 80 00 26 01 80 00 28 01 80 00 3a 01 80 00 3c 01 \ 80 00 3e 10 80 00 40 06 80 00 42 06 00 00 00 00 \ 00 0a 00 dc 80 00 4c 08 00 01 3e 04 00 01 40 04 \ 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \ 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \ 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \ 80 00 08 06 80 00 06 06 80 00 0a 02 00 00 08 02 \ 80 00 0c 02 80 00 0e 01 80 00 44 04 80 00 46 01 \ 80 00 48 01 80 00 16 04 80 00 18 04 80 00 34 10 \ 80 00 36 10 80 00 38 04 80 00 14 01 00 00 0a 01 \ 80 00 10 01 80 00 12 01 00 01 3a 01 00 01 34 01 \ 80 00 2a 02 80 00 2c 04 80 00 2e 04 80 00 30 06 \ 80 00 32 06 80 00 1a 02 80 00 1c 02 00 01 44 02 \ 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \ 80 00 26 01 80 00 28 01 80 00 3a 01 80 00 3c 01 \ 80 00 3e 10 80 00 40 06 80 00 42 06 00 00 00 00 \ 00 0c 00 a8 80 00 4c 08 00 01 3e 04 00 01 40 04 \ 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \ 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \ 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \ 80 00 08 06 80 00 06 06 00 00 08 02 80 00 0c 02 \ 80 00 0e 01 80 00 44 04 80 00 46 01 80 00 16 04 \ 80 00 18 04 80 00 34 10 80 00 36 10 00 00 0a 01 \ 80 00 10 01 80 00 12 01 00 01 3a 01 80 00 2a 02 \ 80 00 2c 04 80 00 2e 04 80 00 30 06 80 00 32 06 \ 80 00 1a 02 80 00 1c 02 80 00 1e 02 80 00 20 02 \ 80 00 22 02 80 00 24 02 00 0d 00 a8 80 00 4c 08 \ 00 01 3e 04 00 01 40 04 80 00 04 08 00 00 00 02 \ 80 00 00 04 00 01 42 04 00 01 00 04 00 01 02 04 \ 00 01 04 04 00 01 06 04 00 01 08 04 00 01 0a 04 \ 00 01 0c 04 00 01 0e 04 80 00 08 06 80 00 06 06 \ 00 00 08 02 80 00 0c 02 80 00 0e 01 80 00 44 04 \ 80 00 46 01 80 00 16 04 80 00 18 04 80 00 34 10 \ 80 00 36 10 00 00 0a 01 80 00 10 01 80 00 12 01 \ 00 01 3a 01 80 00 2a 02 80 00 2c 04 80 00 2e 04 \ 80 00 30 06 80 00 32 06 80 00 1a 02 80 00 1c 02 \ 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \ 00 0e 00 a8 80 00 4c 08 00 01 3e 04 00 01 40 04 \ 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \ 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \ 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \ 80 00 08 06 80 00 06 06 00 00 08 02 80 00 0c 02 \ 80 00 0e 01 80 00 44 04 80 00 46 01 80 00 16 04 \ 80 00 18 04 80 00 34 10 80 00 36 10 00 00 0a 01 \ 80 00 10 01 80 00 12 01 00 01 3a 01 80 00 2a 02 \ 80 00 2c 04 80 00 2e 04 80 00 30 06 80 00 32 06 \ 80 00 1a 02 80 00 1c 02 80 00 1e 02 80 00 20 02 \ 80 00 22 02 80 00 24 02 00 0f 00 a8 80 00 4c 08 \ 00 01 3e 04 00 01 40 04 80 00 04 08 00 00 00 02 \ 80 00 00 04 00 01 42 04 00 01 00 04 00 01 02 04 \ 00 01 04 04 00 01 06 04 00 01 08 04 00 01 0a 04 \ 00 01 0c 04 00 01 0e 04 80 00 08 06 80 00 06 06 \ 00 00 08 02 80 00 0c 02 80 00 0e 01 80 00 44 04 \ 80 00 46 01 80 00 16 04 80 00 18 04 80 00 34 10 \ 80 00 36 10 00 00 0a 01 80 00 10 01 80 00 12 01 \ 00 01 3a 01 80 00 2a 02 80 00 2c 04 80 00 2e 04 \ 80 00 30 06 80 00 32 06 80 00 1a 02 80 00 1c 02 \ 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \ "], [0], [OFPST_TABLE_FEATURES reply (OF1.3) (xid=0xd5): flags=[[more]] table 0 ("table0"): metadata: match=0xffffffffffffffff write=0xffffffffffffffff max_entries=1000000 instructions (table miss and others): next tables: 1-253 instructions: apply_actions clear_actions write_actions write_metadata goto_table Write-Actions and Apply-Actions features: actions: output group set_field strip_vlan push_vlan mod_nw_ttl dec_ttl set_mpls_ttl dec_mpls_ttl push_mpls pop_mpls set_queue supported on Set-Field: tun_{id,src,dst} metadata in_{port,port_oxm} pkt_mark reg0...reg7 eth_{src,dst} vlan_{tci,vid,pcp} mpls_{label,tc} ip_{src,dst} ipv6_{src,dst} nw_tos ip_dscp nw_{ecn,ttl} arp_{op,spa,tpa,sha,tha} tcp_{src,dst} udp_{src,dst} sctp_{src,dst} matching: exact match or wildcard: tun_{id,src,dst} metadata in_{port,port_oxm} pkt_mark reg0...reg7 eth_{src,dst,type} vlan_{tci,vid,pcp} mpls_{label,tc,bos} ip_{src,dst} ipv6_{src,dst,label} nw_{proto,tos} ip_dscp nw_{ecn,ttl} ip_frag arp_{op,spa,tpa,sha,tha} tcp_{src,dst,flags} udp_{src,dst} sctp_{src,dst} icmp_{type,code} icmpv6_{type,code} nd_{target,sll,tll} ]) AT_CLEANUP AT_SETUP([OFPT_BARRIER_REQUEST - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '01 12 00 08 00 00 00 01'], [0], [dnl OFPT_BARRIER_REQUEST (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPT_BARRIER_REQUEST - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '02 14 00 08 00 00 00 01'], [0], [dnl OFPT_BARRIER_REQUEST (OF1.1) (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPT_BARRIER_REQUEST - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '03 14 00 08 00 00 00 01'], [0], [dnl OFPT_BARRIER_REQUEST (OF1.2) (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPT_BARRIER_REQUEST - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '04 14 00 08 00 00 00 01'], [0], [dnl OFPT_BARRIER_REQUEST (OF1.3) (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPT_BARRIER_REPLY - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '01 13 00 08 00 00 00 01'], [0], [dnl OFPT_BARRIER_REPLY (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPT_BARRIER_REPLY - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '02 15 00 08 00 00 00 01'], [0], [dnl OFPT_BARRIER_REPLY (OF1.1) (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPT_BARRIER_REPLY - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '03 15 00 08 00 00 00 01'], [0], [dnl OFPT_BARRIER_REPLY (OF1.2) (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPT_BARRIER_REPLY - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print '04 15 00 08 00 00 00 01'], [0], [dnl OFPT_BARRIER_REPLY (OF1.3) (xid=0x1): ]) AT_CLEANUP AT_SETUP([OFPT_QUEUE_GET_CONFIG_REQUEST - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "01 14 00 0c 00 00 00 01 00 01 00 00"], [0], [dnl OFPT_QUEUE_GET_CONFIG_REQUEST (xid=0x1): port=1 ]) AT_CLEANUP AT_SETUP([OFPT_QUEUE_GET_CONFIG_REQUEST - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 16 00 10 00 00 00 01 00 00 00 01 00 00 00 00"], [0], [dnl OFPT_QUEUE_GET_CONFIG_REQUEST (OF1.2) (xid=0x1): port=1 ]) AT_CLEANUP AT_SETUP([OFPST_QUEUE_DESC request - OF1.4]) AT_KEYWORDS([ofp-print OFPT_QUEUE_GET_CONFIG_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 05 12 00 18 00 00 00 01 00 0f 00 00 00 00 00 00 \ 00 00 00 01 00 00 00 02"], [0], [OFPST_QUEUE_DESC request (OF1.4) (xid=0x1): port=1 queue=2 ]) AT_CLEANUP AT_SETUP([OFPT_QUEUE_GET_CONFIG_REPLY - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "01 15 00 40 00 00 00 01 \ 00 01 00 00 00 00 00 00 \ 00 00 55 55 00 28 00 00 \ 00 01 00 10 00 00 00 00 01 f4 00 00 00 00 00 00 \ 00 02 00 10 00 00 00 00 02 ee 00 00 00 00 00 00 \ 00 00 44 44 00 08 00 00 \ "], [0], [dnl OFPT_QUEUE_GET_CONFIG_REPLY (xid=0x1): port=1 queue 17476: queue 21845: min_rate:50.0% max_rate:75.0% ]) AT_CLEANUP AT_SETUP([OFPT_QUEUE_GET_CONFIG_REPLY - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "02 17 00 40 00 00 00 01 \ 00 00 00 01 00 00 00 00 \ 00 00 55 55 00 28 00 00 \ 00 01 00 10 00 00 00 00 01 f4 00 00 00 00 00 00 \ 00 02 00 10 00 00 00 00 02 ee 00 00 00 00 00 00 \ 00 00 44 44 00 08 00 00 \ "], [0], [dnl OFPT_QUEUE_GET_CONFIG_REPLY (OF1.1) (xid=0x1): port=1 queue 17476: queue 21845: min_rate:50.0% max_rate:75.0% ]) AT_CLEANUP AT_SETUP([OFPT_QUEUE_GET_CONFIG_REPLY - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "03 17 00 50 00 00 00 01 \ 00 00 00 01 00 00 00 00 \ 00 00 55 55 00 00 00 01 00 30 00 00 00 00 00 00 \ 00 01 00 10 00 00 00 00 01 f4 00 00 00 00 00 00 \ 00 02 00 10 00 00 00 00 02 ee 00 00 00 00 00 00 \ 00 00 44 44 00 08 00 01 00 10 00 00 00 00 00 00 \ "], [0], [dnl OFPT_QUEUE_GET_CONFIG_REPLY (OF1.2) (xid=0x1): port=1 queue 17476: queue 21845: min_rate:50.0% max_rate:75.0% ]) AT_CLEANUP AT_SETUP([OFPT_QUEUE_GET_CONFIG_REPLY - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "04 17 00 50 00 00 00 01 \ 00 00 00 01 00 00 00 00 \ 00 00 55 55 00 00 00 01 00 30 00 00 00 00 00 00 \ 00 01 00 10 00 00 00 00 01 f4 00 00 00 00 00 00 \ 00 02 00 10 00 00 00 00 02 ee 00 00 00 00 00 00 \ 00 00 44 44 00 08 00 01 00 10 00 00 00 00 00 00 \ "], [0], [dnl OFPT_QUEUE_GET_CONFIG_REPLY (OF1.3) (xid=0x1): port=1 queue 17476: queue 21845: min_rate:50.0% max_rate:75.0% ]) AT_CLEANUP # OF1.4 renamed OFPT_QUEUE_GET_CONFIG_REPLY to OFPST_QUEUE_DESC. AT_SETUP([OFPST_QUEUE_DESC reply - OF1.4]) AT_KEYWORDS([ofp-print OFPT_QUEUE_GET_CONFIG_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 05 13 00 48 00 00 00 01 00 0f 00 00 00 00 00 00 \ 00 00 00 01 00 00 55 55 00 20 00 00 00 00 00 00 \ 00 01 00 08 01 f4 00 00 \ 00 02 00 08 02 ee 00 00 \ 00 00 00 02 00 00 44 44 00 18 00 00 00 00 00 00 \ 00 02 00 08 00 64 00 00 \ "], [0], [dnl OFPST_QUEUE_DESC reply (OF1.4) (xid=0x1): port=1 queue 21845: min_rate:50.0% max_rate:75.0% port=2 queue 17476: max_rate:10.0% ]) AT_CLEANUP AT_SETUP([OFPT_SET_ASYNC - OF1.3]) AT_KEYWORDS([ofp-print]) dnl This message has bit 12 set for the PACKET_IN messages (primary and dnl secondary). dnl Those aren't supported bits so they get silently ignored on decoding. dnl That seems reasonable because OF1.3 doesn't define any error codes for dnl OFPT_SET_ASYNC. AT_CHECK([ovs-ofctl ofp-print "\ 04 1c 00 20 00 00 00 00 00 00 10 05 00 00 10 07 \ 00 00 00 03 00 00 00 07 00 00 00 00 00 00 00 03 \ "], [0], [dnl OFPT_SET_ASYNC (OF1.3) (xid=0x0): primary: PACKET_IN: no_match invalid_ttl PORT_STATUS: add delete FLOW_REMOVED: (off) ROLE_STATUS: (off) TABLE_STATUS: (off) REQUESTFORWARD: (off) secondary: PACKET_IN: no_match action invalid_ttl PORT_STATUS: add delete modify FLOW_REMOVED: idle hard ROLE_STATUS: (off) TABLE_STATUS: (off) REQUESTFORWARD: (off) ]) AT_CLEANUP AT_SETUP([OFPT_ROLE_REQUEST - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 18 00 18 00 00 00 02 00 00 00 02 00 00 00 00 \ 00 00 00 00 00 00 00 03 \ "], [0], [dnl OFPT_ROLE_REQUEST (OF1.2) (xid=0x2): role=primary generation_id=3 ]) AT_CLEANUP AT_SETUP([OFPT_ROLE_REQUEST - nochange - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 18 00 18 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPT_ROLE_REQUEST (OF1.2) (xid=0x2): role=nochange ]) AT_CLEANUP AT_SETUP([NXT_ROLE_REQUEST]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0a \ 00 00 00 01 \ "], [0], [dnl NXT_ROLE_REQUEST (xid=0x2): role=primary ]) AT_CLEANUP AT_SETUP([OFPT_ROLE_REPLY - OF1.2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 03 19 00 18 00 00 00 02 00 00 00 03 00 00 00 00 \ 12 34 56 78 ab cd ef 90 \ "], [0], [dnl OFPT_ROLE_REPLY (OF1.2) (xid=0x2): role=secondary generation_id=1311768467750121360 ]) AT_CLEANUP AT_SETUP([NXT_ROLE_REPLY]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0b \ 00 00 00 02 \ "], [0], [dnl NXT_ROLE_REPLY (xid=0x2): role=secondary ]) AT_CLEANUP AT_SETUP([OFP_ROLE_STATUS - primary, experimenter - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 04 00 20 00 00 00 0a 4f 4e 46 00 00 00 07 77 \ 00 00 00 02 02 00 00 00 ff ff ff ff ff ff ff ff \ "], [0], [dnl ONFT_ROLE_STATUS (OF1.3) (xid=0xa): role=primary reason=experimenter_data_changed ]) AT_CLEANUP AT_SETUP([OFP_ROLE_STATUS - primary, config - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 04 00 20 00 00 00 0a 4f 4e 46 00 00 00 07 77 \ 00 00 00 02 01 00 00 00 ff ff ff ff ff ff ff ff \ "], [0], [dnl ONFT_ROLE_STATUS (OF1.3) (xid=0xa): role=primary reason=configuration_changed ]) AT_CLEANUP AT_SETUP([OFP_ROLE_STATUS - primary, config,generation - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 04 04 00 20 00 00 00 0a 4f 4e 46 00 00 00 07 77 \ 00 00 00 02 01 00 00 00 00 00 00 00 00 00 00 10 \ "], [0], [dnl ONFT_ROLE_STATUS (OF1.3) (xid=0xa): role=primary generation_id=16 reason=configuration_changed ]) AT_CLEANUP AT_SETUP([OFP_ROLE_STATUS - primary, experimenter - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 1e 00 18 00 00 00 0a \ 00 00 00 02 02 00 00 00 ff ff ff ff ff ff ff ff \ "], [0], [dnl OFPT_ROLE_STATUS (OF1.4) (xid=0xa): role=primary reason=experimenter_data_changed ]) AT_CLEANUP AT_SETUP([OFP_ROLE_STATUS - primary, config - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 1e 00 18 00 00 00 0a \ 00 00 00 02 01 00 00 00 ff ff ff ff ff ff ff ff \ "], [0], [dnl OFPT_ROLE_STATUS (OF1.4) (xid=0xa): role=primary reason=configuration_changed ]) AT_CLEANUP AT_SETUP([OFP_ROLE_STATUS - primary, config,generation - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 1e 00 18 00 00 00 0a \ 00 00 00 02 01 00 00 00 00 00 00 00 00 00 00 10 \ "], [0], [dnl OFPT_ROLE_STATUS (OF1.4) (xid=0xa): role=primary generation_id=16 reason=configuration_changed ]) AT_CLEANUP AT_SETUP([OFP_REQUESTFORWARD - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 20 00 18 00 00 00 02 \ 05 0f 00 10 02 00 00 00 \ 00 00 00 00 00 00 00 01 \ "], [0], [dnl OFPT_REQUESTFORWARD (OF1.4) (xid=0x2): reason=group_mod ADD group_id=1,type=all ]) AT_CLEANUP AT_SETUP([OFP_REQUESTFORWARD - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 20 00 18 00 00 00 02 \ 05 0f 00 10 02 00 00 00 \ 00 01 01 00 00 00 00 01 \ "], [0], [dnl OFPT_REQUESTFORWARD (OF1.4) (xid=0x2): reason=group_mod MOD group_id=1,type=select ]) AT_CLEANUP AT_SETUP([OFP_REQUESTFORWARD - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 20 00 18 00 00 00 02 \ 05 1d 00 10 02 00 00 00 \ 00 00 00 00 00 00 00 01 \ "], [0], [dnl OFPT_REQUESTFORWARD (OF1.4) (xid=0x2): reason=meter_mod ADD meter=1 bands= ]) AT_CLEANUP AT_SETUP([OFP_REQUESTFORWARD - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 20 00 18 00 00 00 02 \ 05 1d 00 10 02 00 00 00 \ 00 01 01 00 00 00 00 01 \ "], [0], [dnl OFPT_REQUESTFORWARD (OF1.4) (xid=0x2): reason=meter_mod MOD meter=1 flags:0x100 bands= ]) AT_CLEANUP AT_SETUP([NXT_REQUESTFORWARD - inner NXT_GROUP_MOD]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ dnl OF version 1.0; type=extension: 01 04 \ dnl size in bytes: 00 b8 \ dnl xid: 00 00 00 02 \ dnl Nicira vendor number: 00 00 23 20 \ dnl subtype (message id number = 132 in this case) 00 00 00 84 \ dnl inner msg copied and pasted from NXT_GROUP_MOD test above: 01 04 00 a8 00 00 00 02 00 00 23 20 00 00 00 1f 00 00 01 00 87 65 43 21 \ 00 60 00 00 ff ff ff ff 00 20 00 08 00 00 00 00 00 00 00 08 00 01 00 00 \ 00 00 00 08 00 64 00 00 00 01 00 08 00 00 00 01 00 20 00 08 00 00 00 01 \ 00 00 00 08 00 02 00 00 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 02 \ 00 20 00 08 00 00 00 02 00 00 00 08 00 03 00 00 00 00 00 08 00 c8 00 00 \ 00 01 00 08 00 00 00 03 ff ff 00 28 00 00 15 40 00 00 00 01 00 00 00 00 \ 68 61 73 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 \ "], [0], [dnl NXT_REQUESTFORWARD (xid=0x2): reason=group_mod ADD group_id=2271560481,type=select,selection_method=hash,selection_method_param=7,bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3 ]) AT_CLEANUP AT_SETUP([NXT_REQUESTFORWARD - inner OFPT_GROUP_MOD - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ dnl OF Version 1.1; type=extension: 02 04 \ dnl size in bytes: 00 80 \ dnl xid: 00 00 00 02 \ dnl Nicira vendor number: 00 00 23 20 \ dnl subtype (message id number = 132 in this case) 00 00 00 84 \ dnl inner msg copied and pasted from OFPT_GROUP_MOD OF1.1 test above: 02 0f 00 70 11 22 33 44 00 00 01 00 87 65 43 21 \ 00 20 00 64 00 00 00 01 ff ff ff ff 00 00 00 00 \ 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 20 00 c8 00 00 00 02 ff ff ff ff 00 00 00 00 \ 00 00 00 10 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 20 00 c8 00 00 00 03 ff ff ff ff 00 00 00 00 \ 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \ "], [0], [dnl NXT_REQUESTFORWARD (OF1.1) (xid=0x2): reason=group_mod ADD group_id=2271560481,type=select,bucket=weight:100,watch_port:1,actions=output:1,bucket=weight:200,watch_port:2,actions=output:2,bucket=weight:200,watch_port:3,actions=output:3 ]) AT_CLEANUP AT_SETUP([ONFT_REQUESTFORWARD - inner OFPT_METER_MOD - OF1.3]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ dnl OF Version 1.3; type=extension: 04 04 \ dnl size in bytes: 00 30 \ dnl xid: 00 00 00 02 \ dnl ONF vendor number: 4F 4E 46 00 \ dnl subtype (message id number = 2350 in this case) 00 00 09 2e \ dnl inner msg copied and pasted from the valid OFPT_METER_MOD OF1.3 test: 04 1d 00 20 00 00 00 02 00 00 00 0d 00 00 00 05 \ 00 01 00 10 00 00 04 00 00 00 00 80 00 00 00 00 \ "], [0], [dnl ONFT_REQUESTFORWARD (OF1.3) (xid=0x2): reason=meter_mod ADD meter=5 kbps burst stats bands= type=drop rate=1024 burst_size=128 ]) AT_CLEANUP AT_SETUP([NXT_SET_PACKET_IN]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 10 \ 00 00 00 01 \ "], [0], [dnl NXT_SET_PACKET_IN_FORMAT (xid=0x2): format=nxt_packet_in ]) AT_CLEANUP AT_SETUP([NXT_PACKET_IN]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 ba 00 00 00 00 00 00 23 20 00 00 00 11 \ ff ff ff ff 00 40 01 07 00 00 00 00 00 00 00 09 \ 00 4e 00 00 00 00 00 00 00 00 00 02 00 01 00 01 \ 20 08 00 00 00 00 00 00 00 06 00 01 00 04 00 00 \ 00 01 00 01 02 04 00 00 00 02 00 01 04 04 00 00 \ 00 03 00 01 06 04 00 00 00 04 00 01 08 04 00 00 \ 00 05 80 00 05 10 5a 5a 5a 5a 5a 5a 5a 5a ff ff \ ff ff ff ff ff ff 00 00 00 00 82 82 82 82 82 82 \ 80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 \ 00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 \ 00 55 00 56 00 00 00 00 00 00 00 00 50 02 00 00 \ 31 6d 00 00 00 00 00 00 00 00 \ "], [0], [dnl NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 reg0=0x1,reg1=0x2,reg2=0x3,reg3=0x4,reg4=0x5,tun_id=0x6,metadata=0x5a5a5a5a5a5a5a5a,in_port=1 (via action) data_len=64 (unbuffered) tcp,dl_vlan=80,dl_vlan_pcp=0,vlan_tci1=0x0000,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,nw_frag=no,tp_src=85,tp_dst=86,tcp_flags=syn tcp_csum:316d ]) AT_CLEANUP AT_SETUP([NXT_PACKET_IN, with hex output of packet data]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 ba 00 00 00 00 00 00 23 20 00 00 00 11 \ ff ff ff ff 00 40 01 07 00 00 00 00 00 00 00 09 \ 00 4e 00 00 00 00 00 00 00 00 00 02 00 01 00 01 \ 20 08 00 00 00 00 00 00 00 06 00 01 00 04 00 00 \ 00 01 00 01 02 04 00 00 00 02 00 01 04 04 00 00 \ 00 03 00 01 06 04 00 00 00 04 00 01 08 04 00 00 \ 00 05 80 00 05 10 5a 5a 5a 5a 5a 5a 5a 5a ff ff \ ff ff ff ff ff ff 00 00 00 00 82 82 82 82 82 82 \ 80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 \ 00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 \ 00 55 00 56 00 00 00 00 00 00 00 00 50 01 00 00 \ 31 6d 00 00 00 00 00 00 00 00 \ " 3], [0], [dnl NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 reg0=0x1,reg1=0x2,reg2=0x3,reg3=0x4,reg4=0x5,tun_id=0x6,metadata=0x5a5a5a5a5a5a5a5a,in_port=1 (via action) data_len=64 (unbuffered) tcp,dl_vlan=80,dl_vlan_pcp=0,vlan_tci1=0x0000,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,nw_frag=no,tp_src=85,tp_dst=86,tcp_flags=fin tcp_csum:316d 00000000 82 82 82 82 82 82 80 81-81 81 81 81 81 00 00 50 00000010 08 00 45 00 00 28 00 00-00 00 00 06 32 05 53 53 00000020 53 53 54 54 54 54 00 55-00 56 00 00 00 00 00 00 00000030 00 00 50 01 00 00 31 6d-00 00 00 00 00 00 00 00 ]) AT_CLEANUP AT_SETUP([NX_PACKET_IN2]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print " 01 04 0098 00000000 00002320 0000001e 0000 0034 82 82 82 82 82 82 80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 00 55 00 56 00 00 00 00 00 00 00000000 0001 0008 00000040 0002 0008 00000114 0003 0005 07 000000 0004 0010 00000000 fedcba9876543210 0005 0005 01 000000 0006 0010 80000408 5a5a5a5a5a5a5a5a 0007 0009 0102030405 00000000000000 " ], [0], [dnl NXT_PACKET_IN2 (xid=0x0): table_id=7 cookie=0xfedcba9876543210 total_len=64 metadata=0x5a5a5a5a5a5a5a5a (via action) data_len=48 buffer=0x00000114 userdata=01.02.03.04.05 ip,dl_vlan=80,dl_vlan_pcp=0,vlan_tci1=0x0000,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=0.0.0.0,nw_dst=0.0.0.0,nw_proto=0,nw_tos=0,nw_ecn=0,nw_ttl=0,nw_frag=no ]) AT_CLEANUP AT_SETUP([NXT_SET_ASYNC_CONFIG]) AT_KEYWORDS([ofp-print]) dnl This message has bit 12 set for the PACKET_IN messages (primary and secondary). dnl Those aren't supported bits so they get silently ignored on decoding. AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 28 00 00 00 00 00 00 23 20 00 00 00 13 \ 00 00 10 05 00 00 10 07 00 00 00 03 00 00 00 07 \ 00 00 00 00 00 00 00 03 \ "], [0], [dnl NXT_SET_ASYNC_CONFIG (xid=0x0): primary: PACKET_IN: no_match invalid_ttl PORT_STATUS: add delete FLOW_REMOVED: (off) ROLE_STATUS: (off) TABLE_STATUS: (off) REQUESTFORWARD: (off) secondary: PACKET_IN: no_match action invalid_ttl PORT_STATUS: add delete modify FLOW_REMOVED: idle hard ROLE_STATUS: (off) TABLE_STATUS: (off) REQUESTFORWARD: (off) ]) AT_CLEANUP AT_SETUP([OFPT_SET_ASYNC_CONFIG]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 1c 00 38 00 00 00 02 00 00 00 08 00 00 00 05 \ 00 01 00 08 00 00 00 02 00 02 00 08 00 00 00 02 \ 00 03 00 08 00 00 00 05 00 04 00 08 00 00 00 1c \ 00 05 00 08 00 00 00 05 \ "], [0], [dnl OFPT_SET_ASYNC (OF1.4) (xid=0x2): primary: PACKET_IN: action PORT_STATUS: add modify FLOW_REMOVED: idle delete ROLE_STATUS: (off) TABLE_STATUS: (off) REQUESTFORWARD: (off) secondary: PACKET_IN: no_match invalid_ttl PORT_STATUS: delete FLOW_REMOVED: delete group_delete meter_delete ROLE_STATUS: (off) TABLE_STATUS: (off) REQUESTFORWARD: (off) ]) AT_CLEANUP AT_SETUP([OFPT_SET_ASYNC_CONFIG - invalid mask - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 1c 00 38 00 00 00 02 00 00 00 08 00 00 00 40 \ 00 01 00 08 00 00 00 02 00 02 00 08 00 00 00 02 \ 00 03 00 08 00 00 00 05 00 04 00 08 00 00 00 1c \ 00 05 00 08 00 00 00 05 \ "], [0], [dnl OFPT_SET_ASYNC (OF1.4) (xid=0x2): ***decode error: OFPACFC_INVALID*** 00000000 05 1c 00 38 00 00 00 02-00 00 00 08 00 00 00 40 |...8...........@| 00000010 00 01 00 08 00 00 00 02-00 02 00 08 00 00 00 02 |................| 00000020 00 03 00 08 00 00 00 05-00 04 00 08 00 00 00 1c |................| 00000030 00 05 00 08 00 00 00 05- |........ | ], [stderr]) AT_CHECK([sed 's/.*|//' stderr], [0], [bad value 0x40 for PACKET_IN (allowed mask 0x3f) ]) AT_CLEANUP AT_SETUP([OFPT_SET_ASYNC_CONFIG - unsupported configuration - OF1.4]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 05 1c 00 38 00 00 00 02 00 00 00 08 00 00 00 05 \ 00 11 00 08 00 00 00 02 00 02 00 08 00 00 00 02 \ 00 03 00 08 00 00 00 05 00 04 00 08 00 00 00 1c \ 00 05 00 08 00 00 00 05\ "], [0], [dnl OFPT_SET_ASYNC (OF1.4) (xid=0x2): ***decode error: OFPACFC_UNSUPPORTED*** 00000000 05 1c 00 38 00 00 00 02-00 00 00 08 00 00 00 05 |...8............| 00000010 00 11 00 08 00 00 00 02-00 02 00 08 00 00 00 02 |................| 00000020 00 03 00 08 00 00 00 05-00 04 00 08 00 00 00 1c |................| 00000030 00 05 00 08 00 00 00 05- |........ | ], [stderr]) AT_CHECK([sed 's/.*|//' stderr], [0], [unknown async config property type 17 ]) AT_CLEANUP AT_SETUP([NXT_SET_CONTROLLER_ID]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 18 00 00 00 03 00 00 23 20 00 00 00 14 \ 00 00 00 00 00 00 00 7b \ "], [0], [dnl NXT_SET_CONTROLLER_ID (xid=0x3): id=123 ]) AT_CLEANUP AT_SETUP([FLOW_MONITOR_CANCEL]) AT_KEYWORDS([ofp-print]) dnl OpenFlow 1.0-1.2 AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 14 00 00 00 03 00 00 23 20 00 00 00 15 \ 01 02 30 40 \ "], [0], [dnl NXT_FLOW_MONITOR_CANCEL (xid=0x3): id=16920640 ]) dnl OpenFlow 1.3 AT_CHECK([ovs-ofctl ofp-print "\ 04 04 00 14 00 00 00 06 4f 4e 46 00 00 00 07 4e \ 01 02 30 40 \ "], [0], [dnl ONFT_FLOW_MONITOR_CANCEL (OF1.3) (xid=0x6): id=16920640 ]) dnl OpenFlow 1.4+ AT_CHECK([ovs-ofctl ofp-print "\ 05 12 00 28 00 00 00 04 00 10 00 00 00 00 00 00 \ 01 02 30 40 00 00 00 00 00 00 00 00 00 00 00 02 \ 00 01 00 04 00 00 00 00 \ "], [0], [dnl OFPST_FLOW_MONITOR request (OF1.4) (xid=0x4): id=16920640 command=delete ]) AT_CLEANUP AT_SETUP([FLOW_MONITOR_PAUSED]) AT_KEYWORDS([ofp-print]) dnl OpenFlow 1.0-1.2 AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 10 00 00 00 03 00 00 23 20 00 00 00 16 \ "], [0], [dnl NXT_FLOW_MONITOR_PAUSED (xid=0x3): ]) dnl OpenFlow 1.3 AT_CHECK([ovs-ofctl ofp-print "\ 04 04 00 10 00 00 00 03 4f 4e 46 00 00 00 07 4F \ "], [0], [dnl ONFT_FLOW_MONITOR_PAUSED (OF1.3) (xid=0x3): ]) dnl OpenFlow 1.4+ AT_CHECK([ovs-ofctl ofp-print "\ 05 13 00 18 00 00 00 00 00 10 00 00 00 00 00 00 \ 00 08 00 05 00 00 00 00 \ "], [0], [dnl OFPST_FLOW_MONITOR reply (OF1.4) (xid=0x0): event=PAUSED ]) AT_CLEANUP AT_SETUP([FLOW_MONITOR_RESUMED]) AT_KEYWORDS([ofp-print]) dnl OpenFlow 1.0-1.2 AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 10 00 00 00 03 00 00 23 20 00 00 00 17 \ "], [0], [dnl NXT_FLOW_MONITOR_RESUMED (xid=0x3): ]) dnl OpenFlow 1.3 AT_CHECK([ovs-ofctl ofp-print "\ 04 04 00 10 00 00 00 03 4f 4e 46 00 00 00 07 50 \ "], [0], [dnl ONFT_FLOW_MONITOR_RESUMED (OF1.3) (xid=0x3): ]) dnl OpenFlow 1.4+ AT_CHECK([ovs-ofctl ofp-print "\ 05 13 00 18 00 00 00 00 00 10 00 00 00 00 00 00 00 08 00 06 00 00 00 00 "], [0], [dnl OFPST_FLOW_MONITOR reply (OF1.4) (xid=0x0): event=RESUMED ]) AT_CLEANUP AT_SETUP([NXT_SET_FLOW_FORMAT]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0c \ 00 00 00 02 \ "], [0], [dnl NXT_SET_FLOW_FORMAT (xid=0x2): format=nxm ]) AT_CLEANUP # The flow is formatted with cls_rule_format() for the low-verbosity case. AT_SETUP([NXT_FLOW_MOD, low verbosity]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 60 00 00 00 02 00 00 23 20 00 00 00 0d \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 \ ff ff ff ff 00 10 00 00 00 14 00 00 00 00 00 00 \ 00 01 20 08 00 00 00 00 00 00 01 c8 00 01 00 04 \ 00 00 00 7b 00 00 00 00 ff ff 00 18 00 00 23 20 \ 00 07 00 1f 00 01 00 04 00 00 00 00 00 00 00 05 \ " 2], [0], [dnl NXT_FLOW_MOD (xid=0x2): ADD reg0=0x7b,tun_id=0x1c8 out_port:16 actions=load:0x5->NXM_NX_REG0[[]] ]) AT_CLEANUP # The flow is formatted with ofp10_match_to_string() for the # low-verbosity case. AT_SETUP([NXT_FLOW_MOD, high verbosity]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 60 00 00 00 02 00 00 23 20 00 00 00 0d \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 \ ff ff ff ff 01 00 00 00 00 14 00 00 00 00 00 00 \ 00 01 20 08 00 00 00 00 00 00 01 c8 00 01 00 04 \ 00 00 00 7b 00 00 00 00 ff ff 00 18 00 00 23 20 \ 00 07 00 1f 00 01 00 04 00 00 00 00 00 00 00 05 \ " 3], [0], [dnl NXT_FLOW_MOD (xid=0x2): ADD NXM_NX_TUN_ID(00000000000001c8), NXM_NX_REG0(0000007b) out_port:256 actions=load:0x5->NXM_NX_REG0[[]] ]) AT_CLEANUP AT_SETUP([NXT_GROUP_MOD add - OF1.0]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 a8 00 00 00 02 00 00 23 20 00 00 00 1f \ 00 00 01 00 87 65 43 21 \ 00 60 00 00 ff ff ff ff \ \ 00 20 00 08 00 00 00 00 00 00 00 08 00 01 00 00 \ 00 00 00 08 00 64 00 00 00 01 00 08 00 00 00 01 \ \ 00 20 00 08 00 00 00 01 00 00 00 08 00 02 00 00 \ 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 02 \ 00 20 00 08 00 00 00 02 00 00 00 08 00 03 00 00 \ 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 03 \ ff ff 00 28 00 00 15 40 00 00 00 01 00 00 00 00 \ 68 61 73 68 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 07 \ "], [0], [dnl NXT_GROUP_MOD (xid=0x2): ADD group_id=2271560481,type=select,selection_method=hash,selection_method_param=7,bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3 ]) AT_CLEANUP AT_SETUP([OFPT_GROUP_MOD - OF1.1]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 02 0f 00 70 11 22 33 44 00 00 01 00 87 65 43 21 \ 00 20 00 64 00 00 00 01 ff ff ff ff 00 00 00 00 \ 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 20 00 c8 00 00 00 02 ff ff ff ff 00 00 00 00 \ 00 00 00 10 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 20 00 c8 00 00 00 03 ff ff ff ff 00 00 00 00 \ 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPT_GROUP_MOD (OF1.1) (xid=0x11223344): ADD group_id=2271560481,type=select,bucket=weight:100,watch_port:1,actions=output:1,bucket=weight:200,watch_port:2,actions=output:2,bucket=weight:200,watch_port:3,actions=output:3 ]) AT_CLEANUP AT_SETUP([OFPT_GROUP_MOD add - OF1.5]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 06 0f 00 b8 11 22 33 44 00 00 01 00 87 65 43 21 \ 00 78 00 00 ff ff ff ff 00 28 00 10 00 00 00 00 \ 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 08 00 64 00 00 00 01 00 08 00 00 00 01 \ 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \ 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \ 00 01 00 08 00 00 00 02 00 28 00 10 00 00 00 02 \ 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \ 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 03 \ ff ff 00 28 00 00 15 40 00 00 00 01 00 00 00 00 \ 68 61 73 68 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 07 \ "], [0], [dnl OFPT_GROUP_MOD (OF1.5) (xid=0x11223344): ADD group_id=2271560481,type=select,selection_method=hash,selection_method_param=7,bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3 ]) AT_CLEANUP AT_SETUP([OFPT_GROUP_MOD insert bucket - OF1.5]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 06 0f 00 90 11 22 33 44 00 03 01 00 87 65 43 21 \ 00 78 00 00 ff ff ff fd 00 28 00 10 00 00 00 00 \ 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 08 00 64 00 00 00 01 00 08 00 00 00 01 \ 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \ 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \ 00 01 00 08 00 00 00 02 00 28 00 10 00 00 00 02 \ 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \ 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 03 \ "], [0], [dnl OFPT_GROUP_MOD (OF1.5) (xid=0x11223344): INSERT_BUCKET command_bucket_id:first,group_id=2271560481,bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3 ]) AT_CLEANUP AT_SETUP([NXT_FLOW_REMOVED]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 78 00 00 00 00 00 00 23 20 00 00 00 0e \ 00 00 00 00 00 00 00 00 ff ff 00 02 00 00 00 06 \ 01 6e 36 00 00 05 00 3c 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \ 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \ 00 05 00 00 06 02 08 06 00 00 08 02 00 00 00 00 \ 1e 02 00 02 00 00 20 04 c0 a8 00 01 00 00 22 04 \ c0 a8 00 02 00 00 00 00 \ "], [0], [dnl NXT_FLOW_REMOVED (xid=0x0): priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,arp_spa=192.168.0.1,arp_tpa=192.168.0.2,arp_op=2 reason=idle table_id=1 duration6.024s idle5 pkts1 bytes60 ]) AT_CLEANUP AT_SETUP([NXT_FLOW_MOD_TABLE_ID]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 18 01 02 03 04 00 00 23 20 00 00 00 0f \ 01 00 00 00 00 00 00 00 \ "], [0], [dnl NXT_FLOW_MOD_TABLE_ID (xid=0x1020304): enable ]) AT_CLEANUP AT_SETUP([NXT_RESUME]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 0038 01020304 00002320 0000001c \ 0000 0012 ffffffffffff 102030405060 1234 000000000000 \ 0006 000a 00000002 fffd 000000000000 "], [0], [dnl NXT_RESUME (xid=0x1020304): total_len=14 in_port=CONTROLLER (via no_match) data_len=14 (unbuffered) vlan_tci=0x0000,dl_src=10:20:30:40:50:60,dl_dst=ff:ff:ff:ff:ff:ff,dl_type=0x1234 ]) AT_CLEANUP AT_SETUP([NXST_FLOW request]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 \ 00 00 00 00 00 00 00 00 ff ff 00 00 ff 00 00 00 \ "], [0], [dnl NXST_FLOW request (xid=0x4): ]) AT_CLEANUP AT_SETUP([NXST_FLOW reply]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 08 18 00 00 00 04 ff ff 00 00 00 00 23 20 \ 00 00 00 00 00 00 00 00 00 88 00 00 00 00 00 01 \ 02 dc 6c 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \ 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \ 00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \ 0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \ a8 00 02 00 00 0c 01 06 00 00 12 02 09 e7 00 00 \ 14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \ 00 88 00 00 00 00 00 03 32 11 62 00 ff ff 00 05 \ 00 00 00 4c 00 03 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \ 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \ 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \ 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \ a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \ 00 00 12 02 09 e4 00 00 14 02 00 00 00 00 00 00 \ 00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 02 \ 33 f9 aa 00 ff ff 00 05 00 00 00 4c 00 05 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \ 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \ 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \ 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \ a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \ 14 02 09 e5 00 00 00 00 00 00 00 08 00 03 00 00 \ 00 88 00 00 00 00 00 04 2d 0f a5 00 ff ff 00 05 \ 00 00 00 4c 00 01 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \ 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \ 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \ 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \ a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \ 00 00 12 02 09 e3 00 00 14 02 00 00 00 00 00 00 \ 00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 02 \ 34 73 bc 00 ff ff 00 05 00 0a 00 4c 00 03 00 03 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \ 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \ 00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \ 0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \ a8 00 02 00 00 0c 01 06 00 00 12 02 09 e5 00 00 \ 14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \ 00 88 00 00 00 00 00 05 28 0d e8 00 ff ff 00 05 \ 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \ 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \ 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \ 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \ a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \ 00 00 12 02 09 e2 00 00 14 02 00 00 00 00 00 00 \ 00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 01 \ 02 62 5a 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \ 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \ 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \ 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \ a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \ 14 02 09 e7 00 00 00 00 00 00 00 08 00 03 00 00 \ 00 88 00 00 00 00 00 01 38 be 5e 00 ff ff 00 05 \ 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \ 00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \ 00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \ 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \ a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \ 00 00 12 02 00 00 00 00 14 02 09 e6 00 00 00 00 \ 00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 04 \ 27 d0 df 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \ 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \ 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \ 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \ a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \ 14 02 09 e3 00 00 00 00 00 00 00 08 00 03 00 00 \ 00 88 00 00 00 00 00 03 2c d2 9c 00 ff ff 00 05 \ 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \ 00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \ 00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \ 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \ a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \ 00 00 12 02 00 00 00 00 14 02 09 e4 00 00 00 00 \ 00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 00 \ 0a 40 83 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \ 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \ 00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \ 0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \ a8 00 02 00 00 0c 01 06 00 00 12 02 09 e8 00 00 \ 14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \ 00 88 00 00 00 00 00 05 25 31 7c 00 ff ff 00 05 \ 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \ 00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \ 00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \ 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \ a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \ 00 00 12 02 00 00 00 00 14 02 09 e2 00 00 00 00 \ 00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 00 \ 04 c4 b4 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \ 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \ 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \ 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \ a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \ 14 02 09 e8 00 00 00 00 00 00 00 08 00 03 00 00 \ 00 88 00 00 00 00 00 01 39 38 70 00 ff ff 00 05 \ 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \ 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \ 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \ 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \ a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \ 00 00 12 02 09 e6 00 00 14 02 00 00 00 00 00 00 \ 00 00 00 08 00 01 00 00 00 60 00 00 00 00 00 e4 \ 2e 7d db 00 80 00 00 00 00 00 00 14 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 00 01 20 08 00 00 00 00 \ 00 00 01 c8 00 01 00 04 00 00 00 7b 00 00 00 00 \ ff ff 00 18 00 00 23 20 00 07 00 1f 00 01 00 04 \ 00 00 00 00 00 00 00 05 \ 00 30 01 00 00 00 0e 10 00 07 a1 20 80 00 00 00 \ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 64 00 00 00 00 00 00 19 00 \ "], [0], [[NXST_FLOW reply (xid=0x4): cookie=0x0, duration=1.048s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2535,tp_dst=0 actions=output:1 cookie=0x0, duration=3.840s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, idle_age=2, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2532,tp_dst=0 actions=output:1 cookie=0x0, duration=2.872s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, idle_age=4, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2533 actions=output:3 cookie=0x0, duration=4.756s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, idle_age=0, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2531,tp_dst=0 actions=output:1 cookie=0x0, duration=2.880s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, hard_timeout=10, idle_age=2, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2533,tp_dst=0 actions=output:1 cookie=0x0, duration=5.672s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2530,tp_dst=0 actions=output:1 cookie=0x0, duration=1.040s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2535 actions=output:3 cookie=0x0, duration=1.952s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2534 actions=output:3 cookie=0x0, duration=4.668s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2531 actions=output:3 cookie=0x0, duration=3.752s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2532 actions=output:3 cookie=0x0, duration=0.172s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2536,tp_dst=0 actions=output:1 cookie=0x0, duration=5.624s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2530 actions=output:3 cookie=0x0, duration=0.080s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2536 actions=output:3 cookie=0x0, duration=1.960s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2534,tp_dst=0 actions=output:1 cookie=0x0, duration=228.780s, table=0, n_packets=0, n_bytes=0, reg0=0x7b,tun_id=0x1c8 actions=load:0x5->NXM_NX_REG0[] cookie=0x0, duration=3600.0005s, table=1, n_packets=100, n_bytes=6400, actions=drop ]]) AT_CLEANUP AT_SETUP([NXST_AGGREGATE request]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 \ 00 00 00 01 00 00 00 00 ff ff 00 00 ff 00 00 00 \ "], [0], [dnl NXST_AGGREGATE request (xid=0x4): ]) AT_CLEANUP AT_SETUP([NXST_AGGREGATE reply]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 30 00 00 00 04 ff ff 00 00 00 00 23 20 \ 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 07 \ 00 00 00 00 00 00 01 a4 00 00 00 07 00 00 00 00 \ "], [0], [dnl NXST_AGGREGATE reply (xid=0x4): packet_count=7 byte_count=420 flow_count=7 ]) AT_CLEANUP AT_SETUP([FLOW_MONITOR request]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) dnl OpenFlow 1.0-1.2 AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 02 00 00 00 00 \ 00 00 40 00 00 3f ff fe 00 00 01 00 00 00 00 00 \ 00 00 20 00 00 04 ff ff 00 06 02 00 00 00 00 00 00 00 00 02 00 01 00 00 \ "], [0], [dnl NXST_FLOW_MONITOR request (xid=0x4): id=16384 flags=initial,add,delete,modify,actions,own out_port=LOCAL table=1 id=8192 flags=delete table=2 in_port=1 ]) dnl OpenFlow 1.3 AT_CHECK([ovs-ofctl ofp-print "\ 04 12 00 48 00 00 00 06 ff ff 00 00 00 00 00 00 \ 4f 4e 46 00 00 00 07 4e \ 00 00 10 00 00 3f 00 04 ff ff ff fe 01 00 00 00 00 01 00 04 00 00 00 00 \ 00 00 20 00 00 04 ff ff 00 00 00 02 01 00 00 00 00 01 00 04 00 00 00 00 \ "], [0], [dnl ONFST_FLOW_MONITOR request (OF1.3) (xid=0x6): id=4096 flags=initial,add,delete,modify,actions,own out_port=LOCAL table=1 id=8192 flags=delete out_port=2 table=1 ]) dnl OpenFlow 1.4+ AT_CHECK([ovs-ofctl ofp-print "\ 05 12 00 58 00 00 00 06 00 10 00 00 00 00 00 00 \ 00 00 10 00 ff ff ff fe ff ff ff ff 00 5f 00 00 00 01 00 04 00 00 00 00 \ 00 00 20 00 00 00 00 01 00 00 00 40 00 5f 01 01 00 01 00 04 00 00 00 00 \ 00 00 40 00 00 00 00 02 00 00 00 40 00 5f 02 02 00 01 00 04 00 00 00 00 \ "], [0], [dnl OFPST_FLOW_MONITOR request (OF1.4) (xid=0x6): id=4096 flags=initial,add,delete,modify,actions,own out_port=LOCAL table=0 id=8192 flags=initial,add,delete,modify,actions,own out_port=1 out_group=64 table=1 id=16384 command=delete ]) AT_CLEANUP AT_SETUP([FLOW_MONITOR reply]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) dnl OpenFlow 1.0-1.2 AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 02 00 00 00 00 \ 00 20 00 01 00 05 80 00 00 05 00 10 00 06 01 00 12 34 56 78 9a bc de f0 \ 00 00 00 02 00 01 00 00 \ 00 08 00 03 00 01 86 a0 \ "], [0], [dnl NXST_FLOW_MONITOR reply (xid=0x4): event=DELETED reason=eviction table=1 idle_timeout=5 hard_timeout=16 cookie=0x123456789abcdef0 in_port=1 event=ABBREV xid=0x186a0 ]) dnl OpenFlow 1.3 AT_CHECK([ovs-ofctl ofp-print "\ 04 13 00 48 00 00 00 06 ff ff 00 00 00 00 00 00 4f 4e 46 00 00 00 07 4e \ 00 28 00 01 00 05 80 00 00 00 00 00 00 0c 00 00 \ 12 34 56 78 9a bc de f0 00 01 00 0c 80 00 00 04 \ 00 00 00 01 00 00 00 00 \ 00 08 00 03 00 01 86 a0 \ "], [0], [dnl ONFST_FLOW_MONITOR reply (OF1.3) (xid=0x6): event=DELETED reason=eviction table=0 cookie=0x123456789abcdef0 in_port=1 event=ABBREV xid=0x186a0 ]) dnl OpenFlow 1.4+ AT_CHECK([ovs-ofctl ofp-print "\ 05 13 00 40 00 00 00 00 00 10 00 00 00 00 00 00 \ 00 28 00 02 00 05 00 00 00 00 80 00 00 00 00 00 \ 12 34 56 78 9a bc de f0 00 01 00 0c 80 00 00 04 \ 00 00 00 01 00 00 00 00 \ 00 08 00 04 00 01 86 a0 \ "], [0], [dnl OFPST_FLOW_MONITOR reply (OF1.4) (xid=0x0): event=DELETED reason=eviction table=0 cookie=0x123456789abcdef0 in_port=1 event=ABBREV xid=0x186a0 ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_CONTROL - atomic OPEN_REQUEST]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 21 00 10 00 00 00 00 \ 00 00 00 01 00 00 00 01 \ "], [0], [dnl OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0): bundle_id=0x1 type=OPEN_REQUEST flags=atomic ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_CONTROL - ordered OPEN_REQUEST]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 21 00 10 00 00 00 00 \ 00 00 00 01 00 00 00 02 \ "], [0], [dnl OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0): bundle_id=0x1 type=OPEN_REQUEST flags=ordered ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_CONTROL - atomic ordered OPEN_REQUEST]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 21 00 10 00 00 00 00 \ 00 00 00 01 00 00 00 03 \ "], [0], [dnl OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0): bundle_id=0x1 type=OPEN_REQUEST flags=atomic ordered ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_CONTROL - OPEN_REPLY]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 21 00 10 00 00 00 00 \ 00 00 00 01 00 01 00 01 \ "], [0], [dnl OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0): bundle_id=0x1 type=OPEN_REPLY flags=atomic ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_CONTROL - CLOSE_REQUEST]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 21 00 10 00 00 00 00 \ 00 00 00 01 00 02 00 01 \ "], [0], [dnl OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0): bundle_id=0x1 type=CLOSE_REQUEST flags=atomic ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_CONTROL - CLOSE_REPLY]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 21 00 10 00 00 00 00 \ 00 00 00 01 00 03 00 01 \ "], [0], [dnl OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0): bundle_id=0x1 type=CLOSE_REPLY flags=atomic ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_CONTROL - COMMIT_REQUEST]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 21 00 10 00 00 00 00 \ 00 00 00 01 00 04 00 01 \ "], [0], [dnl OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0): bundle_id=0x1 type=COMMIT_REQUEST flags=atomic ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_CONTROL - COMMIT_REPLY]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 21 00 10 00 00 00 00 \ 00 00 00 01 00 05 00 01 \ "], [0], [dnl OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0): bundle_id=0x1 type=COMMIT_REPLY flags=atomic ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_CONTROL - DISCARD_REQUEST]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 21 00 10 00 00 00 00 \ 00 00 00 01 00 06 00 01 \ "], [0], [dnl OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0): bundle_id=0x1 type=DISCARD_REQUEST flags=atomic ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_CONTROL - DISCARD_REPLY]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 21 00 10 00 00 00 00 \ 00 00 00 01 00 07 00 01 \ "], [0], [dnl OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0): bundle_id=0x1 type=DISCARD_REPLY flags=atomic ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - verify xid]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 22 00 20 00 00 00 00 00 00 00 01 00 00 00 01 \ 05 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x0): ***decode error: OFPBFC_MSG_BAD_XID*** 00000000 05 22 00 20 00 00 00 00-00 00 00 01 00 00 00 01 |.". ............| 00000010 05 00 00 08 00 00 00 01-00 00 00 00 00 00 00 00 |................| ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - reject OFPT_HELLO]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\ 05 22 00 20 00 00 00 00 00 00 00 01 00 00 00 01 \ 05 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x0): ***decode error: OFPBFC_MSG_UNSUP*** 00000000 05 22 00 20 00 00 00 00-00 00 00 01 00 00 00 01 |.". ............| 00000010 05 00 00 10 00 00 00 00-00 00 00 00 00 00 00 00 |................| ], [dnl ofp_bundle|WARN|OFPT_HELLO message not allowed inside OFPT14_BUNDLE_ADD_MESSAGE ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - FLOW_MOD]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 22 00 a0 00 00 00 02 00 00 00 01 00 00 00 01 \ 05 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \ ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \ 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \ 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \ 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \ 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \ 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \ 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \ "], [0], [dnl OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x2): bundle_id=0x1 flags=atomic OFPT_FLOW_MOD (OF1.4) (xid=0x2): ADD table:1 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 actions=output:3 ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - PORT_MOD]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 05 22 00 38 00 00 00 03 00 00 00 01 00 00 00 01 \ 05 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \ 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \ 00 00 00 08 00 00 00 01 "], [0], [dnl OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x3): bundle_id=0x1 flags=atomic OFPT_PORT_MOD (OF1.4) (xid=0x3): port: 3: addr:50:54:00:00:00:01 config: PORT_DOWN mask: PORT_DOWN advertise: 10MB-HD ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - GROUP_MOD]) AT_KEYWORDS([ofp-print bundle]) AT_CHECK([ovs-ofctl ofp-print "\ 06 22 00 c8 00 00 00 03 00 00 00 01 00 00 00 01 \ 06 0f 00 b8 00 00 00 03 00 00 01 00 87 65 43 21 \ 00 78 00 00 ff ff ff ff 00 28 00 10 00 00 00 00 \ 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \ 00 00 00 08 00 64 00 00 00 01 00 08 00 00 00 01 \ 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \ 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \ 00 01 00 08 00 00 00 02 00 28 00 10 00 00 00 02 \ 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \ 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 03 \ ff ff 00 28 00 00 15 40 00 00 00 01 00 00 00 00 \ 68 61 73 68 00 00 00 00 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 07 \ "], [0], [dnl OFPT_BUNDLE_ADD_MESSAGE (OF1.5) (xid=0x3): bundle_id=0x1 flags=atomic OFPT_GROUP_MOD (OF1.5) (xid=0x3): ADD group_id=2271560481,type=select,selection_method=hash,selection_method_param=7,bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3 ]) AT_CLEANUP AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - PACKET_OUT]) AT_KEYWORDS([ofp-print bundle packet-out]) AT_CHECK([ovs-ofctl ofp-print "\ 05 22 00 74 00 00 00 03 00 00 00 01 00 00 00 01 \ 05 0d 00 64 00 00 00 03 ff ff ff ff ff ff ff fe \ 00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \ 05 dc 00 00 00 00 00 00 50 54 00 00 00 05 50 54 \ 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \ b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \ 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \ 00 00 00 00 \ "], [0], [dnl OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x3): bundle_id=0x1 flags=atomic OFPT_PACKET_OUT (OF1.4) (xid=0x3): in_port=LOCAL actions=FLOOD data_len=60 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=0,tp_dst=11104,tcp_flags=rst|ack tcp_csum:6d75 ]) AT_CLEANUP AT_SETUP([NXST_IPFIX_BRIDGE - request]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 18 00 00 00 02 \ ff ff 00 00 00 00 23 20 00 00 00 03 00 00 00 00 \ "], [0], [dnl NXST_IPFIX_BRIDGE request (xid=0x2): ]) AT_CLEANUP AT_SETUP([NXST_IPFIX_BRIDGE - reply]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 70 00 00 00 02 \ ff ff 00 00 00 00 23 20 00 00 00 03 00 00 00 00\ 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 10 \ 00 00 00 00 00 00 00 78 \ 00 00 00 00 00 00 00 f0 \ 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 a0 \ 00 00 00 00 00 00 00 02 \ 00 00 00 00 00 00 00 03 \ 00 00 00 00 00 00 00 04 \ 00 00 00 00 00 00 00 05 \ 00 00 00 00 00 00 00 00 \ "], [0], [dnl NXST_IPFIX_BRIDGE reply (xid=0x2): bridge ipfix: flows=1, current flows=16, sampled pkts=120, ipv4 ok=240, ipv6 ok=0, tx pkts=4 pkts errs=160, ipv4 errs=2, ipv6 errs=3, tx errs=5 ]) AT_CLEANUP AT_SETUP([NXST_IPFIX_FLOW - request]) AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST]) AT_CHECK([ovs-ofctl ofp-print "\ 01 10 00 18 00 00 00 02 \ ff ff 00 00 00 00 23 20 00 00 00 04 00 00 00 00 \ "], [0], [dnl NXST_IPFIX_FLOW request (xid=0x2): ]) AT_CLEANUP AT_SETUP([NXST_IPFIX_FLOW - reply]) AT_KEYWORDS([ofp-print OFPT_STATS_REPLY]) AT_CHECK([ovs-ofctl ofp-print "\ 01 11 00 C8 00 00 00 02 \ ff ff 00 00 00 00 23 20 00 00 00 04 00 00 00 00\ 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 10 \ 00 00 00 00 00 00 00 78 \ 00 00 00 00 00 00 00 f0 \ 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 a0 \ 00 00 00 10 00 00 00 02 \ 00 00 00 00 00 00 00 03 \ 00 00 00 00 00 00 00 04 \ 00 00 00 00 00 00 00 05 \ 00 00 00 01 00 00 00 00 \ 00 00 00 00 00 00 00 01 \ 00 00 00 00 00 00 00 10 \ 00 00 00 00 00 00 00 78 \ 00 00 00 00 00 00 00 f0 \ 00 00 00 00 00 00 00 00 \ 00 00 00 00 00 00 00 a0 \ 00 00 00 10 00 00 00 02 \ 00 00 00 00 00 00 00 03 \ 00 00 00 00 00 00 00 04 \ 00 00 00 00 00 00 00 05 \ 00 00 00 02 00 00 00 00 \ "], [0], [dnl NXST_IPFIX_FLOW reply (xid=0x2): 2 ids id 1: flows=1, current flows=16, sampled pkts=120, ipv4 ok=240, ipv6 ok=0, tx pkts=4 pkts errs=160, ipv4 errs=68719476738, ipv6 errs=3, tx errs=5 id 2: flows=1, current flows=16, sampled pkts=120, ipv4 ok=240, ipv6 ok=0, tx pkts=4 pkts errs=160, ipv4 errs=68719476738, ipv6 errs=3, tx errs=5 ]) AT_CLEANUP AT_SETUP([NXT_CT_FLUSH_ZONE]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 18 00 00 00 03 00 00 23 20 00 00 00 1d \ 00 00 00 00 00 00 00 0d \ "], [0], [dnl NXT_CT_FLUSH_ZONE (xid=0x3): zone_id=13 ]) AT_CLEANUP AT_SETUP([NXT_CT_FLUSH]) AT_KEYWORDS([ofp-print]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 18 00 00 00 03 00 00 23 20 00 00 00 20 \ 06 \ 00 00 00 00 00 00 00 \ "], [0], [dnl NXT_CT_FLUSH (xid=0x3): zone=0 'ct_ipv6_src=::,ct_ipv6_dst=::,ct_tp_src=0,ct_tp_dst=0,ct_nw_proto=6' 'ct_ipv6_src=::,ct_ipv6_dst=::,ct_tp_src=0,ct_tp_dst=0' ]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 20 00 00 00 03 00 00 23 20 00 00 00 20 \ 06 \ 00 00 00 00 00 00 00 \ 00 02 00 08 00 0d 00 00 \ "], [0], [dnl NXT_CT_FLUSH (xid=0x3): zone=13 'ct_ipv6_src=::,ct_ipv6_dst=::,ct_tp_src=0,ct_tp_dst=0,ct_nw_proto=6' 'ct_ipv6_src=::,ct_ipv6_dst=::,ct_tp_src=0,ct_tp_dst=0' ]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 68 00 00 00 03 00 00 23 20 00 00 00 20 \ 06 \ 00 00 00 00 00 00 00 \ 00 02 00 08 00 0d 00 00 \ 00 00 00 48 00 00 00 00 \ 00 00 00 14 00 00 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 01 00 00 00 00 \ 00 01 00 14 00 00 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 02 00 00 00 00 \ 00 02 00 08 00 50 00 00 \ 00 03 00 08 1f 90 00 00 \ "], [0], [dnl NXT_CT_FLUSH (xid=0x3): zone=13 'ct_nw_src=10.10.0.1,ct_nw_dst=10.10.0.2,ct_tp_src=80,ct_tp_dst=8080,ct_nw_proto=6' 'ct_nw_src=::,ct_nw_dst=::,ct_tp_src=0,ct_tp_dst=0' ]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 68 00 00 00 03 00 00 23 20 00 00 00 20 \ 06 \ 00 00 00 00 00 00 00 \ 00 02 00 08 00 0d 00 00 \ 00 01 00 48 00 00 00 00 \ 00 01 00 14 00 00 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 01 00 00 00 00 \ 00 00 00 14 00 00 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 02 00 00 00 00 \ 00 03 00 08 00 50 00 00 \ 00 02 00 08 1f 90 00 00 \ "], [0], [dnl NXT_CT_FLUSH (xid=0x3): zone=13 'ct_nw_src=::,ct_nw_dst=::,ct_tp_src=0,ct_tp_dst=0,ct_nw_proto=6' 'ct_nw_src=10.10.0.2,ct_nw_dst=10.10.0.1,ct_tp_src=8080,ct_tp_dst=80' ]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 b0 00 00 00 03 00 00 23 20 00 00 00 20 \ 06 \ 00 00 00 00 00 00 00 \ 00 02 00 08 00 0d 00 00 \ 00 00 00 48 00 00 00 00 \ 00 00 00 14 00 00 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 01 00 00 00 00 \ 00 01 00 14 00 00 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 02 00 00 00 00 \ 00 02 00 08 00 50 00 00 \ 00 03 00 08 1f 90 00 00 \ 00 01 00 48 00 00 00 00 \ 00 01 00 14 00 00 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 01 00 00 00 00 \ 00 00 00 14 00 00 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 02 00 00 00 00 \ 00 03 00 08 00 50 00 00 \ 00 02 00 08 1f 90 00 00 \ "], [0], [dnl NXT_CT_FLUSH (xid=0x3): zone=13 'ct_nw_src=10.10.0.1,ct_nw_dst=10.10.0.2,ct_tp_src=80,ct_tp_dst=8080,ct_nw_proto=6' 'ct_nw_src=10.10.0.2,ct_nw_dst=10.10.0.1,ct_tp_src=8080,ct_tp_dst=80' ]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 b8 00 00 00 03 00 00 23 20 00 00 00 20 \ 01 \ 00 00 00 00 00 00 00 \ 00 00 00 50 00 00 00 00 \ 00 00 00 14 fd 18 00 00 00 00 00 00 00 00 ff ff ab cd 00 01 00 00 00 00 \ 00 01 00 14 fd 18 00 00 00 00 00 00 00 00 ff ff ab cd 00 02 00 00 00 00 \ 00 04 00 08 00 0a 00 00 \ 00 05 00 05 01 00 00 00 \ 00 06 00 05 02 00 00 00 \ 00 01 00 50 00 00 00 00 \ 00 01 00 14 fd 18 00 00 00 00 00 00 00 00 ff ff ab cd 00 02 00 00 00 00 \ 00 00 00 14 fd 18 00 00 00 00 00 00 00 00 ff ff ab cd 00 01 00 00 00 00 \ 00 04 00 08 00 0a 00 00 \ 00 05 00 05 03 00 00 00 \ 00 06 00 05 04 00 00 00 \ "], [0], [dnl NXT_CT_FLUSH (xid=0x3): zone=0 'ct_ipv6_src=fd18::ffff:abcd:1,ct_ipv6_dst=fd18::ffff:abcd:2,icmp_id=10,icmp_type=1,icmp_code=2,ct_nw_proto=1' 'ct_ipv6_src=fd18::ffff:abcd:1,ct_ipv6_dst=fd18::ffff:abcd:2,icmp_id=10,icmp_type=3,icmp_code=4' ]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 58 00 00 00 03 00 00 23 20 00 00 00 20 \ 06 \ 00 00 00 00 00 00 00 \ 00 02 00 08 00 0d 00 00 \ 00 00 00 38 00 00 00 00 \ 00 00 00 14 00 0a 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 01 00 00 00 00 \ 00 01 00 14 00 00 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 02 00 00 00 00 \ " | grep -q OFPBPC_BAD_VALUE], [0]) AT_CHECK([ovs-ofctl ofp-print "\ 01 04 00 60 00 00 00 03 00 00 23 20 00 00 00 20 \ 06 \ 00 00 00 00 00 00 00 \ 00 02 00 08 00 0d 00 00 \ 00 00 00 20 00 00 00 00 \ 00 00 00 14 00 0a 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 01 00 00 00 00 \ 00 01 00 20 00 00 00 00 \ 00 00 00 14 00 00 00 00 00 00 00 00 00 00 ff ff 0a 0a 00 02 00 00 00 00 \ " | grep -q OFPBPC_BAD_VALUE], [0]) AT_CLEANUP