this set includes OFPxxx json representation functionality and some fixes necessary to make new tests pass.
YAMAMOTO Takashi (17): fix OFPMeterStats of13 fix OFP_GROUP_DESC_STATS_PACK_STR of12 OFPGroupFeaturesStats: tuple -> list StringifyMixin: json support of-wire json: adapt OF1.0 of-wire json: adapt OF1.0 nicira extention of-wire json: adapt OF1.2 ofproto_v1_2_parser: omit mask attribute from str() when appropriate of-wire json: adapt OF1.3 ofproto_v1_3_parser: omit mask attribute from str() when appropriate test_parser_v12: abuse this to test to_jsondict and from_jsondict add a test for ryu.lib.stringify of-wire json test: expected results of-wire json test: a program to generate test data for unit tests of-wire json test: change the of_protocol upstream of-wire json test: generated data for unit test of-wire json test: unit test ryu/lib/stringify.py | 210 + ryu/ofproto/ofproto_parser.py | 50 +- ryu/ofproto/ofproto_v1_0_parser.py | 103 +- ryu/ofproto/ofproto_v1_2.py | 12 + ryu/ofproto/ofproto_v1_2_parser.py | 415 +- ryu/ofproto/ofproto_v1_3.py | 14 +- ryu/ofproto/ofproto_v1_3_parser.py | 463 +- ryu/tests/unit/lib/test_stringify.py | 70 + .../unit/ofproto/data/1-1-ofp_packet_out.packet | Bin 0 -> 122 bytes .../ofproto/data/1-1-ofp_packet_out.packet.json | 15 + .../unit/ofproto/data/1-2-ofp_flow_mod.packet | Bin 0 -> 80 bytes .../unit/ofproto/data/1-2-ofp_flow_mod.packet.json | 37 + .../unit/ofproto/data/1-4-ofp_packet_in.packet | Bin 0 -> 60 bytes .../ofproto/data/1-4-ofp_packet_in.packet.json | 9 + .../unit/ofproto/data/1-5-features_request.packet | Bin 0 -> 8 bytes .../ofproto/data/1-5-features_request.packet.json | 3 + .../ofproto/data/1-6-ofp_switch_features.packet | Bin 0 -> 128 bytes .../data/1-6-ofp_switch_features.packet.json | 37 + .../ofproto/data/3-0-ofp_desc_stats_reply.packet | Bin 0 -> 1072 bytes .../data/3-0-ofp_desc_stats_reply.packet.json | 14 + .../unit/ofproto/data/3-1-ofp_packet_out.packet | Bin 0 -> 138 bytes .../ofproto/data/3-1-ofp_packet_out.packet.json | 15 + ryu/tests/unit/ofproto/data/3-10-ofp_hello.packet | Bin 0 -> 8 bytes .../unit/ofproto/data/3-10-ofp_hello.packet.json | 3 + .../data/3-11-ofp_flow_stats_request.packet | Bin 0 -> 56 bytes .../data/3-11-ofp_flow_stats_request.packet.json | 15 + .../ofproto/data/3-12-ofp_flow_stats_reply.packet | Bin 0 -> 320 bytes .../data/3-12-ofp_flow_stats_reply.packet.json | 138 + .../unit/ofproto/data/3-13-ofp_echo_request.packet | Bin 0 -> 12 bytes .../ofproto/data/3-13-ofp_echo_request.packet.json | 5 + .../unit/ofproto/data/3-14-ofp_echo_reply.packet | Bin 0 -> 12 bytes .../ofproto/data/3-14-ofp_echo_reply.packet.json | 5 + .../unit/ofproto/data/3-15-ofp_error_msg.packet | Bin 0 -> 20 bytes .../ofproto/data/3-15-ofp_error_msg.packet.json | 7 + .../unit/ofproto/data/3-16-ofp_experimenter.packet | Bin 0 -> 20 bytes .../ofproto/data/3-16-ofp_experimenter.packet.json | 7 + .../ofproto/data/3-17-ofp_barrier_request.packet | Bin 0 -> 8 bytes .../data/3-17-ofp_barrier_request.packet.json | 3 + .../ofproto/data/3-18-ofp_barrier_reply.packet | Bin 0 -> 8 bytes .../data/3-18-ofp_barrier_reply.packet.json | 3 + .../unit/ofproto/data/3-19-ofp_role_request.packet | Bin 0 -> 24 bytes .../ofproto/data/3-19-ofp_role_request.packet.json | 6 + .../unit/ofproto/data/3-2-ofp_flow_mod.packet | Bin 0 -> 88 bytes .../unit/ofproto/data/3-2-ofp_flow_mod.packet.json | 41 + .../unit/ofproto/data/3-20-ofp_role_reply.packet | Bin 0 -> 24 bytes .../ofproto/data/3-20-ofp_role_reply.packet.json | 6 + .../unit/ofproto/data/3-21-ofp_group_mod.packet | Bin 0 -> 48 bytes .../ofproto/data/3-21-ofp_group_mod.packet.json | 24 + .../unit/ofproto/data/3-22-ofp_port_mod.packet | Bin 0 -> 40 bytes .../ofproto/data/3-22-ofp_port_mod.packet.json | 9 + .../unit/ofproto/data/3-23-ofp_table_mod.packet | Bin 0 -> 16 bytes .../ofproto/data/3-23-ofp_table_mod.packet.json | 6 + .../data/3-24-ofp_desc_stats_request.packet | Bin 0 -> 16 bytes .../data/3-24-ofp_desc_stats_request.packet.json | 5 + .../data/3-25-ofp_aggregate_stats_request.packet | Bin 0 -> 56 bytes .../3-25-ofp_aggregate_stats_request.packet.json | 15 + .../data/3-26-ofp_aggregate_stats_reply.packet | Bin 0 -> 40 bytes .../3-26-ofp_aggregate_stats_reply.packet.json | 12 + .../data/3-27-ofp_table_stats_request.packet | Bin 0 -> 16 bytes .../data/3-27-ofp_table_stats_request.packet.json | 5 + .../ofproto/data/3-28-ofp_table_stats_reply.packet | Bin 0 -> 32656 bytes .../data/3-28-ofp_table_stats_reply.packet.json | 5107 ++++++++++++ .../data/3-29-ofp_port_stats_request.packet | Bin 0 -> 24 bytes .../data/3-29-ofp_port_stats_request.packet.json | 6 + .../unit/ofproto/data/3-3-ofp_flow_mod.packet | Bin 0 -> 80 bytes .../unit/ofproto/data/3-3-ofp_flow_mod.packet.json | 38 + .../ofproto/data/3-30-ofp_port_stats_reply.packet | Bin 0 -> 224 bytes .../data/3-30-ofp_port_stats_reply.packet.json | 41 + .../3-31-ofp_group_features_stats_request.packet | Bin 0 -> 16 bytes ...31-ofp_group_features_stats_request.packet.json | 5 + .../3-32-ofp_group_features_stats_reply.packet | Bin 0 -> 56 bytes ...3-32-ofp_group_features_stats_reply.packet.json | 23 + .../data/3-33-ofp_group_desc_stats_request.packet | Bin 0 -> 16 bytes .../3-33-ofp_group_desc_stats_request.packet.json | 5 + .../data/3-34-ofp_group_desc_stats_reply.packet | Bin 0 -> 56 bytes .../3-34-ofp_group_desc_stats_reply.packet.json | 30 + .../data/3-35-ofp_queue_get_config_request.packet | Bin 0 -> 16 bytes .../3-35-ofp_queue_get_config_request.packet.json | 5 + .../data/3-36-ofp_queue_get_config_reply.packet | Bin 0 -> 112 bytes .../3-36-ofp_queue_get_config_reply.packet.json | 43 + .../data/3-37-ofp_queue_stats_request.packet | Bin 0 -> 24 bytes .../data/3-37-ofp_queue_stats_request.packet.json | 7 + .../ofproto/data/3-38-ofp_queue_stats_reply.packet | Bin 0 -> 112 bytes .../data/3-38-ofp_queue_stats_reply.packet.json | 34 + .../unit/ofproto/data/3-39-ofp_port_status.packet | Bin 0 -> 80 bytes .../ofproto/data/3-39-ofp_port_status.packet.json | 20 + .../unit/ofproto/data/3-4-ofp_packet_in.packet | Bin 0 -> 140 bytes .../ofproto/data/3-4-ofp_packet_in.packet.json | 61 + .../unit/ofproto/data/3-40-ofp_flow_removed.packet | Bin 0 -> 64 bytes .../ofproto/data/3-40-ofp_flow_removed.packet.json | 26 + .../data/3-41-ofp_error_msg_experimenter.packet | Bin 0 -> 27 bytes .../3-41-ofp_error_msg_experimenter.packet.json | 7 + .../ofproto/data/3-5-ofp_features_request.packet | Bin 0 -> 8 bytes .../data/3-5-ofp_features_request.packet.json | 3 + .../ofproto/data/3-6-ofp_features_reply.packet | Bin 0 -> 160 bytes .../data/3-6-ofp_features_reply.packet.json | 40 + .../unit/ofproto/data/3-7-ofp_set_config.packet | Bin 0 -> 12 bytes .../ofproto/data/3-7-ofp_set_config.packet.json | 6 + .../ofproto/data/3-8-ofp_get_config_request.packet | Bin 0 -> 8 bytes .../data/3-8-ofp_get_config_request.packet.json | 3 + .../ofproto/data/3-9-ofp_get_config_reply.packet | Bin 0 -> 12 bytes .../data/3-9-ofp_get_config_reply.packet.json | 6 + .../unit/ofproto/data/4-0-ofp_desc_reply.packet | Bin 0 -> 1072 bytes .../ofproto/data/4-0-ofp_desc_reply.packet.json | 14 + .../unit/ofproto/data/4-1-ofp_packet_out.packet | Bin 0 -> 138 bytes .../ofproto/data/4-1-ofp_packet_out.packet.json | 15 + ryu/tests/unit/ofproto/data/4-10-ofp_hello.packet | Bin 0 -> 16 bytes .../unit/ofproto/data/4-10-ofp_hello.packet.json | 18 + .../data/4-11-ofp_flow_stats_request.packet | Bin 0 -> 56 bytes .../data/4-11-ofp_flow_stats_request.packet.json | 15 + .../ofproto/data/4-12-ofp_flow_stats_reply.packet | Bin 0 -> 320 bytes .../data/4-12-ofp_flow_stats_reply.packet.json | 142 + .../unit/ofproto/data/4-13-ofp_echo_request.packet | Bin 0 -> 12 bytes .../ofproto/data/4-13-ofp_echo_request.packet.json | 5 + .../unit/ofproto/data/4-14-ofp_echo_reply.packet | Bin 0 -> 12 bytes .../ofproto/data/4-14-ofp_echo_reply.packet.json | 5 + .../unit/ofproto/data/4-15-ofp_error_msg.packet | Bin 0 -> 20 bytes .../ofproto/data/4-15-ofp_error_msg.packet.json | 7 + .../unit/ofproto/data/4-16-ofp_experimenter.packet | Bin 0 -> 20 bytes .../ofproto/data/4-16-ofp_experimenter.packet.json | 7 + .../ofproto/data/4-17-ofp_barrier_request.packet | Bin 0 -> 8 bytes .../data/4-17-ofp_barrier_request.packet.json | 3 + .../ofproto/data/4-18-ofp_barrier_reply.packet | Bin 0 -> 8 bytes .../data/4-18-ofp_barrier_reply.packet.json | 3 + .../unit/ofproto/data/4-19-ofp_role_request.packet | Bin 0 -> 24 bytes .../ofproto/data/4-19-ofp_role_request.packet.json | 6 + .../unit/ofproto/data/4-2-ofp_flow_mod.packet | Bin 0 -> 88 bytes .../unit/ofproto/data/4-2-ofp_flow_mod.packet.json | 41 + .../unit/ofproto/data/4-20-ofp_role_reply.packet | Bin 0 -> 24 bytes .../ofproto/data/4-20-ofp_role_reply.packet.json | 6 + .../unit/ofproto/data/4-21-ofp_group_mod.packet | Bin 0 -> 48 bytes .../ofproto/data/4-21-ofp_group_mod.packet.json | 24 + .../unit/ofproto/data/4-22-ofp_port_mod.packet | Bin 0 -> 40 bytes .../ofproto/data/4-22-ofp_port_mod.packet.json | 9 + .../unit/ofproto/data/4-23-ofp_table_mod.packet | Bin 0 -> 16 bytes .../ofproto/data/4-23-ofp_table_mod.packet.json | 6 + .../unit/ofproto/data/4-24-ofp_desc_request.packet | Bin 0 -> 16 bytes .../ofproto/data/4-24-ofp_desc_request.packet.json | 5 + .../data/4-25-ofp_aggregate_stats_request.packet | Bin 0 -> 56 bytes .../4-25-ofp_aggregate_stats_request.packet.json | 15 + .../data/4-26-ofp_aggregate_stats_reply.packet | Bin 0 -> 40 bytes .../4-26-ofp_aggregate_stats_reply.packet.json | 12 + .../data/4-27-ofp_table_stats_request.packet | Bin 0 -> 16 bytes .../data/4-27-ofp_table_stats_request.packet.json | 5 + .../ofproto/data/4-28-ofp_table_stats_reply.packet | Bin 0 -> 64 bytes .../data/4-28-ofp_table_stats_reply.packet.json | 23 + .../data/4-29-ofp_port_stats_request.packet | Bin 0 -> 24 bytes .../data/4-29-ofp_port_stats_request.packet.json | 6 + .../unit/ofproto/data/4-3-ofp_flow_mod.packet | Bin 0 -> 80 bytes .../unit/ofproto/data/4-3-ofp_flow_mod.packet.json | 38 + .../ofproto/data/4-30-ofp_port_stats_reply.packet | Bin 0 -> 240 bytes .../data/4-30-ofp_port_stats_reply.packet.json | 45 + .../data/4-31-ofp_group_features_request.packet | Bin 0 -> 16 bytes .../4-31-ofp_group_features_request.packet.json | 5 + .../data/4-32-ofp_group_features_reply.packet | Bin 0 -> 56 bytes .../data/4-32-ofp_group_features_reply.packet.json | 23 + .../data/4-33-ofp_group_desc_request.packet | Bin 0 -> 16 bytes .../data/4-33-ofp_group_desc_request.packet.json | 5 + .../ofproto/data/4-34-ofp_group_desc_reply.packet | Bin 0 -> 56 bytes .../data/4-34-ofp_group_desc_reply.packet.json | 30 + .../data/4-35-ofp_queue_get_config_request.packet | Bin 0 -> 16 bytes .../4-35-ofp_queue_get_config_request.packet.json | 5 + .../data/4-36-ofp_queue_get_config_reply.packet | Bin 0 -> 112 bytes .../4-36-ofp_queue_get_config_reply.packet.json | 43 + .../data/4-37-ofp_queue_stats_request.packet | Bin 0 -> 24 bytes .../data/4-37-ofp_queue_stats_request.packet.json | 7 + .../ofproto/data/4-38-ofp_queue_stats_reply.packet | Bin 0 -> 136 bytes .../data/4-38-ofp_queue_stats_reply.packet.json | 40 + .../unit/ofproto/data/4-39-ofp_port_status.packet | Bin 0 -> 80 bytes .../ofproto/data/4-39-ofp_port_status.packet.json | 20 + .../unit/ofproto/data/4-4-ofp_packet_in.packet | Bin 0 -> 148 bytes .../ofproto/data/4-4-ofp_packet_in.packet.json | 62 + .../unit/ofproto/data/4-40-ofp_flow_removed.packet | Bin 0 -> 64 bytes .../ofproto/data/4-40-ofp_flow_removed.packet.json | 26 + .../ofproto/data/4-42-ofp_get_async_request.packet | Bin 0 -> 8 bytes .../data/4-42-ofp_get_async_request.packet.json | 3 + .../ofproto/data/4-43-ofp_get_async_reply.packet | Bin 0 -> 32 bytes .../data/4-43-ofp_get_async_reply.packet.json | 16 + .../unit/ofproto/data/4-44-ofp_set_async.packet | Bin 0 -> 32 bytes .../ofproto/data/4-44-ofp_set_async.packet.json | 16 + .../unit/ofproto/data/4-46-ofp_flow_mod.packet | Bin 0 -> 96 bytes .../ofproto/data/4-46-ofp_flow_mod.packet.json | 46 + .../data/4-47-ofp_meter_config_request.packet | Bin 0 -> 24 bytes .../data/4-47-ofp_meter_config_request.packet.json | 6 + .../data/4-48-ofp_meter_config_reply.packet | Bin 0 -> 40 bytes .../data/4-48-ofp_meter_config_reply.packet.json | 23 + .../data/4-49-ofp_meter_stats_request.packet | Bin 0 -> 24 bytes .../data/4-49-ofp_meter_stats_request.packet.json | 6 + .../ofproto/data/4-5-ofp_features_request.packet | Bin 0 -> 8 bytes .../data/4-5-ofp_features_request.packet.json | 3 + .../ofproto/data/4-50-ofp_meter_stats_reply.packet | Bin 0 -> 72 bytes .../data/4-50-ofp_meter_stats_reply.packet.json | 25 + .../data/4-51-ofp_meter_features_request.packet | Bin 0 -> 16 bytes .../4-51-ofp_meter_features_request.packet.json | 5 + .../data/4-52-ofp_meter_features_reply.packet | Bin 0 -> 32 bytes .../data/4-52-ofp_meter_features_reply.packet.json | 16 + .../ofproto/data/4-6-ofp_features_reply.packet | Bin 0 -> 32 bytes .../data/4-6-ofp_features_reply.packet.json | 9 + .../unit/ofproto/data/4-7-ofp_set_config.packet | Bin 0 -> 12 bytes .../ofproto/data/4-7-ofp_set_config.packet.json | 6 + .../ofproto/data/4-8-ofp_get_config_request.packet | Bin 0 -> 8 bytes .../data/4-8-ofp_get_config_request.packet.json | 3 + .../ofproto/data/4-9-ofp_get_config_reply.packet | Bin 0 -> 12 bytes .../data/4-9-ofp_get_config_reply.packet.json | 6 + ryu/tests/unit/ofproto/mkdata/Makefile | 5 + ryu/tests/unit/ofproto/mkdata/rebar.config | 31 + ryu/tests/unit/ofproto/mkdata/src/er.app.src | 24 + ryu/tests/unit/ofproto/mkdata/src/x.erl | 58 + ryu/tests/unit/ofproto/mkdata/src/x1.erl | 8476 +++++++++++++++++++ ryu/tests/unit/ofproto/mkdata/src/x3.erl | 8539 ++++++++++++++++++++ ryu/tests/unit/ofproto/mkdata/src/x4.erl | 445 + .../unit/ofproto/mkdata/src/x_flower_packet.erl | 61 + .../unit/ofproto/mkdata/src/x_of_protocol.erl | 33 + ryu/tests/unit/ofproto/test_parser.py | 105 + ryu/tests/unit/ofproto/test_parser_v12.py | 80 +- 215 files changed, 25662 insertions(+), 423 deletions(-) create mode 100644 ryu/lib/stringify.py create mode 100644 ryu/tests/unit/lib/test_stringify.py create mode 100644 ryu/tests/unit/ofproto/data/1-1-ofp_packet_out.packet create mode 100644 ryu/tests/unit/ofproto/data/1-1-ofp_packet_out.packet.json create mode 100644 ryu/tests/unit/ofproto/data/1-2-ofp_flow_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/1-2-ofp_flow_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/1-4-ofp_packet_in.packet create mode 100644 ryu/tests/unit/ofproto/data/1-4-ofp_packet_in.packet.json create mode 100644 ryu/tests/unit/ofproto/data/1-5-features_request.packet create mode 100644 ryu/tests/unit/ofproto/data/1-5-features_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/1-6-ofp_switch_features.packet create mode 100644 ryu/tests/unit/ofproto/data/1-6-ofp_switch_features.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-0-ofp_desc_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-0-ofp_desc_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-1-ofp_packet_out.packet create mode 100644 ryu/tests/unit/ofproto/data/3-1-ofp_packet_out.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-10-ofp_hello.packet create mode 100644 ryu/tests/unit/ofproto/data/3-10-ofp_hello.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-11-ofp_flow_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-11-ofp_flow_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-12-ofp_flow_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-12-ofp_flow_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-13-ofp_echo_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-13-ofp_echo_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-14-ofp_echo_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-14-ofp_echo_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-15-ofp_error_msg.packet create mode 100644 ryu/tests/unit/ofproto/data/3-15-ofp_error_msg.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-16-ofp_experimenter.packet create mode 100644 ryu/tests/unit/ofproto/data/3-16-ofp_experimenter.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-17-ofp_barrier_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-17-ofp_barrier_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-18-ofp_barrier_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-18-ofp_barrier_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-19-ofp_role_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-19-ofp_role_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-2-ofp_flow_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/3-2-ofp_flow_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-20-ofp_role_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-20-ofp_role_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-21-ofp_group_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/3-21-ofp_group_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-22-ofp_port_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/3-22-ofp_port_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-23-ofp_table_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/3-23-ofp_table_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-24-ofp_desc_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-24-ofp_desc_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-25-ofp_aggregate_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-25-ofp_aggregate_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-26-ofp_aggregate_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-26-ofp_aggregate_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-27-ofp_table_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-27-ofp_table_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-28-ofp_table_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-28-ofp_table_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-29-ofp_port_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-29-ofp_port_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-3-ofp_flow_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/3-3-ofp_flow_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-30-ofp_port_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-30-ofp_port_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-31-ofp_group_features_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-31-ofp_group_features_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-32-ofp_group_features_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-32-ofp_group_features_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-33-ofp_group_desc_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-33-ofp_group_desc_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-34-ofp_group_desc_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-34-ofp_group_desc_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-35-ofp_queue_get_config_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-35-ofp_queue_get_config_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-36-ofp_queue_get_config_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-36-ofp_queue_get_config_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-37-ofp_queue_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-37-ofp_queue_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-38-ofp_queue_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-38-ofp_queue_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-39-ofp_port_status.packet create mode 100644 ryu/tests/unit/ofproto/data/3-39-ofp_port_status.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-4-ofp_packet_in.packet create mode 100644 ryu/tests/unit/ofproto/data/3-4-ofp_packet_in.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-40-ofp_flow_removed.packet create mode 100644 ryu/tests/unit/ofproto/data/3-40-ofp_flow_removed.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-41-ofp_error_msg_experimenter.packet create mode 100644 ryu/tests/unit/ofproto/data/3-41-ofp_error_msg_experimenter.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-5-ofp_features_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-5-ofp_features_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-6-ofp_features_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-6-ofp_features_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-7-ofp_set_config.packet create mode 100644 ryu/tests/unit/ofproto/data/3-7-ofp_set_config.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-8-ofp_get_config_request.packet create mode 100644 ryu/tests/unit/ofproto/data/3-8-ofp_get_config_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/3-9-ofp_get_config_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/3-9-ofp_get_config_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-0-ofp_desc_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-0-ofp_desc_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-1-ofp_packet_out.packet create mode 100644 ryu/tests/unit/ofproto/data/4-1-ofp_packet_out.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-10-ofp_hello.packet create mode 100644 ryu/tests/unit/ofproto/data/4-10-ofp_hello.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-11-ofp_flow_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-11-ofp_flow_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-12-ofp_flow_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-12-ofp_flow_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-13-ofp_echo_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-13-ofp_echo_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-14-ofp_echo_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-14-ofp_echo_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-15-ofp_error_msg.packet create mode 100644 ryu/tests/unit/ofproto/data/4-15-ofp_error_msg.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-16-ofp_experimenter.packet create mode 100644 ryu/tests/unit/ofproto/data/4-16-ofp_experimenter.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-17-ofp_barrier_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-17-ofp_barrier_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-18-ofp_barrier_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-18-ofp_barrier_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-19-ofp_role_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-19-ofp_role_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-2-ofp_flow_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/4-2-ofp_flow_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-20-ofp_role_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-20-ofp_role_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-21-ofp_group_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/4-21-ofp_group_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-22-ofp_port_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/4-22-ofp_port_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-23-ofp_table_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/4-23-ofp_table_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-24-ofp_desc_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-24-ofp_desc_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-25-ofp_aggregate_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-25-ofp_aggregate_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-26-ofp_aggregate_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-26-ofp_aggregate_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-27-ofp_table_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-27-ofp_table_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-28-ofp_table_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-28-ofp_table_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-29-ofp_port_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-29-ofp_port_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-3-ofp_flow_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/4-3-ofp_flow_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-30-ofp_port_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-30-ofp_port_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-31-ofp_group_features_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-31-ofp_group_features_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-32-ofp_group_features_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-32-ofp_group_features_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-33-ofp_group_desc_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-33-ofp_group_desc_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-34-ofp_group_desc_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-34-ofp_group_desc_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-35-ofp_queue_get_config_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-35-ofp_queue_get_config_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-36-ofp_queue_get_config_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-36-ofp_queue_get_config_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-37-ofp_queue_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-37-ofp_queue_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-38-ofp_queue_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-38-ofp_queue_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-39-ofp_port_status.packet create mode 100644 ryu/tests/unit/ofproto/data/4-39-ofp_port_status.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-4-ofp_packet_in.packet create mode 100644 ryu/tests/unit/ofproto/data/4-4-ofp_packet_in.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-40-ofp_flow_removed.packet create mode 100644 ryu/tests/unit/ofproto/data/4-40-ofp_flow_removed.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-42-ofp_get_async_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-42-ofp_get_async_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-43-ofp_get_async_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-43-ofp_get_async_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-44-ofp_set_async.packet create mode 100644 ryu/tests/unit/ofproto/data/4-44-ofp_set_async.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-46-ofp_flow_mod.packet create mode 100644 ryu/tests/unit/ofproto/data/4-46-ofp_flow_mod.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-47-ofp_meter_config_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-47-ofp_meter_config_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-48-ofp_meter_config_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-48-ofp_meter_config_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-49-ofp_meter_stats_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-49-ofp_meter_stats_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-5-ofp_features_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-5-ofp_features_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-50-ofp_meter_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-50-ofp_meter_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-51-ofp_meter_features_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-51-ofp_meter_features_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-52-ofp_meter_features_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-52-ofp_meter_features_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-6-ofp_features_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-6-ofp_features_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-7-ofp_set_config.packet create mode 100644 ryu/tests/unit/ofproto/data/4-7-ofp_set_config.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-8-ofp_get_config_request.packet create mode 100644 ryu/tests/unit/ofproto/data/4-8-ofp_get_config_request.packet.json create mode 100644 ryu/tests/unit/ofproto/data/4-9-ofp_get_config_reply.packet create mode 100644 ryu/tests/unit/ofproto/data/4-9-ofp_get_config_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/mkdata/Makefile create mode 100644 ryu/tests/unit/ofproto/mkdata/rebar.config create mode 100644 ryu/tests/unit/ofproto/mkdata/src/er.app.src create mode 100644 ryu/tests/unit/ofproto/mkdata/src/x.erl create mode 100644 ryu/tests/unit/ofproto/mkdata/src/x1.erl create mode 100644 ryu/tests/unit/ofproto/mkdata/src/x3.erl create mode 100644 ryu/tests/unit/ofproto/mkdata/src/x4.erl create mode 100644 ryu/tests/unit/ofproto/mkdata/src/x_flower_packet.erl create mode 100644 ryu/tests/unit/ofproto/mkdata/src/x_of_protocol.erl create mode 100644 ryu/tests/unit/ofproto/test_parser.py -- 1.8.1.5 ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
