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

Reply via email to