From d815eb0f17ee4ac65b9bb684df3250662de1787e Mon Sep 17 00:00:00 2001 From: Yusuke Iwase Date: Mon, 3 Aug 2015 16:07:06 +0900 Subject: test_parser: Add test case for OXS related messages in OF1.5 TODO: Because Open vSwitch (lib/ofp-util) does not support Extensible Flow Entry Statistics [EXT-334] yet, re-generate the packet data by using packet_data_generator2 when Open vSwitch supports it. Reference: OpenFlow 1.1+ support status of Open vSwitch https://github.com/openvswitch/ovs/blob/master/OPENFLOW-1.1%2B.md Signed-off-by: IWASE Yusuke Signed-off-by: FUJITA Tomonori --- .../libofproto-OFP15-aggregate_stats_reply.packet | Bin 0 -> 32 bytes .../of15/libofproto-OFP15-flow_desc_reply.packet | Bin 0 -> 80 bytes .../of15/libofproto-OFP15-flow_desc_request.packet | Bin 0 -> 64 bytes .../of15/libofproto-OFP15-flow_removed.packet | Bin 0 -> 56 bytes .../of15/libofproto-OFP15-flow_stats_reply.packet | Bin 0 -> 56 bytes ...ofproto-OFP15-aggregate_stats_reply.packet.json | 24 +++++++++ .../libofproto-OFP15-flow_desc_reply.packet.json | 57 +++++++++++++++++++++ .../libofproto-OFP15-flow_desc_request.packet.json | 26 ++++++++++ .../of15/libofproto-OFP15-flow_removed.packet.json | 38 ++++++++++++++ .../libofproto-OFP15-flow_stats_reply.packet.json | 44 ++++++++++++++++ 10 files changed, 189 insertions(+) create mode 100644 ryu/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_reply.packet create mode 100644 ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_reply.packet create mode 100644 ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_request.packet create mode 100644 ryu/tests/packet_data/of15/libofproto-OFP15-flow_removed.packet create mode 100644 ryu/tests/packet_data/of15/libofproto-OFP15-flow_stats_reply.packet create mode 100644 ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json create mode 100644 ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json create mode 100644 ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_reply.packet b/ryu/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_reply.packet new file mode 100644 index 00000000..bbb51918 Binary files /dev/null and b/ryu/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_reply.packet differ diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_reply.packet b/ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_reply.packet new file mode 100644 index 00000000..4bf534cf Binary files /dev/null and b/ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_reply.packet differ diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_request.packet b/ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_request.packet new file mode 100644 index 00000000..a5a5bc11 Binary files /dev/null and b/ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_request.packet differ diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_removed.packet b/ryu/tests/packet_data/of15/libofproto-OFP15-flow_removed.packet new file mode 100644 index 00000000..1df2b2ed Binary files /dev/null and b/ryu/tests/packet_data/of15/libofproto-OFP15-flow_removed.packet differ diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_stats_reply.packet b/ryu/tests/packet_data/of15/libofproto-OFP15-flow_stats_reply.packet new file mode 100644 index 00000000..5ca44bbd Binary files /dev/null and b/ryu/tests/packet_data/of15/libofproto-OFP15-flow_stats_reply.packet differ diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json new file mode 100644 index 00000000..07cb6c2f --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json @@ -0,0 +1,24 @@ +{ + "OFPAggregateStatsReply": { + "body": { + "OFPAggregateStats": { + "length": 16, + "stats": { + "OFPStats": { + "length": 12, + "oxs_fields": [ + { + "OXSTlv": { + "field": "flow_count", + "value": 1 + } + } + ] + } + } + } + }, + "flags": 0, + "type": 2 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json new file mode 100644 index 00000000..3caab6f9 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json @@ -0,0 +1,57 @@ +{ + "OFPFlowDescStatsReply": { + "body": [ + { + "OFPFlowDesc": { + "cookie": 1234605616436508552, + "flags": 1, + "hard_timeout": 255, + "idle_timeout": 255, + "importance": 43690, + "instructions": [ + { + "OFPInstructionGotoTable": { + "len": 8, + "table_id": 2, + "type": 1 + } + } + ], + "length": 64, + "match": { + "OFPMatch": { + "length": 12, + "oxm_fields": [ + { + "OXMTlv": { + "field": "in_port", + "mask": null, + "value": 1 + } + } + ], + "type": 1 + } + }, + "priority": 5, + "stats": { + "OFPStats": { + "length": 12, + "oxs_fields": [ + { + "OXSTlv": { + "field": "flow_count", + "value": 1 + } + } + ] + } + }, + "table_id": 1 + } + } + ], + "flags": 0, + "type": 1 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json new file mode 100644 index 00000000..62e46c65 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json @@ -0,0 +1,26 @@ +{ + "OFPFlowDescStatsRequest": { + "cookie": 1234605616436508552, + "cookie_mask": 18446744073709551615, + "flags": 0, + "match": { + "OFPMatch": { + "length": 12, + "oxm_fields": [ + { + "OXMTlv": { + "field": "in_port", + "mask": null, + "value": 1 + } + } + ], + "type": 1 + } + }, + "out_group": 4294967295, + "out_port": 4294967295, + "table_id": 1, + "type": 1 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json new file mode 100644 index 00000000..daf05248 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json @@ -0,0 +1,38 @@ +{ + "OFPFlowRemoved": { + "cookie": 1234605616436508552, + "hard_timeout": 255, + "idle_timeout": 255, + "match": { + "OFPMatch": { + "length": 12, + "oxm_fields": [ + { + "OXMTlv": { + "field": "in_port", + "mask": null, + "value": 1 + } + } + ], + "type": 1 + } + }, + "priority": 1, + "reason": 0, + "stats": { + "OFPStats": { + "length": 12, + "oxs_fields": [ + { + "OXSTlv": { + "field": "flow_count", + "value": 1 + } + } + ] + } + }, + "table_id": 1 + } +} diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json new file mode 100644 index 00000000..e2713569 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json @@ -0,0 +1,44 @@ +{ + "OFPFlowStatsReply": { + "body": [ + { + "OFPFlowStats": { + "length": 40, + "match": { + "OFPMatch": { + "length": 12, + "oxm_fields": [ + { + "OXMTlv": { + "field": "in_port", + "mask": null, + "value": 1 + } + } + ], + "type": 1 + } + }, + "priority": 1, + "reason": 0, + "stats": { + "OFPStats": { + "length": 12, + "oxs_fields": [ + { + "OXSTlv": { + "field": "flow_count", + "value": 1 + } + } + ] + } + }, + "table_id": 1 + } + } + ], + "flags": 0, + "type": 17 + } +} -- cgit v1.2.3