From 51fcda83b5b60859d5c9a924669121839323e1e6 Mon Sep 17 00:00:00 2001 From: Minoru TAKAHASHI Date: Mon, 22 Feb 2016 11:51:07 +0900 Subject: [PATCH] lib/ofctl: add test files for ofctl_v14 Signed-off-by: Minoru TAKAHASHI Signed-off-by: FUJITA Tomonori --- .../of14/5-0-ofp_desc_reply.packet.json | 9 + .../5-11-ofp_flow_stats_request.packet.json | 11 + .../5-12-ofp_flow_stats_reply.packet.json | 197 + .../of14/5-16-ofp_experimenter.packet.json | 8 + .../of14/5-2-ofp_flow_mod.packet.json | 103 + .../of14/5-21-ofp_group_mod.packet.json | 21 + .../of14/5-22-ofp_port_mod.packet.json | 50 + ...25-ofp_aggregate_stats_request.packet.json | 11 + ...5-26-ofp_aggregate_stats_reply.packet.json | 9 + .../5-28-ofp_table_stats_reply.packet.json | 16 + .../5-30-ofp_port_stats_reply.packet.json | 85 + .../5-32-ofp_group_features_reply.packet.json | 104 + .../5-34-ofp_group_desc_reply.packet.json | 24 + .../5-36-ofp_queue_stats_reply.packet.json | 64 + .../of14/5-43-ofp_meter_mod.packet.json | 31 + .../5-46-ofp_meter_config_reply.packet.json | 19 + .../5-48-ofp_meter_stats_reply.packet.json | 19 + .../5-50-ofp_meter_features_reply.packet.json | 19 + .../of14/5-52-ofp_port_desc_reply.packet.json | 83 + .../5-54-ofp_table_features_reply.packet.json | 11928 ++++++++++++++++ .../5-56-ofp_group_stats_reply.packet.json | 19 + .../5-63-ofp_queue_desc_request.packet.json | 4 + .../5-64-ofp_queue_desc_reply.packet.json | 65 + ryu/tests/unit/lib/test_ofctl.py | 108 +- ...ctl-ofp_table_features_request.packet.json | 7 + 25 files changed, 13012 insertions(+), 2 deletions(-) create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-0-ofp_desc_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-11-ofp_flow_stats_request.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-12-ofp_flow_stats_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-16-ofp_experimenter.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-2-ofp_flow_mod.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-21-ofp_group_mod.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-22-ofp_port_mod.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-25-ofp_aggregate_stats_request.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-26-ofp_aggregate_stats_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-28-ofp_table_stats_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-30-ofp_port_stats_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-32-ofp_group_features_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-34-ofp_group_desc_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-36-ofp_queue_stats_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-43-ofp_meter_mod.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-46-ofp_meter_config_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-48-ofp_meter_stats_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-50-ofp_meter_features_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-52-ofp_port_desc_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-54-ofp_table_features_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-56-ofp_group_stats_reply.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-63-ofp_queue_desc_request.packet.json create mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json create mode 100644 ryu/tests/unit/ofproto/json/of14/lib-ofctl-ofp_table_features_request.packet.json diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-0-ofp_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-0-ofp_desc_reply.packet.json new file mode 100644 index 00000000..8fc54b74 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-0-ofp_desc_reply.packet.json @@ -0,0 +1,9 @@ +{ + "1": { + "dp_desc": "dp", + "hw_desc": "hw", + "mfr_desc": "mfr", + "serial_num": "serial", + "sw_desc": "sw" + } +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-11-ofp_flow_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-11-ofp_flow_stats_request.packet.json new file mode 100644 index 00000000..a42dfef0 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-11-ofp_flow_stats_request.packet.json @@ -0,0 +1,11 @@ +{ + "flow": { + "cookie": 0, + "cookie_mask": 0, + "flags": 0, + "match": {}, + "out_group": 4294967295, + "out_port": 4294967295, + "table_id": 0 + } +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-12-ofp_flow_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-12-ofp_flow_stats_reply.packet.json new file mode 100644 index 00000000..134c3f12 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-12-ofp_flow_stats_reply.packet.json @@ -0,0 +1,197 @@ +{ + "1": [ + { + "byte_count": 0, + "cookie": 0, + "duration_nsec": 115277000, + "duration_sec": 358, + "flags": 0, + "hard_timeout": 0, + "idle_timeout": 0, + "importance": 0, + "instructions": [], + "length": 0, + "match": {}, + "packet_count": 0, + "priority": 65535, + "table_id": 0 + }, + { + "byte_count": 0, + "cookie": 0, + "duration_nsec": 115055000, + "duration_sec": 358, + "flags": 0, + "hard_timeout": 0, + "idle_timeout": 0, + "importance": 0, + "instructions": [ + { + "actions": [ + { + "max_len": 0, + "port": 4294967290, + "type": "OUTPUT" + } + ], + "type": "APPLY_ACTIONS" + } + ], + "length": 0, + "match": { + "eth_type": 2054 + }, + "packet_count": 0, + "priority": 65534, + "table_id": 0 + }, + { + "byte_count": 238, + "cookie": 0, + "duration_nsec": 511582000, + "duration_sec": 316220, + "flags": 0, + "hard_timeout": 0, + "idle_timeout": 0, + "importance": 0, + "instructions": [ + { + "table_id": 1, + "type": "GOTO_TABLE" + } + ], + "length": 0, + "match": { + "eth_src": "f2:0b:a4:7d:f8:ea", + "in_port": 6 + }, + "packet_count": 3, + "priority": 123, + "table_id": 0 + }, + { + "byte_count": 98, + "cookie": 0, + "duration_nsec": 980901000, + "duration_sec": 313499, + "flags": 0, + "hard_timeout": 0, + "idle_timeout": 0, + "importance": 0, + "instructions": [ + { + "actions": [ + { + "field": "vlan_vid", + "mask": null, + "type": "SET_FIELD", + "value": 258 + }, + { + "type": "COPY_TTL_OUT" + }, + { + "type": "COPY_TTL_IN" + }, + { + "type": "COPY_TTL_IN" + }, + { + "type": "POP_PBB" + }, + { + "ethertype": 4660, + "type": "PUSH_PBB" + }, + { + "ethertype": 39030, + "type": "POP_MPLS" + }, + { + "ethertype": 34887, + "type": "PUSH_MPLS" + }, + { + "type": "POP_VLAN" + }, + { + "ethertype": 33024, + "type": "PUSH_VLAN" + }, + { + "type": "DEC_MPLS_TTL" + }, + { + "mpls_ttl": 10, + "type": "SET_MPLS_TTL" + }, + { + "type": "DEC_NW_TTL" + }, + { + "nw_ttl": 10, + "type": "SET_NW_TTL" + }, + { + "queue_id": 3, + "type": "SET_QUEUE" + }, + { + "group_id": 99, + "type": "GROUP" + }, + { + "max_len": 65535, + "port": 6, + "type": "OUTPUT" + }, + { + "data": "ZXhwX2RhdGE=", + "experimenter": 98765432, + "type": "EXPERIMENTER" + }, + { + "data": "cF9kYXRh", + "experimenter": 8992, + "subtype": 25976, + "type": "EXPERIMENTER" + } + ], + "type": "WRITE_ACTIONS" + }, + { + "actions": [ + { + "field": "eth_src", + "mask": null, + "type": "SET_FIELD", + "value": "01:02:03:04:05:06" + }, + { + "field": "pbb_uca", + "mask": null, + "type": "SET_FIELD", + "value": 1 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "actions": [ + { + "max_len": 65535, + "port": 4294967293, + "type": "OUTPUT" + } + ], + "type": "WRITE_ACTIONS" + } + ], + "length": 0, + "match": {}, + "packet_count": 1, + "priority": 0, + "table_id": 0 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-16-ofp_experimenter.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-16-ofp_experimenter.packet.json new file mode 100644 index 00000000..c655f8f0 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-16-ofp_experimenter.packet.json @@ -0,0 +1,8 @@ +{ + "exp": { + "data": "bmF6bw==", + "data_type": "base64", + "exp_type": 123456789, + "experimenter": 98765432 + } +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-2-ofp_flow_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-2-ofp_flow_mod.packet.json new file mode 100644 index 00000000..72054e33 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-2-ofp_flow_mod.packet.json @@ -0,0 +1,103 @@ +{ + "cmd": 0, + "flow": { + "instructions": [ + { + "actions": [ + { + "field": "vlan_vid", + "type": "SET_FIELD", + "value": 258 + }, + { + "type": "COPY_TTL_OUT" + }, + { + "type": "COPY_TTL_IN" + }, + { + "type": "COPY_TTL_IN" + }, + { + "type": "POP_PBB" + }, + { + "ethertype": 4660, + "type": "PUSH_PBB" + }, + { + "ethertype": 39030, + "type": "POP_MPLS" + }, + { + "ethertype": 34887, + "type": "PUSH_MPLS" + }, + { + "type": "POP_VLAN" + }, + { + "ethertype": 33024, + "type": "PUSH_VLAN" + }, + { + "type": "DEC_MPLS_TTL" + }, + { + "mpls_ttl": 10, + "type": "SET_MPLS_TTL" + }, + { + "type": "DEC_NW_TTL" + }, + { + "nw_ttl": 10, + "type": "SET_NW_TTL" + }, + { + "data": "AAECAwQFBgc=", + "data_type": "base64", + "experimenter": 101, + "type": "EXPERIMENTER" + }, + { + "queue_id": 3, + "type": "SET_QUEUE" + }, + { + "group_id": 99, + "type": "GROUP" + }, + { + "max_len": 65535, + "port": 6, + "type": "OUTPUT" + } + ], + "type": "WRITE_ACTIONS" + }, + { + "actions": [ + { + "field": "eth_src", + "type": "SET_FIELD", + "value": "01:02:03:04:05:06" + }, + { + "field": "pbb_uca", + "type": "SET_FIELD", + "value": 1 + } + ], + "type": "APPLY_ACTIONS" + } + ], + "buffer_id": 65535, + "importance": 0, + "match": { + "eth_dst": "f2:0b:a4:7d:f8:ea" + }, + "priority": 123, + "table_id": 1 + } +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-21-ofp_group_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-21-ofp_group_mod.packet.json new file mode 100644 index 00000000..fa48425a --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-21-ofp_group_mod.packet.json @@ -0,0 +1,21 @@ +{ + "cmd": 0, + "group": { + "buckets": [ + { + "actions": [ + { + "max_len": 65535, + "port": 2, + "type": "OUTPUT" + } + ], + "watch_group": 1, + "watch_port": 1, + "weight": 1 + } + ], + "group_id": 1, + "type": "ALL" + } +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-22-ofp_port_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-22-ofp_port_mod.packet.json new file mode 100644 index 00000000..980456eb --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-22-ofp_port_mod.packet.json @@ -0,0 +1,50 @@ +{ + "port_config": { + "config": 0, + "hw_addr": "00:11:00:00:11:11", + "mask": 0, + "port_no": 1, + "properties": [ + { + "advertise": 4096, + "length": 8, + "type": 0 + }, + { + "configure": 3, + "fl_offset": 2000, + "freq_lmda": 1500, + "grid_span": 3000, + "length": 24, + "tx_pwr": 300, + "type": 1 + }, + { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": 65535 + }, + { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": 65535 + }, + { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": 65535 + } + ] + } +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-25-ofp_aggregate_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-25-ofp_aggregate_stats_request.packet.json new file mode 100644 index 00000000..845af65b --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-25-ofp_aggregate_stats_request.packet.json @@ -0,0 +1,11 @@ +{ + "flow": { + "cookie": 0, + "cookie_mask": 0, + "flags": 0, + "match": {}, + "out_group": 4294967295, + "out_port": 4294967295, + "table_id": 255 + } +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-26-ofp_aggregate_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-26-ofp_aggregate_stats_reply.packet.json new file mode 100644 index 00000000..a4b23d12 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-26-ofp_aggregate_stats_reply.packet.json @@ -0,0 +1,9 @@ +{ + "1": [ + { + "byte_count": 574, + "flow_count": 6, + "packet_count": 7 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-28-ofp_table_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-28-ofp_table_stats_reply.packet.json new file mode 100644 index 00000000..95b2c495 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-28-ofp_table_stats_reply.packet.json @@ -0,0 +1,16 @@ +{ + "1": [ + { + "active_count": 4, + "lookup_count": 4, + "matched_count": 4, + "table_id": 0 + }, + { + "active_count": 4, + "lookup_count": 4, + "matched_count": 4, + "table_id": 1 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-30-ofp_port_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-30-ofp_port_stats_reply.packet.json new file mode 100644 index 00000000..f9f1d86f --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-30-ofp_port_stats_reply.packet.json @@ -0,0 +1,85 @@ +{ + "1": [ + { + "duration_nsec": 0, + "duration_sec": 0, + "port_no": 7, + "properties": [ + { + "collisions": 0, + "rx_crc_err": 0, + "rx_frame_err": 0, + "rx_over_err": 0, + "type": "ETHERNET" + }, + { + "bias_current": 300, + "flags": 3, + "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": "OPTICAL" + }, + { + "data": [], + "exp_type": 0, + "experimenter": 101, + "type": "EXPERIMENTER" + }, + { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "type": "EXPERIMENTER" + }, + { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "type": "EXPERIMENTER" + } + ], + "rx_bytes": 0, + "rx_dropped": 0, + "rx_errors": 0, + "rx_packets": 0, + "tx_bytes": 336, + "tx_dropped": 0, + "tx_errors": 0, + "tx_packets": 4 + }, + { + "duration_nsec": 0, + "duration_sec": 0, + "port_no": 6, + "properties": [ + { + "collisions": 0, + "rx_crc_err": 0, + "rx_frame_err": 0, + "rx_over_err": 0, + "type": "ETHERNET" + } + ], + "rx_bytes": 336, + "rx_dropped": 0, + "rx_errors": 0, + "rx_packets": 4, + "tx_bytes": 336, + "tx_dropped": 0, + "tx_errors": 0, + "tx_packets": 4 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-32-ofp_group_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-32-ofp_group_features_reply.packet.json new file mode 100644 index 00000000..2a29ac2d --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-32-ofp_group_features_reply.packet.json @@ -0,0 +1,104 @@ +{ + "1": [ + { + "actions": [ + { + "ALL": [ + "OUTPUT", + "COPY_TTL_OUT", + "COPY_TTL_IN", + "SET_MPLS_TTL", + "DEC_MPLS_TTL", + "PUSH_VLAN", + "POP_VLAN", + "PUSH_MPLS", + "POP_MPLS", + "SET_QUEUE", + "GROUP", + "SET_NW_TTL", + "DEC_NW_TTL", + "SET_FIELD" + ] + }, + { + "SELECT": [ + "OUTPUT", + "COPY_TTL_OUT", + "COPY_TTL_IN", + "SET_MPLS_TTL", + "DEC_MPLS_TTL", + "PUSH_VLAN", + "POP_VLAN", + "PUSH_MPLS", + "POP_MPLS", + "SET_QUEUE", + "GROUP", + "SET_NW_TTL", + "DEC_NW_TTL", + "SET_FIELD" + ] + }, + { + "INDIRECT": [ + "OUTPUT", + "COPY_TTL_OUT", + "COPY_TTL_IN", + "SET_MPLS_TTL", + "DEC_MPLS_TTL", + "PUSH_VLAN", + "POP_VLAN", + "PUSH_MPLS", + "POP_MPLS", + "SET_QUEUE", + "GROUP", + "SET_NW_TTL", + "DEC_NW_TTL", + "SET_FIELD" + ] + }, + { + "FF": [ + "OUTPUT", + "COPY_TTL_OUT", + "COPY_TTL_IN", + "SET_MPLS_TTL", + "DEC_MPLS_TTL", + "PUSH_VLAN", + "POP_VLAN", + "PUSH_MPLS", + "POP_MPLS", + "SET_QUEUE", + "GROUP", + "SET_NW_TTL", + "DEC_NW_TTL", + "SET_FIELD" + ] + } + ], + "capabilities": [ + "SELECT_WEIGHT", + "CHAINING" + ], + "max_groups": [ + { + "ALL": 16777216 + }, + { + "SELECT": 16777216 + }, + { + "INDIRECT": 16777216 + }, + { + "FF": 16777216 + } + ], + "types": [ + "ALL", + "SELECT", + "INDIRECT", + "FF" + ] + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-34-ofp_group_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-34-ofp_group_desc_reply.packet.json new file mode 100644 index 00000000..df0ef359 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-34-ofp_group_desc_reply.packet.json @@ -0,0 +1,24 @@ +{ + "1": [ + { + "buckets": [ + { + "actions": [ + { + "max_len": 65535, + "port": 2, + "type": "OUTPUT" + } + ], + "len": 32, + "watch_group": 1, + "watch_port": 1, + "weight": 1 + } + ], + "group_id": 1, + "length": 40, + "type": "ALL" + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-36-ofp_queue_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-36-ofp_queue_stats_reply.packet.json new file mode 100644 index 00000000..a6d246d0 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-36-ofp_queue_stats_reply.packet.json @@ -0,0 +1,64 @@ +{ + "1": [ + { + "duration_nsec": 0, + "duration_sec": 0, + "length": 104, + "port_no": 7, + "properties": [ + { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": "EXPERIMENTER" + }, + { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": "EXPERIMENTER" + }, + { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": "EXPERIMENTER" + } + ], + "queue_id": 1, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + }, + { + "duration_nsec": 0, + "duration_sec": 0, + "length": 48, + "port_no": 6, + "properties": [], + "queue_id": 1, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + }, + { + "duration_nsec": 0, + "duration_sec": 0, + "length": 48, + "port_no": 7, + "properties": [], + "queue_id": 2, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-43-ofp_meter_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-43-ofp_meter_mod.packet.json new file mode 100644 index 00000000..b78ea6be --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-43-ofp_meter_mod.packet.json @@ -0,0 +1,31 @@ +{ + "cmd": 0, + "meter": { + "flags": [ + "PKTPS", + "BURST", + "STATS" + ], + "meter_id": 100, + "bands": [ + { + "burst_size": 10, + "rate": 1000, + "type": "DROP" + }, + { + "burst_size": 10, + "prec_level": 1, + "rate": 1000, + "type": "DSCP_REMARK" + }, + { + "burst_size": 10, + "experimenter": 999, + "len": 16, + "rate": 1000, + "type": "EXPERIMENTER" + } + ] + } +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-46-ofp_meter_config_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-46-ofp_meter_config_reply.packet.json new file mode 100644 index 00000000..d5efcd97 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-46-ofp_meter_config_reply.packet.json @@ -0,0 +1,19 @@ +{ + "1": [ + { + "bands": [ + { + "burst_size": 10, + "rate": 1000, + "type": "DROP" + } + ], + "flags": [ + "PKTPS", + "BURST", + "STATS" + ], + "meter_id": 100 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-48-ofp_meter_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-48-ofp_meter_stats_reply.packet.json new file mode 100644 index 00000000..f21ec519 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-48-ofp_meter_stats_reply.packet.json @@ -0,0 +1,19 @@ +{ + "1": [ + { + "band_stats": [ + { + "byte_band_count": 0, + "packet_band_count": 0 + } + ], + "byte_in_count": 0, + "duration_nsec": 480000, + "duration_sec": 0, + "flow_count": 0, + "len": 56, + "meter_id": 100, + "packet_in_count": 0 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-50-ofp_meter_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-50-ofp_meter_features_reply.packet.json new file mode 100644 index 00000000..24dac7d4 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-50-ofp_meter_features_reply.packet.json @@ -0,0 +1,19 @@ +{ + "1": [ + { + "band_types": [ + "DROP", + "DSCP_REMARK" + ], + "capabilities": [ + "KBPS", + "PKTPS", + "BURST", + "STATS" + ], + "max_bands": 255, + "max_color": 0, + "max_meter": 16777216 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-52-ofp_port_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-52-ofp_port_desc_reply.packet.json new file mode 100644 index 00000000..c2f748a8 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-52-ofp_port_desc_reply.packet.json @@ -0,0 +1,83 @@ +{ + "1": [ + { + "config": 0, + "hw_addr": "f2:0b:a4:d0:3f:70", + "length": 168, + "name": "Port7", + "port_no": 7, + "properties": [ + { + "advertised": 10240, + "curr": 10248, + "curr_speed": 5000, + "length": 32, + "max_speed": 5000, + "peer": 10248, + "supported": 10248, + "type": "ETHERNET" + }, + { + "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": "OPTICAL" + }, + { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": "EXPERIMENTER" + }, + { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": "EXPERIMENTER" + }, + { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": "EXPERIMENTER" + } + ], + "state": 4 + }, + { + "config": 0, + "hw_addr": "f2:0b:a4:7d:f8:ea", + "length": 72, + "name": "Port6", + "port_no": 6, + "properties": [ + { + "advertised": 10240, + "curr": 10248, + "curr_speed": 5000, + "length": 32, + "max_speed": 5000, + "peer": 10248, + "supported": 10248, + "type": "ETHERNET" + } + ], + "state": 4 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-54-ofp_table_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-54-ofp_table_features_reply.packet.json new file mode 100644 index 00000000..ded5a996 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-54-ofp_table_features_reply.packet.json @@ -0,0 +1,11928 @@ +{ + "1": [ + { + "config": 0, + "max_entries": 16777216, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "\u79c1\u306e\u30c6\u30fc\u30d6\u30eb", + "properties": [ + { + "instruction_ids": [ + { + "len": 4, + "type": 1 + }, + { + "len": 4, + "type": 2 + }, + { + "len": 4, + "type": 3 + }, + { + "len": 4, + "type": 4 + }, + { + "len": 4, + "type": 5 + }, + { + "len": 4, + "type": 6 + } + ], + "type": "INSTRUCTIONS" + }, + { + "table_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "type": "NEXT_TABLES" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "WRITE_ACTIONS" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "MATCH" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WILDCARDS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WRITE_SETFIELD" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "APPLY_SETFIELD" + }, + { + "type": "EXPERIMENTER" + }, + { + "type": "EXPERIMENTER" + }, + { + "type": "EXPERIMENTER" + } + ], + "table_id": 0 + }, + { + "config": 0, + "max_entries": 16777216, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "Flow Table 0x01", + "properties": [ + { + "instruction_ids": [ + { + "len": 4, + "type": 1 + }, + { + "len": 4, + "type": 2 + }, + { + "len": 4, + "type": 3 + }, + { + "len": 4, + "type": 4 + }, + { + "len": 4, + "type": 5 + }, + { + "len": 4, + "type": 6 + } + ], + "type": "INSTRUCTIONS" + }, + { + "table_ids": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "type": "NEXT_TABLES" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "WRITE_ACTIONS" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "MATCH" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WILDCARDS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WRITE_SETFIELD" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "APPLY_SETFIELD" + } + ], + "table_id": 1 + }, + { + "config": 0, + "max_entries": 16777216, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "Flow Table 0x02", + "properties": [ + { + "instruction_ids": [ + { + "len": 4, + "type": 1 + }, + { + "len": 4, + "type": 2 + }, + { + "len": 4, + "type": 3 + }, + { + "len": 4, + "type": 4 + }, + { + "len": 4, + "type": 5 + }, + { + "len": 4, + "type": 6 + } + ], + "type": "INSTRUCTIONS" + }, + { + "table_ids": [ + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "type": "NEXT_TABLES" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "WRITE_ACTIONS" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "MATCH" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WILDCARDS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WRITE_SETFIELD" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "APPLY_SETFIELD" + } + ], + "table_id": 2 + }, + { + "config": 0, + "max_entries": 16777216, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "Flow Table 0x03", + "properties": [ + { + "instruction_ids": [ + { + "len": 4, + "type": 1 + }, + { + "len": 4, + "type": 2 + }, + { + "len": 4, + "type": 3 + }, + { + "len": 4, + "type": 4 + }, + { + "len": 4, + "type": 5 + }, + { + "len": 4, + "type": 6 + } + ], + "type": "INSTRUCTIONS" + }, + { + "table_ids": [ + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "type": "NEXT_TABLES" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "WRITE_ACTIONS" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "MATCH" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WILDCARDS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WRITE_SETFIELD" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "APPLY_SETFIELD" + } + ], + "table_id": 3 + }, + { + "config": 0, + "max_entries": 16777216, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "Flow Table 0x04", + "properties": [ + { + "instruction_ids": [ + { + "len": 4, + "type": 1 + }, + { + "len": 4, + "type": 2 + }, + { + "len": 4, + "type": 3 + }, + { + "len": 4, + "type": 4 + }, + { + "len": 4, + "type": 5 + }, + { + "len": 4, + "type": 6 + } + ], + "type": "INSTRUCTIONS" + }, + { + "table_ids": [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "type": "NEXT_TABLES" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "WRITE_ACTIONS" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "MATCH" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WILDCARDS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WRITE_SETFIELD" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "APPLY_SETFIELD" + } + ], + "table_id": 4 + }, + { + "config": 0, + "max_entries": 16777216, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "Flow Table 0x05", + "properties": [ + { + "instruction_ids": [ + { + "len": 4, + "type": 1 + }, + { + "len": 4, + "type": 2 + }, + { + "len": 4, + "type": 3 + }, + { + "len": 4, + "type": 4 + }, + { + "len": 4, + "type": 5 + }, + { + "len": 4, + "type": 6 + } + ], + "type": "INSTRUCTIONS" + }, + { + "table_ids": [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "type": "NEXT_TABLES" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "WRITE_ACTIONS" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "MATCH" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WILDCARDS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WRITE_SETFIELD" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "APPLY_SETFIELD" + } + ], + "table_id": 5 + }, + { + "config": 0, + "max_entries": 16777216, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "Flow Table 0x06", + "properties": [ + { + "instruction_ids": [ + { + "len": 4, + "type": 1 + }, + { + "len": 4, + "type": 2 + }, + { + "len": 4, + "type": 3 + }, + { + "len": 4, + "type": 4 + }, + { + "len": 4, + "type": 5 + }, + { + "len": 4, + "type": 6 + } + ], + "type": "INSTRUCTIONS" + }, + { + "table_ids": [ + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "type": "NEXT_TABLES" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "WRITE_ACTIONS" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "MATCH" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WILDCARDS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WRITE_SETFIELD" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "APPLY_SETFIELD" + } + ], + "table_id": 6 + }, + { + "config": 0, + "max_entries": 16777216, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "Flow Table 0x07", + "properties": [ + { + "instruction_ids": [ + { + "len": 4, + "type": 1 + }, + { + "len": 4, + "type": 2 + }, + { + "len": 4, + "type": 3 + }, + { + "len": 4, + "type": 4 + }, + { + "len": 4, + "type": 5 + }, + { + "len": 4, + "type": 6 + } + ], + "type": "INSTRUCTIONS" + }, + { + "table_ids": [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "type": "NEXT_TABLES" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "WRITE_ACTIONS" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "MATCH" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WILDCARDS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WRITE_SETFIELD" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "APPLY_SETFIELD" + } + ], + "table_id": 7 + }, + { + "config": 0, + "max_entries": 16777216, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "Flow Table 0x08", + "properties": [ + { + "instruction_ids": [ + { + "len": 4, + "type": 1 + }, + { + "len": 4, + "type": 2 + }, + { + "len": 4, + "type": 3 + }, + { + "len": 4, + "type": 4 + }, + { + "len": 4, + "type": 5 + }, + { + "len": 4, + "type": 6 + } + ], + "type": "INSTRUCTIONS" + }, + { + "table_ids": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "type": "NEXT_TABLES" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "WRITE_ACTIONS" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "MATCH" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WILDCARDS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WRITE_SETFIELD" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "APPLY_SETFIELD" + } + ], + "table_id": 8 + }, + { + "config": 0, + "max_entries": 16777216, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "Flow Table 0x09", + "properties": [ + { + "instruction_ids": [ + { + "len": 4, + "type": 1 + }, + { + "len": 4, + "type": 2 + }, + { + "len": 4, + "type": 3 + }, + { + "len": 4, + "type": 4 + }, + { + "len": 4, + "type": 5 + }, + { + "len": 4, + "type": 6 + } + ], + "type": "INSTRUCTIONS" + }, + { + "table_ids": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "type": "NEXT_TABLES" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "WRITE_ACTIONS" + }, + { + "action_ids": [ + { + "len": 4, + "type": 0 + }, + { + "len": 4, + "type": 22 + }, + { + "len": 4, + "type": 21 + }, + { + "len": 4, + "type": 15 + }, + { + "len": 4, + "type": 16 + }, + { + "len": 4, + "type": 23 + }, + { + "len": 4, + "type": 24 + }, + { + "len": 4, + "type": 11 + }, + { + "len": 4, + "type": 12 + }, + { + "len": 4, + "type": 17 + }, + { + "len": 4, + "type": 18 + }, + { + "len": 4, + "type": 19 + }, + { + "len": 4, + "type": 20 + }, + { + "len": 4, + "type": 26 + }, + { + "len": 4, + "type": 27 + }, + { + "len": 4, + "type": 25 + } + ], + "type": "APPLY_ACTIONS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "MATCH" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WILDCARDS" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "WRITE_SETFIELD" + }, + { + "oxm_ids": [ + { + "hasmask": 0, + "length": 0, + "type": "in_port" + }, + { + "hasmask": 0, + "length": 0, + "type": "metadata" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "eth_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_vid" + }, + { + "hasmask": 0, + "length": 0, + "type": "vlan_pcp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_dscp" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_ecn" + }, + { + "hasmask": 0, + "length": 0, + "type": "ip_proto" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv4_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "tcp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "udp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "sctp_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv4_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_op" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_spa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tpa" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_sha" + }, + { + "hasmask": 0, + "length": 0, + "type": "arp_tha" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_src" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_dst" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_flabel" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_type" + }, + { + "hasmask": 0, + "length": 0, + "type": "icmpv6_code" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_target" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_sll" + }, + { + "hasmask": 0, + "length": 0, + "type": "ipv6_nd_tll" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_label" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_tc" + }, + { + "hasmask": 0, + "length": 0, + "type": "mpls_bos" + }, + { + "hasmask": 0, + "length": 0, + "type": "pbb_isid" + } + ], + "type": "APPLY_SETFIELD" + } + ], + "table_id": 9 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-56-ofp_group_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-56-ofp_group_stats_reply.packet.json new file mode 100644 index 00000000..1c6f9039 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-56-ofp_group_stats_reply.packet.json @@ -0,0 +1,19 @@ +{ + "1": [ + { + "bucket_stats": [ + { + "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 + } + ] +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-63-ofp_queue_desc_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-63-ofp_queue_desc_request.packet.json new file mode 100644 index 00000000..fc863813 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-63-ofp_queue_desc_request.packet.json @@ -0,0 +1,4 @@ +{ + "port_no": 7, + "queue_id": 4294967295 +} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json new file mode 100644 index 00000000..6b6b4400 --- /dev/null +++ b/ryu/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json @@ -0,0 +1,65 @@ +{ + "1": [ + { + "body": [ + { + "len": 32, + "port_no": 7, + "properties": [ + { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": "EXPERIMENTER" + } + ], + "queue_id": 0 + }, + { + "len": 88, + "port_no": 8, + "properties": [ + { + "length": 8, + "rate": 300, + "type": "MIN_RATE" + }, + { + "length": 8, + "rate": 900, + "type": "MAX_RATE" + }, + { + "data": [], + "exp_type": 0, + "experimenter": 101, + "length": 12, + "type": "EXPERIMENTER" + }, + { + "data": [ + 1 + ], + "exp_type": 1, + "experimenter": 101, + "length": 16, + "type": "EXPERIMENTER" + }, + { + "data": [ + 1, + 2 + ], + "exp_type": 2, + "experimenter": 101, + "length": 20, + "type": "EXPERIMENTER" + } + ], + "queue_id": 1 + } + ] + } + ] +} diff --git a/ryu/tests/unit/lib/test_ofctl.py b/ryu/tests/unit/lib/test_ofctl.py index 8030dc68..8510b03d 100644 --- a/ryu/tests/unit/lib/test_ofctl.py +++ b/ryu/tests/unit/lib/test_ofctl.py @@ -24,6 +24,7 @@ import unittest from ryu.lib import ofctl_v1_0 from ryu.lib import ofctl_v1_2 from ryu.lib import ofctl_v1_3 +from ryu.lib import ofctl_v1_4 from ryu.ofproto import ofproto_parser from ryu.ofproto.ofproto_protocol import ProtocolDesc from ryu.tests import test_lib @@ -112,7 +113,8 @@ def _add_tests(): _ofp_vers = { 'of10': 0x01, 'of12': 0x03, - 'of13': 0x04 + 'of13': 0x04, + 'of14': 0x05, } _test_cases = { @@ -303,7 +305,109 @@ def _add_tests(): 'request': '4-16-ofp_experimenter.packet.json', 'reply': None }, - ] + ], + 'of14': [ + { + 'method': ofctl_v1_4.get_desc_stats, + 'request': '5-24-ofp_desc_request.packet.json', + 'reply': '5-0-ofp_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_queue_stats, + 'request': '5-35-ofp_queue_stats_request.packet.json', + 'reply': '5-36-ofp_queue_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_queue_desc_stats, + 'request': '5-63-ofp_queue_desc_request.packet.json', + 'reply': '5-64-ofp_queue_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_flow_stats, + 'request': '5-11-ofp_flow_stats_request.packet.json', + 'reply': '5-12-ofp_flow_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_aggregate_flow_stats, + 'request': '5-25-ofp_aggregate_stats_request.packet.json', + 'reply': '5-26-ofp_aggregate_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_table_stats, + 'request': '5-27-ofp_table_stats_request.packet.json', + 'reply': '5-28-ofp_table_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_table_features, + 'request': 'lib-ofctl-ofp_table_features_request.packet.json', + 'reply': '5-54-ofp_table_features_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_port_stats, + 'request': '5-29-ofp_port_stats_request.packet.json', + 'reply': '5-30-ofp_port_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_meter_stats, + 'request': '5-47-ofp_meter_stats_request.packet.json', + 'reply': '5-48-ofp_meter_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_meter_features, + 'request': '5-49-ofp_meter_features_request.packet.json', + 'reply': '5-50-ofp_meter_features_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_meter_config, + 'request': '5-45-ofp_meter_config_request.packet.json', + 'reply': '5-46-ofp_meter_config_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_group_stats, + 'request': '5-55-ofp_group_stats_request.packet.json', + 'reply': '5-56-ofp_group_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_group_features, + 'request': '5-31-ofp_group_features_request.packet.json', + 'reply': '5-32-ofp_group_features_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_group_desc, + 'request': '5-33-ofp_group_desc_request.packet.json', + 'reply': '5-34-ofp_group_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_4.get_port_desc, + 'request': '5-51-ofp_port_desc_request.packet.json', + 'reply': '5-52-ofp_port_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_4.mod_flow_entry, + 'request': '5-2-ofp_flow_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_4.mod_meter_entry, + 'request': '5-43-ofp_meter_mod.packet.json', # flow --> meter + 'reply': None + }, + { + 'method': ofctl_v1_4.mod_group_entry, + 'request': '5-21-ofp_group_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_4.mod_port_behavior, + 'request': '5-22-ofp_port_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_4.send_experimenter, + 'request': '5-16-ofp_experimenter.packet.json', + 'reply': None + }, + ], } def _jsonfile_to_msg(datapath, jsonfile): diff --git a/ryu/tests/unit/ofproto/json/of14/lib-ofctl-ofp_table_features_request.packet.json b/ryu/tests/unit/ofproto/json/of14/lib-ofctl-ofp_table_features_request.packet.json new file mode 100644 index 00000000..6501de15 --- /dev/null +++ b/ryu/tests/unit/ofproto/json/of14/lib-ofctl-ofp_table_features_request.packet.json @@ -0,0 +1,7 @@ +{ + "OFPTableFeaturesStatsRequest": { + "body": [], + "flags": 0, + "type": 12 + } +}