diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json new file mode 100644 index 00000000..248131fd --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json @@ -0,0 +1,18 @@ +{ + "OFPAggregateStatsRequest": { + "cookie": 0, + "cookie_mask": 0, + "flags": 0, + "match": { + "OFPMatch": { + "length": 4, + "oxm_fields": [], + "type": 1 + } + }, + "out_group": 4294967295, + "out_port": 4294967295, + "table_id": 255, + "type": 2 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json new file mode 100644 index 00000000..11f8cfcc --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json @@ -0,0 +1,3 @@ +{ + "OFPBarrierReply": {} +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json new file mode 100644 index 00000000..2aae9ec3 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json @@ -0,0 +1,3 @@ +{ + "OFPBarrierRequest": {} +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json new file mode 100644 index 00000000..26e5dc2d --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json @@ -0,0 +1,15 @@ +{ + "OFPDescStatsReply": { + "body": { + "OFPDescStats": { + "dp_desc": "dp", + "hw_desc": "hw", + "mfr_desc": "mfr", + "serial_num": "serial", + "sw_desc": "sw" + } + }, + "flags": 0, + "type": 0 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json new file mode 100644 index 00000000..5b23f8bc --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json @@ -0,0 +1,6 @@ +{ + "OFPDescStatsRequest": { + "flags": 0, + "type": 0 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json new file mode 100644 index 00000000..2a573634 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json @@ -0,0 +1,5 @@ +{ + "OFPEchoReply": { + "data": "aG9nZQ==" + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json new file mode 100644 index 00000000..e1f2af42 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json @@ -0,0 +1,5 @@ +{ + "OFPEchoRequest": { + "data": "aG9nZQ==" + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json new file mode 100644 index 00000000..e9ab2b5e --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json @@ -0,0 +1,7 @@ +{ + "OFPErrorMsg": { + "code": 11, + "data": "ZnVnYWZ1Z2E=", + "type": 2 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json new file mode 100644 index 00000000..37bfb6a9 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json @@ -0,0 +1,8 @@ +{ + "OFPErrorExperimenterMsg": { + "data": "amlra2VuIGRhdGE=", + "exp_type": 60000, + "experimenter": 999999, + "type": 65535 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json new file mode 100644 index 00000000..1eb06b84 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json @@ -0,0 +1,13 @@ +{ + "OFPExperimenterStatsReply": { + "body": { + "OFPExperimenterMultipart": { + "data": "dGVzdGRhdGE5OTk5OTk5OQ==", + "exp_type": 3405674359, + "experimenter": 3735928495 + } + }, + "flags": 0, + "type": 65535 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json new file mode 100644 index 00000000..93af3039 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json @@ -0,0 +1,9 @@ +{ + "OFPExperimenterStatsRequest": { + "data": "aG9nZWhvZ2U=", + "exp_type": 3405678728, + "experimenter": 3735928495, + "flags": 0, + "type": 65535 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json new file mode 100644 index 00000000..12e8744a --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json @@ -0,0 +1,9 @@ +{ + "OFPSwitchFeatures": { + "auxiliary_id": 99, + "capabilities": 79, + "datapath_id": 9210263729383, + "n_buffers": 0, + "n_tables": 255 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json new file mode 100644 index 00000000..8f48ad5a --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json @@ -0,0 +1,3 @@ +{ + "OFPFeaturesRequest": {} +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json new file mode 100644 index 00000000..8c028877 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json @@ -0,0 +1,66 @@ +{ + "OFPFlowMonitorReply": { + "body": [ + { + "OFPFlowUpdateFull": { + "cookie": 0, + "event": 0, + "hard_timeout": 700, + "idle_timeout": 600, + "instructions": [ + { + "OFPInstructionActions": { + "actions": [ + { + "OFPActionOutput": { + "len": 16, + "max_len": 0, + "port": 4294967290, + "type": 0 + } + } + ], + "len": 24, + "type": 4 + } + } + ], + "length": 64, + "match": { + "OFPMatch": { + "length": 10, + "oxm_fields": [ + { + "OXMTlv": { + "field": "eth_type", + "mask": null, + "value": 2054 + } + } + ], + "type": 1 + } + }, + "priority": 3, + "reason": 0, + "table_id": 0 + } + }, + { + "OFPFlowUpdateAbbrev": { + "event": 4, + "length": 8, + "xid": 1234 + } + }, + { + "OFPFlowUpdatePaused": { + "event": 5, + "length": 8 + } + } + ], + "flags": 0, + "type": 16 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json new file mode 100644 index 00000000..aed7ddaa --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json @@ -0,0 +1,27 @@ +{ + "OFPFlowMonitorRequest": { + "command": 0, + "flags": 0, + "match": { + "OFPMatch": { + "length": 14, + "oxm_fields": [ + { + "OXMTlv": { + "field": "eth_dst", + "mask": null, + "value": "f2:0b:a4:7d:f8:ea" + } + } + ], + "type": 1 + } + }, + "monitor_flags": 15, + "monitor_id": 100000000, + "out_group": 4294967295, + "out_port": 22, + "table_id": 33, + "type": 16 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json new file mode 100644 index 00000000..2baccad4 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json @@ -0,0 +1,18 @@ +{ + "OFPFlowStatsRequest": { + "cookie": 0, + "cookie_mask": 0, + "flags": 0, + "match": { + "OFPMatch": { + "length": 4, + "oxm_fields": [], + "type": 1 + } + }, + "out_group": 4294967295, + "out_port": 4294967295, + "table_id": 0, + "type": 1 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json new file mode 100644 index 00000000..82c9e794 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json @@ -0,0 +1,122 @@ +{ + "OFPGetAsyncReply": { + "properties": [ + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 0 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 1 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 2 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 3 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 4 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 5 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 6 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 7 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 24, + "type": 8 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 24, + "type": 9 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 10 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 11 + } + }, + { + "OFPAsyncConfigPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65534 + } + }, + { + "OFPAsyncConfigPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPAsyncConfigPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ] + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json new file mode 100644 index 00000000..7daa5a0f --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json @@ -0,0 +1,3 @@ +{ + "OFPGetAsyncRequest": {} +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json new file mode 100644 index 00000000..62b37b4d --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json @@ -0,0 +1,6 @@ +{ + "OFPGetConfigReply": { + "flags": 0, + "miss_send_len": 128 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json new file mode 100644 index 00000000..06fe51f4 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json @@ -0,0 +1,3 @@ +{ + "OFPGetConfigRequest": {} +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json new file mode 100644 index 00000000..f059f994 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json @@ -0,0 +1,24 @@ +{ + "OFPGroupFeaturesStatsReply": { + "body": { + "OFPGroupFeaturesStats": { + "actions": [ + 67082241, + 67082241, + 67082241, + 67082241 + ], + "capabilities": 5, + "max_groups": [ + 16777216, + 16777216, + 16777216, + 16777216 + ], + "types": 15 + } + }, + "flags": 0, + "type": 8 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json new file mode 100644 index 00000000..edba5dc5 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json @@ -0,0 +1,6 @@ +{ + "OFPGroupFeaturesStatsRequest": { + "flags": 0, + "type": 8 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json new file mode 100644 index 00000000..cb979e54 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json @@ -0,0 +1,27 @@ +{ + "OFPGroupStatsReply": { + "body": [ + { + "OFPGroupStats": { + "bucket_stats": [ + { + "OFPBucketCounter": { + "byte_count": 2345, + "packet_count": 234 + } + } + ], + "byte_count": 12345, + "duration_nsec": 609036000, + "duration_sec": 9, + "group_id": 1, + "length": 56, + "packet_count": 123, + "ref_count": 2 + } + } + ], + "flags": 0, + "type": 6 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json new file mode 100644 index 00000000..b200a81c --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json @@ -0,0 +1,7 @@ +{ + "OFPGroupStatsRequest": { + "flags": 0, + "group_id": 4294967292, + "type": 6 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json new file mode 100644 index 00000000..d03ff84b --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json @@ -0,0 +1,20 @@ +{ + "OFPHello": { + "elements": [ + { + "OFPHelloElemVersionBitmap": { + "length": 8, + "type": 1, + "versions": [ + 1, + 2, + 3, + 9, + 10, + 30 + ] + } + } + ] + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json new file mode 100644 index 00000000..4ea5bfcf --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json @@ -0,0 +1,25 @@ +{ + "OFPMeterDescStatsReply": { + "body": [ + { + "OFPMeterDescStats": { + "bands": [ + { + "OFPMeterBandDrop": { + "burst_size": 10, + "len": 16, + "rate": 1000, + "type": 1 + } + } + ], + "flags": 14, + "length": 24, + "meter_id": 100 + } + } + ], + "flags": 0, + "type": 10 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json new file mode 100644 index 00000000..fdc1adc9 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json @@ -0,0 +1,7 @@ +{ + "OFPMeterDescStatsRequest": { + "flags": 0, + "meter_id": 4294967295, + "type": 10 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json new file mode 100644 index 00000000..e3f6918f --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json @@ -0,0 +1,17 @@ +{ + "OFPMeterFeaturesStatsReply": { + "body": [ + { + "OFPMeterFeaturesStats": { + "band_types": 2147483654, + "capabilities": 15, + "max_bands": 255, + "max_color": 0, + "max_meter": 16777216 + } + } + ], + "flags": 0, + "type": 11 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json new file mode 100644 index 00000000..7363a342 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json @@ -0,0 +1,6 @@ +{ + "OFPMeterFeaturesStatsRequest": { + "flags": 0, + "type": 11 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json new file mode 100644 index 00000000..eba4540a --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json @@ -0,0 +1,35 @@ +{ + "OFPMeterMod": { + "bands": [ + { + "OFPMeterBandDrop": { + "burst_size": 10, + "len": 16, + "rate": 1000, + "type": 1 + } + }, + { + "OFPMeterBandDscpRemark": { + "burst_size": 10, + "len": 16, + "prec_level": 1, + "rate": 1000, + "type": 2 + } + }, + { + "OFPMeterBandExperimenter": { + "burst_size": 10, + "experimenter": 999, + "len": 16, + "rate": 1000, + "type": 65535 + } + } + ], + "command": 0, + "flags": 14, + "meter_id": 100 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json new file mode 100644 index 00000000..1bb4b39e --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json @@ -0,0 +1,27 @@ +{ + "OFPMeterStatsReply": { + "body": [ + { + "OFPMeterStats": { + "band_stats": [ + { + "OFPMeterBandStats": { + "byte_band_count": 0, + "packet_band_count": 0 + } + } + ], + "byte_in_count": 0, + "duration_nsec": 480000, + "duration_sec": 0, + "ref_count": 0, + "len": 56, + "meter_id": 100, + "packet_in_count": 0 + } + } + ], + "flags": 0, + "type": 9 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json new file mode 100644 index 00000000..8d45799b --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json @@ -0,0 +1,7 @@ +{ + "OFPMeterStatsRequest": { + "flags": 0, + "meter_id": 4294967295, + "type": 9 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json new file mode 100644 index 00000000..c281c0f8 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json @@ -0,0 +1,103 @@ +{ + "OFPPortDescStatsReply": { + "body": [ + { + "OFPPort": { + "config": 0, + "hw_addr": "f2:0b:a4:d0:3f:70", + "length": 168, + "name": "Port7", + "port_no": 7, + "properties": [ + { + "OFPPortDescPropEthernet": { + "advertised": 10240, + "curr": 10248, + "curr_speed": 5000, + "length": 32, + "max_speed": 5000, + "peer": 10248, + "supported": 10248, + "type": 0 + } + }, + { + "OFPPortDescPropOptical": { + "length": 40, + "rx_grid_freq_lmda": 1500, + "rx_max_freq_lmda": 2000, + "rx_min_freq_lmda": 1000, + "supported": 1, + "tx_grid_freq_lmda": 1500, + "tx_max_freq_lmda": 2000, + "tx_min_freq_lmda": 1000, + "tx_pwr_max": 2000, + "tx_pwr_min": 1000, + "type": 1 + } + }, + { + "OFPPortDescPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + }, + { + "OFPPortDescPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPPortDescPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ], + "state": 4 + } + }, + { + "OFPPort": { + "config": 0, + "hw_addr": "f2:0b:a4:7d:f8:ea", + "length": 72, + "name": "Port6", + "port_no": 6, + "properties": [ + { + "OFPPortDescPropEthernet": { + "advertised": 10240, + "curr": 10248, + "curr_speed": 5000, + "length": 32, + "max_speed": 5000, + "peer": 10248, + "supported": 10248, + "type": 0 + } + } + ], + "state": 4 + } + } + ], + "flags": 0, + "type": 13 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json new file mode 100644 index 00000000..a255b9dd --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json @@ -0,0 +1,60 @@ +{ + "OFPPortMod": { + "config": 0, + "hw_addr": "00:11:00:00:11:11", + "mask": 0, + "port_no": 1, + "properties": [ + { + "OFPPortModPropEthernet": { + "advertise": 4096, + "length": 8, + "type": 0 + } + }, + { + "OFPPortModPropOptical": { + "configure": 3, + "fl_offset": 2000, + "freq_lmda": 1500, + "grid_span": 3000, + "length": 24, + "tx_pwr": 300, + "type": 1 + } + }, + { + "OFPPortModPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + }, + { + "OFPPortModPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPPortModPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ] + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json new file mode 100644 index 00000000..4ea41742 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json @@ -0,0 +1,113 @@ +{ + "OFPPortStatsReply": { + "body": [ + { + "OFPPortStats": { + "duration_nsec": 0, + "duration_sec": 0, + "length": 224, + "port_no": 7, + "properties": [ + { + "OFPPortStatsPropEthernet": { + "collisions": 0, + "length": 40, + "rx_crc_err": 0, + "rx_frame_err": 0, + "rx_over_err": 0, + "type": 0 + } + }, + { + "OFPPortStatsPropOptical": { + "bias_current": 300, + "flags": 3, + "length": 44, + "rx_freq_lmda": 1500, + "rx_grid_span": 500, + "rx_offset": 700, + "rx_pwr": 2000, + "temperature": 273, + "tx_freq_lmda": 1500, + "tx_grid_span": 500, + "tx_offset": 700, + "tx_pwr": 2000, + "type": 1 + } + }, + { + "OFPPortStatsPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + }, + { + "OFPPortStatsPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPPortStatsPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ], + "rx_bytes": 0, + "rx_dropped": 0, + "rx_errors": 0, + "rx_packets": 0, + "tx_bytes": 336, + "tx_dropped": 0, + "tx_errors": 0, + "tx_packets": 4 + } + }, + { + "OFPPortStats": { + "duration_nsec": 0, + "duration_sec": 0, + "length": 120, + "port_no": 6, + "properties": [ + { + "OFPPortStatsPropEthernet": { + "collisions": 0, + "length": 40, + "rx_crc_err": 0, + "rx_frame_err": 0, + "rx_over_err": 0, + "type": 0 + } + } + ], + "rx_bytes": 336, + "rx_dropped": 0, + "rx_errors": 0, + "rx_packets": 4, + "tx_bytes": 336, + "tx_dropped": 0, + "tx_errors": 0, + "tx_packets": 4 + } + } + ], + "flags": 0, + "type": 4 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json new file mode 100644 index 00000000..5228710d --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json @@ -0,0 +1,7 @@ +{ + "OFPPortStatsRequest": { + "flags": 0, + "port_no": 4294967295, + "type": 4 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json new file mode 100644 index 00000000..b273ac22 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json @@ -0,0 +1,76 @@ +{ + "OFPPortStatus": { + "desc": { + "OFPPort": { + "config": 0, + "hw_addr": "f2:0b:a4:d0:3f:70", + "length": 168, + "name": "\u79c1\u306e\u30dd\u30fc\u30c8", + "port_no": 7, + "properties": [ + { + "OFPPortDescPropEthernet": { + "advertised": 10240, + "curr": 10248, + "curr_speed": 5000, + "length": 32, + "max_speed": 5000, + "peer": 10248, + "supported": 10248, + "type": 0 + } + }, + { + "OFPPortDescPropOptical": { + "length": 40, + "rx_grid_freq_lmda": 1500, + "rx_max_freq_lmda": 2000, + "rx_min_freq_lmda": 1000, + "supported": 1, + "tx_grid_freq_lmda": 1500, + "tx_max_freq_lmda": 2000, + "tx_min_freq_lmda": 1000, + "tx_pwr_max": 2000, + "tx_pwr_min": 1000, + "type": 1 + } + }, + { + "OFPPortDescPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + }, + { + "OFPPortDescPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPPortDescPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ], + "state": 4 + } + }, + "reason": 0 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json new file mode 100644 index 00000000..26c8f7d5 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json @@ -0,0 +1,81 @@ +{ + "OFPQueueDescStatsReply": { + "body": [ + { + "OFPQueueDesc": { + "len": 32, + "port_no": 7, + "properties": [ + { + "OFPQueueDescPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + } + ], + "queue_id": 0 + } + }, + { + "OFPQueueDesc": { + "len": 88, + "port_no": 8, + "properties": [ + { + "OFPQueueDescPropMinRate": { + "length": 8, + "rate": 300, + "type": 1 + } + }, + { + "OFPQueueDescPropMaxRate": { + "length": 8, + "rate": 900, + "type": 2 + } + }, + { + "OFPQueueDescPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + }, + { + "OFPQueueDescPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPQueueDescPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ], + "queue_id": 1 + } + } + ], + "flags": 0, + "type": 15 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json new file mode 100644 index 00000000..2c190977 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json @@ -0,0 +1,80 @@ +{ + "OFPQueueStatsReply": { + "body": [ + { + "OFPQueueStats": { + "duration_nsec": 0, + "duration_sec": 0, + "length": 104, + "port_no": 7, + "properties": [ + { + "OFPQueueStatsPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + }, + { + "OFPQueueStatsPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPQueueStatsPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ], + "queue_id": 1, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + } + }, + { + "OFPQueueStats": { + "duration_nsec": 0, + "duration_sec": 0, + "length": 48, + "port_no": 6, + "properties": [], + "queue_id": 1, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + } + }, + { + "OFPQueueStats": { + "duration_nsec": 0, + "duration_sec": 0, + "length": 48, + "port_no": 7, + "properties": [], + "queue_id": 2, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + } + } + ], + "flags": 0, + "type": 5 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json new file mode 100644 index 00000000..7a12acc3 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json @@ -0,0 +1,8 @@ +{ + "OFPQueueStatsRequest": { + "flags": 0, + "port_no": 4294967295, + "queue_id": 4294967295, + "type": 5 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json new file mode 100644 index 00000000..81b09f13 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json @@ -0,0 +1,62 @@ +{ + "OFPRequestForward": { + "request": { + "OFPGroupMod": { + "buckets": [ + { + "OFPBucket": { + "action_array_len": 24, + "actions": [ + { + "OFPActionPopVlan": { + "len": 8, + "type": 18 + } + }, + { + "OFPActionSetField": { + "field": { + "OXMTlv": { + "field": "ipv4_dst", + "mask": null, + "value": "192.168.2.9" + } + } + } + } + ], + "bucket_id": 305419896, + "len": 56, + "properties": [ + { + "OFPGroupBucketPropWeight": { + "length": 8, + "type": 0, + "weight": 52428 + } + }, + { + "OFPGroupBucketPropWatch": { + "length": 8, + "type": 1, + "watch": 56797 + } + }, + { + "OFPGroupBucketPropWatch": { + "length": 8, + "type": 2, + "watch": 4008636142 + } + } + ] + } + } + ], + "command": 0, + "group_id": 1, + "type": 0 + } + } + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json new file mode 100644 index 00000000..08e46df3 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json @@ -0,0 +1,41 @@ +{ + "OFPRoleStatus": { + "generation_id": 7, + "properties": [ + { + "OFPRolePropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + }, + { + "OFPRolePropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPRolePropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ], + "reason": 0, + "role": 2 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json new file mode 100644 index 00000000..0802c14e --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json @@ -0,0 +1,122 @@ +{ + "OFPSetAsync": { + "properties": [ + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 0 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 1 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 2 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 3 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 4 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 5 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 6 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 7 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 24, + "type": 8 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 24, + "type": 9 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 10 + } + }, + { + "OFPAsyncConfigPropReasons": { + "length": 8, + "mask": 3, + "type": 11 + } + }, + { + "OFPAsyncConfigPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65534 + } + }, + { + "OFPAsyncConfigPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPAsyncConfigPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ] + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json new file mode 100644 index 00000000..cd5398b7 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json @@ -0,0 +1,6 @@ +{ + "OFPSetConfig": { + "flags": 0, + "miss_send_len": 128 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json new file mode 100644 index 00000000..1f3d7142 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json @@ -0,0 +1,83 @@ +{ + "OFPTableDescStatsReply": { + "body": [ + { + "OFPTableDesc": { + "config": 0, + "length": 24, + "properties": [ + { + "OFPTableModPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + } + ], + "table_id": 7 + } + }, + { + "OFPTableDesc": { + "config": 0, + "length": 80, + "properties": [ + { + "OFPTableModPropEviction": { + "flags": 0, + "length": 8, + "type": 2 + } + }, + { + "OFPTableModPropVacancy": { + "length": 8, + "type": 3, + "vacancy": 0, + "vacancy_down": 0, + "vacancy_up": 0 + } + }, + { + "OFPTableModPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + }, + { + "OFPTableModPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPTableModPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ], + "table_id": 8 + } + } + ], + "flags": 0, + "type": 14 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json new file mode 100644 index 00000000..f5a4cde0 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json @@ -0,0 +1,6 @@ +{ + "OFPTableDescStatsRequest": { + "flags": 0, + "type": 14 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json new file mode 100644 index 00000000..97acd144 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json @@ -0,0 +1,56 @@ +{ + "OFPTableMod": { + "config": 0, + "properties": [ + { + "OFPTableModPropEviction": { + "flags": 0, + "length": 8, + "type": 2 + } + }, + { + "OFPTableModPropVacancy": { + "length": 8, + "type": 3, + "vacancy": 0, + "vacancy_down": 0, + "vacancy_up": 0 + } + }, + { + "OFPTableModPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + }, + { + "OFPTableModPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPTableModPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ], + "table_id": 255 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json new file mode 100644 index 00000000..94801adb --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json @@ -0,0 +1,24 @@ +{ + "OFPTableStatsReply": { + "body": [ + { + "OFPTableStats": { + "active_count": 4, + "lookup_count": 4, + "matched_count": 4, + "table_id": 0 + } + }, + { + "OFPTableStats": { + "active_count": 4, + "lookup_count": 4, + "matched_count": 4, + "table_id": 1 + } + } + ], + "flags": 0, + "type": 3 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json new file mode 100644 index 00000000..1f965d77 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json @@ -0,0 +1,6 @@ +{ + "OFPTableStatsRequest": { + "flags": 0, + "type": 3 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json new file mode 100644 index 00000000..fde5fb77 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json @@ -0,0 +1,62 @@ +{ + "OFPTableStatus": { + "reason": 3, + "table": { + "OFPTableDesc": { + "config": 0, + "length": 80, + "properties": [ + { + "OFPTableModPropEviction": { + "flags": 0, + "length": 8, + "type": 2 + } + }, + { + "OFPTableModPropVacancy": { + "length": 8, + "type": 3, + "vacancy": 0, + "vacancy_down": 0, + "vacancy_up": 0 + } + }, + { + "OFPTableModPropExperimenter": { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + } + }, + { + "OFPTableModPropExperimenter": { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPTableModPropExperimenter": { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ], + "table_id": 8 + } + } + } +}