From 7b3c1ab9cd751a12cad931995286c20776bae301 Mon Sep 17 00:00:00 2001 From: Simon Horman Date: Tue, 11 Mar 2014 10:42:05 +0900 Subject: of14: Add table status unit test Signed-off-by: Simon Horman Signed-off-by: FUJITA Tomonori --- .../packet_data/of14/5-68-ofp_table_status.packet | Bin 0 -> 96 bytes ryu/tests/packet_data_generator/src/x5.erl | 26 +++++++++- .../json/of14/5-68-ofp_table_status.packet.json | 57 +++++++++++++++++++++ ryu/tests/unit/ofproto/test_parser.py | 1 + 4 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 ryu/tests/packet_data/of14/5-68-ofp_table_status.packet create mode 100644 ryu/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json diff --git a/ryu/tests/packet_data/of14/5-68-ofp_table_status.packet b/ryu/tests/packet_data/of14/5-68-ofp_table_status.packet new file mode 100644 index 00000000..f630ccc2 Binary files /dev/null and b/ryu/tests/packet_data/of14/5-68-ofp_table_status.packet differ diff --git a/ryu/tests/packet_data_generator/src/x5.erl b/ryu/tests/packet_data_generator/src/x5.erl index 1611ab97..74debf12 100644 --- a/ryu/tests/packet_data_generator/src/x5.erl +++ b/ryu/tests/packet_data_generator/src/x5.erl @@ -2842,6 +2842,30 @@ x() -> port = normal, max_len = 0}]}]}, #ofp_flow_update_abbrev{event = abbrev,xid=1234}, - #ofp_flow_update_paused{event = paused}]} + #ofp_flow_update_paused{event = paused}]}, + #ofp_table_status{ + reason = vacancy_down, + table = + #ofp_table_desc{ + table_id = 8, + config = [], + properties = + [#ofp_table_mod_prop_eviction{flags = []}, + #ofp_table_mod_prop_vacancy{ + vacancy = 0, + vacancy_down = 0, + vacancy_up = 0}, + #ofp_table_mod_prop_experimenter{ + experimenter = 101, + exp_type = 0, + data = <<>>}, + #ofp_table_mod_prop_experimenter{ + experimenter = 101, + exp_type = 1, + data = <<1:32>>}, + #ofp_table_mod_prop_experimenter{ + experimenter = 101, + exp_type = 2, + data = <<1:32,2:32>>}]}} ], lists:foldl(fun x:do/2, {5, 0}, List). diff --git a/ryu/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json b/ryu/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json new file mode 100644 index 00000000..b66831b8 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json @@ -0,0 +1,57 @@ +{ + "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": "AAAAAQ==", + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + } + }, + { + "OFPTableModPropExperimenter": { + "data": "AAAAAQAAAAI=", + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + } + ], + "table_id": 8 + } + } + } +} diff --git a/ryu/tests/unit/ofproto/test_parser.py b/ryu/tests/unit/ofproto/test_parser.py index 57ad6f62..cac78b48 100644 --- a/ryu/tests/unit/ofproto/test_parser.py +++ b/ryu/tests/unit/ofproto/test_parser.py @@ -112,6 +112,7 @@ implemented = { ofproto_v1_4.OFPT_GET_ASYNC_REPLY: (True, False), ofproto_v1_4.OFPT_SET_ASYNC: (False, True), ofproto_v1_4.OFPT_ROLE_STATUS: (True, False), + ofproto_v1_4.OFPT_TABLE_STATUS: (True, False), }, } -- cgit v1.2.3