main changes from the previous: - of1.2 tests todo: - of1.3 - tests (of1.0, of1.3)
YAMAMOTO Takashi (19): datapath_connection_factory deal with None datapath.id nx_match: some comments of12: fix OFPExperimenter parser of13: add missing itertools import of12: prefix private attributes of OFPMatch with _ of13: prefix private attributes of OFPMatch with _ of12 OFPMatch: consistently use None to represent "no mask" ofctl_v1_2.actions_to_str: ignore unknown instructions rest_firewall: stop using ofproto_v1_2_parser.UINTxxx_MAX of12 OFPGroupFeaturesStats: add missing self.length of12 OFPGroupFeaturesStats: tuple -> list StringifyMixin: json support of-wire json: adapt OF1.0 of-wire json: adapt OF1.2 test_parser_v12: abuse this to test to_jsondict and from_jsondict of-wire json test: a program to generate test data for unit tests of-wire json test: generated data for unit test of-wire json test: expected results of-wire json test: unit test ryu/app/rest_firewall.py | 8 +- ryu/controller/controller.py | 7 +- ryu/lib/ofctl_v1_2.py | 3 + ryu/lib/stringify.py | 192 + ryu/ofproto/nx_match.py | 6 + ryu/ofproto/ofproto_parser.py | 50 +- ryu/ofproto/ofproto_v1_0_parser.py | 19 +- ryu/ofproto/ofproto_v1_2.py | 12 + ryu/ofproto/ofproto_v1_2_parser.py | 864 +- ryu/ofproto/ofproto_v1_3_parser.py | 453 +- .../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 + ryu/tests/unit/ofproto/mkdata/Makefile | 5 + ryu/tests/unit/ofproto/mkdata/rebar.config | 3 + ryu/tests/unit/ofproto/mkdata/src/er.app.src | 8 + ryu/tests/unit/ofproto/mkdata/src/x.erl | 8550 ++++++++++++++++++++ ryu/tests/unit/ofproto/test_parser.py | 105 + ryu/tests/unit/ofproto/test_parser_v12.py | 243 +- 100 files changed, 15629 insertions(+), 759 deletions(-) create mode 100644 ryu/lib/stringify.py 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/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/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
