diff options
Diffstat (limited to 'tests/unit/lib')
141 files changed, 64734 insertions, 0 deletions
diff --git a/tests/unit/lib/__init__.py b/tests/unit/lib/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/unit/lib/__init__.py diff --git a/tests/unit/lib/ofctl_json/of10/1-2-ofp_flow_mod.packet.json b/tests/unit/lib/ofctl_json/of10/1-2-ofp_flow_mod.packet.json new file mode 100644 index 00000000..cc0b13d9 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of10/1-2-ofp_flow_mod.packet.json @@ -0,0 +1,23 @@ +{ + "cmd": 0, + "flow": { + "actions": [ + { + "type": "OUTPUT", + "max_len": 65535, + "port": 6 + } + ], + "buffer_id": 65535, + "command": 0, + "cookie": 0, + "flags": 0, + "hard_timeout": 0, + "idle_timeout": 0, + "match": { + "dl_dst": "f2:0b:a4:7d:f8:ea" + }, + "out_port": 65532, + "priority": 123 + } +} diff --git a/tests/unit/lib/ofctl_json/of12/3-0-ofp_desc_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-0-ofp_desc_stats_reply.packet.json new file mode 100644 index 00000000..8fc54b74 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-0-ofp_desc_stats_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/tests/unit/lib/ofctl_json/of12/3-11-ofp_flow_stats_request.packet.json b/tests/unit/lib/ofctl_json/of12/3-11-ofp_flow_stats_request.packet.json new file mode 100644 index 00000000..a42dfef0 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-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/tests/unit/lib/ofctl_json/of12/3-12-ofp_flow_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-12-ofp_flow_stats_reply.packet.json new file mode 100644 index 00000000..4d73e0b5 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-12-ofp_flow_stats_reply.packet.json @@ -0,0 +1,75 @@ +{ + "1": [ + { + "byte_count": 0, + "cookie": 0, + "duration_nsec": 115277000, + "duration_sec": 358, + "hard_timeout": 0, + "idle_timeout": 0, + "actions": [], + "length": 56, + "match": {}, + "packet_count": 0, + "priority": 65535, + "table_id": 0 + }, + { + "byte_count": 0, + "cookie": 0, + "duration_nsec": 115055000, + "duration_sec": 358, + "hard_timeout": 0, + "idle_timeout": 0, + "actions": [ + "OUTPUT:NORMAL" + ], + "length": 88, + "match": { + "dl_type": 2054 + }, + "packet_count": 0, + "priority": 65534, + "table_id": 0 + }, + { + "byte_count": 238, + "cookie": 0, + "duration_nsec": 511582000, + "duration_sec": 316220, + "hard_timeout": 0, + "idle_timeout": 0, + "actions": [ + "GOTO_TABLE:1" + ], + "length": 80, + "match": { + "in_port": 6, + "dl_src": "f2:0b:a4:7d:f8:ea" + }, + "packet_count": 3, + "priority": 123, + "table_id": 0 + }, + { + "byte_count": 98, + "cookie": 0, + "duration_nsec": 980901000, + "duration_sec": 313499, + "hard_timeout": 0, + "idle_timeout": 0, + "actions": [ + { + "WRITE_ACTIONS": [ + "OUTPUT:CONTROLLER" + ] + } + ], + "length": 80, + "match": {}, + "packet_count": 1, + "priority": 0, + "table_id": 0 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of12/3-16-ofp_experimenter.packet.json b/tests/unit/lib/ofctl_json/of12/3-16-ofp_experimenter.packet.json new file mode 100644 index 00000000..c655f8f0 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-16-ofp_experimenter.packet.json @@ -0,0 +1,8 @@ +{ + "exp": { + "data": "bmF6bw==", + "data_type": "base64", + "exp_type": 123456789, + "experimenter": 98765432 + } +} diff --git a/tests/unit/lib/ofctl_json/of12/3-2-ofp_flow_mod.packet.json b/tests/unit/lib/ofctl_json/of12/3-2-ofp_flow_mod.packet.json new file mode 100644 index 00000000..f6a0f26a --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-2-ofp_flow_mod.packet.json @@ -0,0 +1,41 @@ +{ + "cmd": 0, + "flow": { + "buffer_id": 65535, + "command": 0, + "cookie": 0, + "cookie_mask": 0, + "flags": 0, + "hard_timeout": 0, + "idle_timeout": 0, + "actions": [ + { + "type": "WRITE_ACTIONS", + "actions": [ + { + "type": "SET_FIELD", + "field": "vlan_vid", + "value": 258 + }, + { + "type": "OUTPUT", + "port": 6, + "max_len": 65535 + } + ] + }, + { + "type": "SET_FIELD", + "field": "eth_src", + "value": "01:02:03:04:05:06" + } + ], + "match": { + "eth_dst": "f2:0b:a4:7d:f8:ea" + }, + "out_group": 4294967295, + "out_port": 4294967295, + "priority": 123, + "table_id": 1 + } +} diff --git a/tests/unit/lib/ofctl_json/of12/3-21-ofp_group_mod.packet.json b/tests/unit/lib/ofctl_json/of12/3-21-ofp_group_mod.packet.json new file mode 100644 index 00000000..9509e191 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-21-ofp_group_mod.packet.json @@ -0,0 +1,22 @@ +{ + "cmd": 0, + "group": { + "buckets": [ + { + "actions": [ + { + "max_len": 65535, + "port": 2, + "type": "OUTPUT" + } + ], + "watch_group": 1, + "watch_port": 1, + "weight": 1 + } + ], + "command": 0, + "group_id": 1, + "type": "ALL" + } +} diff --git a/tests/unit/lib/ofctl_json/of12/3-22-ofp_port_mod.packet.json b/tests/unit/lib/ofctl_json/of12/3-22-ofp_port_mod.packet.json new file mode 100644 index 00000000..3c3ccf89 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-22-ofp_port_mod.packet.json @@ -0,0 +1,9 @@ +{ + "port_config": { + "advertise": 4096, + "config": 0, + "hw_addr": "00-11-00-00-11-11", + "mask": 0, + "port_no": 1 + } +} diff --git a/tests/unit/lib/ofctl_json/of12/3-25-ofp_aggregate_stats_request.packet.json b/tests/unit/lib/ofctl_json/of12/3-25-ofp_aggregate_stats_request.packet.json new file mode 100644 index 00000000..845af65b --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-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/tests/unit/lib/ofctl_json/of12/3-26-ofp_aggregate_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-26-ofp_aggregate_stats_reply.packet.json new file mode 100644 index 00000000..a4b23d12 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-26-ofp_aggregate_stats_reply.packet.json @@ -0,0 +1,9 @@ +{ + "1": [ + { + "byte_count": 574, + "flow_count": 6, + "packet_count": 7 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of12/3-28-ofp_table_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-28-ofp_table_stats_reply.packet.json new file mode 100644 index 00000000..7444a29a --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-28-ofp_table_stats_reply.packet.json @@ -0,0 +1,32134 @@ +{ + "1": [ + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "\u79c1\u306e\u30c6\u30fc\u30d6\u30eb", + "matched_count": 4, + "apply_actions": [ + "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" + ], + "active_count": 4, + "max_entries": 16777216, + "lookup_count": 4, + "metadata_match": 18446744073709551615, + "table_id": 0, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x01", + "matched_count": 3, + "apply_actions": [ + "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" + ], + "active_count": 2, + "max_entries": 16777216, + "lookup_count": 3, + "metadata_match": 18446744073709551615, + "table_id": 1, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x02", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 2, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x03", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 3, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x04", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 4, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x05", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 5, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x06", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 6, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x07", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 7, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x08", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 8, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x09", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 9, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x0a", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 10, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x0b", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 11, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x0c", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 12, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x0d", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 13, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x0e", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 14, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x0f", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 15, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x10", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 16, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x11", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 17, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x12", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 18, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x13", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 19, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x14", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 20, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x15", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 21, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x16", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 22, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x17", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 23, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x18", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 24, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x19", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 25, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x1a", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 26, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x1b", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 27, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x1c", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 28, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x1d", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 29, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x1e", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 30, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x1f", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 31, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x20", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 32, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x21", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 33, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x22", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 34, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x23", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 35, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x24", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 36, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x25", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 37, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x26", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 38, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x27", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 39, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x28", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 40, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x29", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 41, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x2a", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 42, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x2b", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 43, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x2c", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 44, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x2d", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 45, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x2e", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 46, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x2f", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 47, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x30", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 48, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x31", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 49, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x32", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 50, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x33", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 51, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x34", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 52, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x35", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 53, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x36", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 54, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x37", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 55, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x38", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 56, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x39", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 57, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x3a", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 58, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x3b", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 59, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x3c", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 60, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x3d", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 61, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x3e", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 62, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x3f", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 63, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x40", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 64, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x41", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 65, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x42", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 66, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x43", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 67, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x44", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 68, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x45", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 69, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x46", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 70, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x47", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 71, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x48", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 72, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x49", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 73, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x4a", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 74, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x4b", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 75, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x4c", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 76, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x4d", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 77, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x4e", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 78, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x4f", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 79, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x50", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 80, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x51", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 81, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x52", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 82, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x53", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 83, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x54", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 84, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x55", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 85, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x56", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 86, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x57", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 87, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x58", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 88, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x59", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 89, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x5a", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 90, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x5b", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 91, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x5c", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 92, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x5d", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 93, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x5e", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 94, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x5f", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 95, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x60", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 96, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x61", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 97, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x62", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 98, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x63", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 99, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x64", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 100, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x65", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 101, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x66", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 102, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x67", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 103, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x68", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 104, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x69", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 105, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x6a", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 106, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x6b", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 107, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x6c", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 108, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x6d", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 109, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x6e", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 110, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x6f", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 111, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x70", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 112, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x71", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 113, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x72", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 114, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x73", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 115, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x74", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 116, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x75", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 117, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x76", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 118, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x77", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 119, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x78", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 120, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x79", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 121, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x7a", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 122, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x7b", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 123, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x7c", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 124, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x7d", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 125, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x7e", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 126, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x7f", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 127, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x80", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 128, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x81", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 129, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x82", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 130, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x83", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 131, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x84", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 132, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x85", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 133, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x86", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 134, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x87", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 135, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x88", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 136, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x89", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 137, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x8a", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 138, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x8b", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 139, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x8c", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 140, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x8d", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 141, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x8e", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 142, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x8f", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 143, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x90", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 144, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x91", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 145, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x92", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 146, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x93", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 147, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x94", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 148, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x95", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 149, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x96", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 150, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x97", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 151, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x98", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 152, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x99", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 153, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x9a", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 154, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x9b", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 155, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x9c", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 156, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x9d", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 157, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x9e", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 158, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0x9f", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 159, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xa0", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 160, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xa1", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 161, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xa2", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 162, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xa3", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 163, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xa4", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 164, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xa5", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 165, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xa6", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 166, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xa7", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 167, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xa8", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 168, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xa9", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 169, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xaa", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 170, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xab", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 171, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xac", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 172, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xad", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 173, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xae", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 174, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xaf", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 175, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xb0", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 176, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xb1", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 177, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xb2", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 178, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xb3", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 179, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xb4", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 180, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xb5", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 181, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xb6", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 182, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xb7", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 183, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xb8", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 184, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xb9", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 185, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xba", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 186, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xbb", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 187, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xbc", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 188, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xbd", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 189, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xbe", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 190, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xbf", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 191, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xc0", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 192, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xc1", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 193, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xc2", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 194, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xc3", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 195, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xc4", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 196, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xc5", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 197, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xc6", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 198, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xc7", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 199, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xc8", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 200, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xc9", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 201, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xca", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 202, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xcb", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 203, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xcc", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 204, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xcd", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 205, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xce", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 206, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xcf", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 207, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xd0", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 208, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xd1", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 209, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xd2", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 210, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xd3", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 211, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xd4", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 212, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xd5", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 213, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xd6", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 214, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xd7", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 215, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xd8", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 216, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xd9", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 217, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xda", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 218, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xdb", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 219, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xdc", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 220, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xdd", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 221, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xde", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 222, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xdf", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 223, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xe0", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 224, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xe1", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 225, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xe2", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 226, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xe3", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 227, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xe4", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 228, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xe5", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 229, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xe6", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 230, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xe7", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 231, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xe8", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 232, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xe9", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 233, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xea", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 234, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xeb", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 235, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xec", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 236, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xed", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 237, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xee", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 238, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xef", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 239, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xf0", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 240, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xf1", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 241, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xf2", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 242, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xf3", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 243, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xf4", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 244, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xf5", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 245, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xf6", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 246, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xf7", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 247, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xf8", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 248, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xf9", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 249, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xfa", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 250, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xfb", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 251, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xfc", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 252, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xfd", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": 253, + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + }, + { + "wildcards": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "write_setfields": [], + "write_actions": [ + "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" + ], + "name": "Flow Table 0xfe", + "matched_count": 0, + "apply_actions": [ + "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" + ], + "active_count": 0, + "max_entries": 16777216, + "lookup_count": 0, + "metadata_match": 18446744073709551615, + "table_id": "MAX", + "instructions": [ + "GOTO_TABLE", + "WRITE_METADATA", + "WRITE_ACTIONS", + "APPLY_ACTIONS", + "CLEAR_ACTIONS" + ], + "config": [], + "metadata_write": 18446744073709551615, + "match": [ + "IN_PORT", + "METADATA", + "ETH_DST", + "ETH_SRC", + "ETH_TYPE", + "VLAN_VID", + "VLAN_PCP", + "IP_DSCP", + "IP_ECN", + "IP_PROTO", + "IPV4_SRC", + "IPV4_DST", + "TCP_SRC", + "TCP_DST", + "UDP_SRC", + "UDP_DST", + "SCTP_SRC", + "SCTP_DST", + "ICMPV4_TYPE", + "ICMPV4_CODE", + "ARP_OP", + "ARP_SPA", + "ARP_TPA", + "ARP_SHA", + "ARP_THA", + "IPV6_SRC", + "IPV6_DST", + "IPV6_FLABEL", + "ICMPV6_TYPE", + "ICMPV6_CODE", + "IPV6_ND_TARGET", + "IPV6_ND_SLL", + "IPV6_ND_TLL", + "MPLS_LABEL", + "MPLS_TC" + ], + "apply_setfields": [] + } + ] +}
\ No newline at end of file diff --git a/tests/unit/lib/ofctl_json/of12/3-30-ofp_port_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-30-ofp_port_stats_reply.packet.json new file mode 100644 index 00000000..43414b65 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-30-ofp_port_stats_reply.packet.json @@ -0,0 +1,34 @@ +{ + "1": [ + { + "collisions": 0, + "port_no": 7, + "rx_bytes": 0, + "rx_crc_err": 0, + "rx_dropped": 0, + "rx_errors": 0, + "rx_frame_err": 0, + "rx_over_err": 0, + "rx_packets": 0, + "tx_bytes": 336, + "tx_dropped": 0, + "tx_errors": 0, + "tx_packets": 4 + }, + { + "collisions": 0, + "port_no": 6, + "rx_bytes": 336, + "rx_crc_err": 0, + "rx_dropped": 0, + "rx_errors": 0, + "rx_frame_err": 0, + "rx_over_err": 0, + "rx_packets": 4, + "tx_bytes": 336, + "tx_dropped": 0, + "tx_errors": 0, + "tx_packets": 4 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of12/3-32-ofp_group_features_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-32-ofp_group_features_stats_reply.packet.json new file mode 100644 index 00000000..b277969e --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-32-ofp_group_features_stats_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" + ] + } + ], + "max_groups": [ + { + "ALL": 16777216 + }, + { + "SELECT": 16777216 + }, + { + "INDIRECT": 16777216 + }, + { + "FF": 16777216 + } + ], + "capabilities": [ + "SELECT_WEIGHT", + "CHAINING" + ], + "types": [ + "ALL", + "SELECT", + "INDIRECT", + "FF" + ] + } + ] +}
\ No newline at end of file diff --git a/tests/unit/lib/ofctl_json/of12/3-34-ofp_group_desc_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-34-ofp_group_desc_stats_reply.packet.json new file mode 100644 index 00000000..c23a9bbe --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-34-ofp_group_desc_stats_reply.packet.json @@ -0,0 +1,20 @@ +{ + "1": [ + { + "buckets": [ + { + "actions": [ + "OUTPUT:2" + ], + "len": 32, + "watch_group": 1, + "watch_port": 1, + "weight": 1 + } + ], + "group_id": 1, + "length": 40, + "type": "ALL" + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of12/3-35-ofp_queue_get_config_request.packet.json b/tests/unit/lib/ofctl_json/of12/3-35-ofp_queue_get_config_request.packet.json new file mode 100644 index 00000000..fc49ec2c --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-35-ofp_queue_get_config_request.packet.json @@ -0,0 +1,3 @@ +{ + "port": 4294967295 +} diff --git a/tests/unit/lib/ofctl_json/of12/3-36-ofp_queue_get_config_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-36-ofp_queue_get_config_reply.packet.json new file mode 100644 index 00000000..8e922a9a --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-36-ofp_queue_get_config_reply.packet.json @@ -0,0 +1,43 @@ +{ + "1": [ + { + "port": "ANY", + "queues": [ + { + "len": 48, + "port": 77, + "properties": [ + { + "len": 16, + "property": "MIN_RATE", + "rate": 10 + }, + { + "len": 16, + "property": "MAX_RATE", + "rate": 900 + } + ], + "queue_id": 99 + }, + { + "len": 48, + "port": 77, + "properties": [ + { + "len": 16, + "property": "MIN_RATE", + "rate": 100 + }, + { + "len": 16, + "property": "MAX_RATE", + "rate": 200 + } + ], + "queue_id": 88 + } + ] + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of12/3-38-ofp_queue_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-38-ofp_queue_stats_reply.packet.json new file mode 100644 index 00000000..db50c1e5 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-38-ofp_queue_stats_reply.packet.json @@ -0,0 +1,25 @@ +{ + "1": [ + { + "port_no": 7, + "queue_id": 1, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + }, + { + "port_no": 6, + "queue_id": 1, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + }, + { + "port_no": 7, + "queue_id": 2, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of12/3-6-ofp_features_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-6-ofp_features_reply.packet.json new file mode 100644 index 00000000..be040f79 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-6-ofp_features_reply.packet.json @@ -0,0 +1,30 @@ +{ + "1": [ + { + "advertised": 10240, + "config": 0, + "curr": 10248, + "curr_speed": 5000, + "hw_addr": "f2:0b:a4:7d:f8:ea", + "max_speed": 5000, + "name": "Port6", + "peer": 10248, + "port_no": 6, + "state": 4, + "supported": 10248 + }, + { + "advertised": 10240, + "config": 0, + "curr": 10248, + "curr_speed": 5000, + "hw_addr": "f2:0b:a4:d0:3f:70", + "max_speed": 5000, + "name": "Port7", + "peer": 10248, + "port_no": 7, + "state": 4, + "supported": 10248 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of12/3-62-ofp_group_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of12/3-62-ofp_group_stats_reply.packet.json new file mode 100644 index 00000000..f2f1a6ce --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/3-62-ofp_group_stats_reply.packet.json @@ -0,0 +1,17 @@ +{ + "1": [ + { + "bucket_stats": [ + { + "byte_count": 2345, + "packet_count": 234 + } + ], + "byte_count": 12345, + "group_id": 1, + "length": 48, + "packet_count": 123, + "ref_count": 2 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_group_stats_request.packet.json b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_group_stats_request.packet.json new file mode 100644 index 00000000..7646a77a --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_group_stats_request.packet.json @@ -0,0 +1,3 @@ +{ + "group_id": 1 +} diff --git a/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_port_stats_request.packet.json b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_port_stats_request.packet.json new file mode 100644 index 00000000..7d56f29d --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_port_stats_request.packet.json @@ -0,0 +1,3 @@ +{ + "port": 7 +} diff --git a/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json new file mode 100644 index 00000000..e116fdc1 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json @@ -0,0 +1,3 @@ +{ + "port": null +} diff --git a/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json new file mode 100644 index 00000000..7d56f29d --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json @@ -0,0 +1,3 @@ +{ + "port": 7 +} diff --git a/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json new file mode 100644 index 00000000..78077510 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json @@ -0,0 +1,4 @@ +{ + "port": 7, + "queue_id":1 +} diff --git a/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json new file mode 100644 index 00000000..ee465693 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json @@ -0,0 +1,3 @@ +{ + "queue_id":1 +} diff --git a/tests/unit/lib/ofctl_json/of13/4-0-ofp_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-0-ofp_desc_reply.packet.json new file mode 100644 index 00000000..8fc54b74 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-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/tests/unit/lib/ofctl_json/of13/4-11-ofp_flow_stats_request.packet.json b/tests/unit/lib/ofctl_json/of13/4-11-ofp_flow_stats_request.packet.json new file mode 100644 index 00000000..a42dfef0 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-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/tests/unit/lib/ofctl_json/of13/4-12-ofp_flow_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-12-ofp_flow_stats_reply.packet.json new file mode 100644 index 00000000..f9b8e68f --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-12-ofp_flow_stats_reply.packet.json @@ -0,0 +1,104 @@ +{ + "1": [ + { + "actions": [], + "byte_count": 0, + "cookie": 0, + "duration_nsec": 115277000, + "duration_sec": 358, + "flags": 0, + "hard_timeout": 0, + "idle_timeout": 0, + "length": 0, + "match": {}, + "packet_count": 0, + "priority": 65535, + "table_id": 0 + }, + { + "actions": [ + "OUTPUT:NORMAL" + ], + "byte_count": 0, + "cookie": 0, + "duration_nsec": 115055000, + "duration_sec": 358, + "flags": 0, + "hard_timeout": 0, + "idle_timeout": 0, + "length": 0, + "match": { + "dl_type": 2054 + }, + "packet_count": 0, + "priority": 65534, + "table_id": 0 + }, + { + "actions": [ + "GOTO_TABLE:1" + ], + "byte_count": 238, + "cookie": 0, + "duration_nsec": 511582000, + "duration_sec": 316220, + "flags": 0, + "hard_timeout": 0, + "idle_timeout": 0, + "length": 0, + "match": { + "dl_src": "f2:0b:a4:7d:f8:ea", + "in_port": 6 + }, + "packet_count": 3, + "priority": 123, + "table_id": 0 + }, + { + "actions": [ + { + "WRITE_ACTIONS": [ + "SET_FIELD: {vlan_vid:258}", + "COPY_TTL_OUT", + "COPY_TTL_IN", + "COPY_TTL_IN", + "POP_PBB", + "PUSH_PBB:4660", + "POP_MPLS:39030", + "PUSH_MPLS:34887", + "POP_VLAN", + "PUSH_VLAN:33024", + "DEC_MPLS_TTL", + "SET_MPLS_TTL:10", + "DEC_NW_TTL", + "SET_NW_TTL:10", + "SET_QUEUE:3", + "GROUP:99", + "OUTPUT:6", + "EXPERIMENTER: {experimenter:98765432, data:ZXhwX2RhdGE=}", + "NX_UNKNOWN: {subtype: 25976, data: cF9kYXRh}" + ] + }, + "SET_FIELD: {eth_src:01:02:03:04:05:06}", + "SET_FIELD: {pbb_uca:1}", + { + "WRITE_ACTIONS": [ + "OUTPUT:CONTROLLER" + ] + } + ], + "byte_count": 98, + "cookie": 0, + "duration_nsec": 980901000, + "duration_sec": 313499, + "flags": 0, + "hard_timeout": 0, + "idle_timeout": 0, + "length": 0, + "match": {}, + "packet_count": 1, + "priority": 0, + "table_id": 0 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of13/4-16-ofp_experimenter.packet.json b/tests/unit/lib/ofctl_json/of13/4-16-ofp_experimenter.packet.json new file mode 100644 index 00000000..c655f8f0 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-16-ofp_experimenter.packet.json @@ -0,0 +1,8 @@ +{ + "exp": { + "data": "bmF6bw==", + "data_type": "base64", + "exp_type": 123456789, + "experimenter": 98765432 + } +} diff --git a/tests/unit/lib/ofctl_json/of13/4-2-ofp_flow_mod.packet.json b/tests/unit/lib/ofctl_json/of13/4-2-ofp_flow_mod.packet.json new file mode 100644 index 00000000..fbd5c214 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-2-ofp_flow_mod.packet.json @@ -0,0 +1,97 @@ +{ + "cmd": 0, + "flow": { + "buffer_id": 65535, + "table_id": 1, + "priority": 123, + "match": { + "eth_dst": "f2:0b:a4:7d:f8:ea" + }, + "actions": [ + { + "type": "WRITE_ACTIONS", + "actions": [ + { + "type": "SET_FIELD", + "field": "vlan_vid", + "value": 258 + }, + { + "type": "COPY_TTL_OUT" + }, + { + "type": "COPY_TTL_IN" + }, + { + "type": "COPY_TTL_IN" + }, + { + "type": "POP_PBB" + }, + { + "type": "PUSH_PBB", + "ethertype": 4660 + }, + { + "type": "POP_MPLS", + "ethertype": 39030 + }, + { + "type": "PUSH_MPLS", + "ethertype": 34887 + }, + { + "type": "POP_VLAN" + }, + { + "type": "PUSH_VLAN", + "ethertype": 33024 + }, + { + "type": "DEC_MPLS_TTL" + }, + { + "type": "SET_MPLS_TTL", + "mpls_ttl": 10 + }, + { + "type": "DEC_NW_TTL" + }, + { + "type": "SET_NW_TTL", + "nw_ttl": 10 + }, + { + "type": "EXPERIMENTER", + "experimenter": 101, + "data": "AAECAwQFBgc=", + "data_type": "base64" + }, + { + "type": "SET_QUEUE", + "queue_id": 3 + }, + { + "type": "GROUP", + "group_id": 99 + }, + { + "type": "OUTPUT", + "max_len": 65535, + "port": 6 + } + ] + }, + { + "type": "SET_FIELD", + "field": "eth_src", + "value": "01:02:03:04:05:06" + }, + { + "type": "SET_FIELD", + "field": "pbb_uca", + "value": 1 + } + ] + } +} diff --git a/tests/unit/lib/ofctl_json/of13/4-21-ofp_group_mod.packet.json b/tests/unit/lib/ofctl_json/of13/4-21-ofp_group_mod.packet.json new file mode 100644 index 00000000..fa48425a --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-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/tests/unit/lib/ofctl_json/of13/4-22-ofp_port_mod.packet.json b/tests/unit/lib/ofctl_json/of13/4-22-ofp_port_mod.packet.json new file mode 100644 index 00000000..73339730 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-22-ofp_port_mod.packet.json @@ -0,0 +1,9 @@ +{ + "port_config": { + "advertise": 4096, + "config": 0, + "hw_addr": "00:11:00:00:11:11", + "mask": 0, + "port_no": 1 + } +} diff --git a/tests/unit/lib/ofctl_json/of13/4-25-ofp_aggregate_stats_request.packet.json b/tests/unit/lib/ofctl_json/of13/4-25-ofp_aggregate_stats_request.packet.json new file mode 100644 index 00000000..845af65b --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-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/tests/unit/lib/ofctl_json/of13/4-26-ofp_aggregate_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-26-ofp_aggregate_stats_reply.packet.json new file mode 100644 index 00000000..a4b23d12 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-26-ofp_aggregate_stats_reply.packet.json @@ -0,0 +1,9 @@ +{ + "1": [ + { + "byte_count": 574, + "flow_count": 6, + "packet_count": 7 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of13/4-28-ofp_table_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-28-ofp_table_stats_reply.packet.json new file mode 100644 index 00000000..95b2c495 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-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/tests/unit/lib/ofctl_json/of13/4-30-ofp_port_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-30-ofp_port_stats_reply.packet.json new file mode 100644 index 00000000..a81e6825 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-30-ofp_port_stats_reply.packet.json @@ -0,0 +1,38 @@ +{ + "1": [ + { + "collisions": 0, + "duration_nsec": 0, + "duration_sec": 0, + "port_no": 7, + "rx_bytes": 0, + "rx_crc_err": 0, + "rx_dropped": 0, + "rx_errors": 0, + "rx_frame_err": 0, + "rx_over_err": 0, + "rx_packets": 0, + "tx_bytes": 336, + "tx_dropped": 0, + "tx_errors": 0, + "tx_packets": 4 + }, + { + "collisions": 0, + "duration_nsec": 0, + "duration_sec": 0, + "port_no": 6, + "rx_bytes": 336, + "rx_crc_err": 0, + "rx_dropped": 0, + "rx_errors": 0, + "rx_frame_err": 0, + "rx_over_err": 0, + "rx_packets": 4, + "tx_bytes": 336, + "tx_dropped": 0, + "tx_errors": 0, + "tx_packets": 4 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of13/4-32-ofp_group_features_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-32-ofp_group_features_reply.packet.json new file mode 100644 index 00000000..2a29ac2d --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-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/tests/unit/lib/ofctl_json/of13/4-34-ofp_group_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-34-ofp_group_desc_reply.packet.json new file mode 100644 index 00000000..c23a9bbe --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-34-ofp_group_desc_reply.packet.json @@ -0,0 +1,20 @@ +{ + "1": [ + { + "buckets": [ + { + "actions": [ + "OUTPUT:2" + ], + "len": 32, + "watch_group": 1, + "watch_port": 1, + "weight": 1 + } + ], + "group_id": 1, + "length": 40, + "type": "ALL" + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of13/4-35-ofp_queue_get_config_request.packet.json b/tests/unit/lib/ofctl_json/of13/4-35-ofp_queue_get_config_request.packet.json new file mode 100644 index 00000000..fc49ec2c --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-35-ofp_queue_get_config_request.packet.json @@ -0,0 +1,3 @@ +{ + "port": 4294967295 +} diff --git a/tests/unit/lib/ofctl_json/of13/4-36-ofp_queue_get_config_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-36-ofp_queue_get_config_reply.packet.json new file mode 100644 index 00000000..9d529400 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-36-ofp_queue_get_config_reply.packet.json @@ -0,0 +1,83 @@ +{ + "1": [ + { + "port": "ANY", + "queues": [ + { + "len": 64, + "port": 77, + "properties": [ + { + "len": 16, + "property": "MIN_RATE", + "rate": 10 + }, + { + "len": 16, + "property": "MAX_RATE", + "rate": 900 + }, + { + "data": [], + "experimenter": 999, + "len": 16, + "property": "EXPERIMENTER" + } + ], + "queue_id": 99 + }, + { + "len": 65, + "port": 77, + "properties": [ + { + "len": 16, + "property": "MIN_RATE", + "rate": 100 + }, + { + "len": 16, + "property": "MAX_RATE", + "rate": 200 + }, + { + "experimenter": 999, + "data": [ + 1 + ], + "len": 17, + "property": "EXPERIMENTER" + } + ], + "queue_id": 88 + }, + { + "len": 66, + "port": 77, + "properties": [ + { + "len": 16, + "property": "MIN_RATE", + "rate": 200 + }, + { + "len": 16, + "property": "MAX_RATE", + "rate": 400 + }, + { + "experimenter": 999, + "data": [ + 1, + 2 + ], + "len": 18, + "property": "EXPERIMENTER" + } + ], + "queue_id": 77 + } + ] + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of13/4-38-ofp_queue_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-38-ofp_queue_stats_reply.packet.json new file mode 100644 index 00000000..b19fe300 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-38-ofp_queue_stats_reply.packet.json @@ -0,0 +1,31 @@ +{ + "1": [ + { + "duration_nsec": 0, + "duration_sec": 0, + "port_no": 7, + "queue_id": 1, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + }, + { + "duration_nsec": 0, + "duration_sec": 0, + "port_no": 6, + "queue_id": 1, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + }, + { + "duration_nsec": 0, + "duration_sec": 0, + "port_no": 7, + "queue_id": 2, + "tx_bytes": 0, + "tx_errors": 0, + "tx_packets": 0 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of13/4-45-ofp_meter_mod.packet.json b/tests/unit/lib/ofctl_json/of13/4-45-ofp_meter_mod.packet.json new file mode 100644 index 00000000..b78ea6be --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-45-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/tests/unit/lib/ofctl_json/of13/4-48-ofp_meter_config_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-48-ofp_meter_config_reply.packet.json new file mode 100644 index 00000000..d5efcd97 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-48-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/tests/unit/lib/ofctl_json/of13/4-50-ofp_meter_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-50-ofp_meter_stats_reply.packet.json new file mode 100644 index 00000000..f21ec519 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-50-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/tests/unit/lib/ofctl_json/of13/4-52-ofp_meter_features_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-52-ofp_meter_features_reply.packet.json new file mode 100644 index 00000000..24dac7d4 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-52-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/tests/unit/lib/ofctl_json/of13/4-54-ofp_port_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-54-ofp_port_desc_reply.packet.json new file mode 100644 index 00000000..72ff2ec3 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-54-ofp_port_desc_reply.packet.json @@ -0,0 +1,30 @@ +{ + "1": [ + { + "advertised": 10240, + "config": 0, + "curr": 10248, + "curr_speed": 5000, + "hw_addr": "f2:0b:a4:d0:3f:70", + "max_speed": 5000, + "name": "Port7", + "peer": 10248, + "port_no": 7, + "state": 4, + "supported": 10248 + }, + { + "advertised": 10240, + "config": 0, + "curr": 10248, + "curr_speed": 5000, + "hw_addr": "f2:0b:a4:7d:f8:ea", + "max_speed": 5000, + "name": "Port6", + "peer": 10248, + "port_no": 6, + "state": 4, + "supported": 10248 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of13/4-56-ofp_table_features_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-56-ofp_table_features_reply.packet.json new file mode 100644 index 00000000..ded5a996 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-56-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/tests/unit/lib/ofctl_json/of13/4-58-ofp_group_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of13/4-58-ofp_group_stats_reply.packet.json new file mode 100644 index 00000000..1c6f9039 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/4-58-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/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_group_stats_request.packet.json b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_group_stats_request.packet.json new file mode 100644 index 00000000..7646a77a --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_group_stats_request.packet.json @@ -0,0 +1,3 @@ +{ + "group_id": 1 +} diff --git a/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_config_request.packet.json b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_config_request.packet.json new file mode 100644 index 00000000..3ad622e0 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_config_request.packet.json @@ -0,0 +1,3 @@ +{ + "meter_id": 1 +} diff --git a/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_stats_request.packet.json b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_stats_request.packet.json new file mode 100644 index 00000000..3ad622e0 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_stats_request.packet.json @@ -0,0 +1,3 @@ +{ + "meter_id": 1 +} diff --git a/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_port_stats_request.packet.json b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_port_stats_request.packet.json new file mode 100644 index 00000000..7d56f29d --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_port_stats_request.packet.json @@ -0,0 +1,3 @@ +{ + "port": 7 +} diff --git a/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json new file mode 100644 index 00000000..e116fdc1 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json @@ -0,0 +1,3 @@ +{ + "port": null +} diff --git a/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json new file mode 100644 index 00000000..7d56f29d --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json @@ -0,0 +1,3 @@ +{ + "port": 7 +} diff --git a/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json new file mode 100644 index 00000000..78077510 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json @@ -0,0 +1,4 @@ +{ + "port": 7, + "queue_id":1 +} diff --git a/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json new file mode 100644 index 00000000..ee465693 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json @@ -0,0 +1,3 @@ +{ + "queue_id":1 +} diff --git a/tests/unit/lib/ofctl_json/of14/5-0-ofp_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-0-ofp_desc_reply.packet.json new file mode 100644 index 00000000..8fc54b74 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-11-ofp_flow_stats_request.packet.json b/tests/unit/lib/ofctl_json/of14/5-11-ofp_flow_stats_request.packet.json new file mode 100644 index 00000000..a42dfef0 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-12-ofp_flow_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-12-ofp_flow_stats_reply.packet.json new file mode 100644 index 00000000..134c3f12 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-16-ofp_experimenter.packet.json b/tests/unit/lib/ofctl_json/of14/5-16-ofp_experimenter.packet.json new file mode 100644 index 00000000..c655f8f0 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-2-ofp_flow_mod.packet.json b/tests/unit/lib/ofctl_json/of14/5-2-ofp_flow_mod.packet.json new file mode 100644 index 00000000..72054e33 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-21-ofp_group_mod.packet.json b/tests/unit/lib/ofctl_json/of14/5-21-ofp_group_mod.packet.json new file mode 100644 index 00000000..fa48425a --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-22-ofp_port_mod.packet.json b/tests/unit/lib/ofctl_json/of14/5-22-ofp_port_mod.packet.json new file mode 100644 index 00000000..980456eb --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-25-ofp_aggregate_stats_request.packet.json b/tests/unit/lib/ofctl_json/of14/5-25-ofp_aggregate_stats_request.packet.json new file mode 100644 index 00000000..845af65b --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-26-ofp_aggregate_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-26-ofp_aggregate_stats_reply.packet.json new file mode 100644 index 00000000..a4b23d12 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-28-ofp_table_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-28-ofp_table_stats_reply.packet.json new file mode 100644 index 00000000..95b2c495 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-30-ofp_port_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-30-ofp_port_stats_reply.packet.json new file mode 100644 index 00000000..f9f1d86f --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-32-ofp_group_features_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-32-ofp_group_features_reply.packet.json new file mode 100644 index 00000000..2a29ac2d --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-34-ofp_group_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-34-ofp_group_desc_reply.packet.json new file mode 100644 index 00000000..df0ef359 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-36-ofp_queue_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-36-ofp_queue_stats_reply.packet.json new file mode 100644 index 00000000..a6d246d0 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-43-ofp_meter_mod.packet.json b/tests/unit/lib/ofctl_json/of14/5-43-ofp_meter_mod.packet.json new file mode 100644 index 00000000..b78ea6be --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-46-ofp_meter_config_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-46-ofp_meter_config_reply.packet.json new file mode 100644 index 00000000..d5efcd97 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-48-ofp_meter_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-48-ofp_meter_stats_reply.packet.json new file mode 100644 index 00000000..f21ec519 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-50-ofp_meter_features_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-50-ofp_meter_features_reply.packet.json new file mode 100644 index 00000000..24dac7d4 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-52-ofp_port_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-52-ofp_port_desc_reply.packet.json new file mode 100644 index 00000000..c2f748a8 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-54-ofp_table_features_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-54-ofp_table_features_reply.packet.json new file mode 100644 index 00000000..ded5a996 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-56-ofp_group_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-56-ofp_group_stats_reply.packet.json new file mode 100644 index 00000000..1c6f9039 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-63-ofp_queue_desc_request.packet.json b/tests/unit/lib/ofctl_json/of14/5-63-ofp_queue_desc_request.packet.json new file mode 100644 index 00000000..fc863813 --- /dev/null +++ b/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/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json new file mode 100644 index 00000000..ca6e87f2 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json @@ -0,0 +1,61 @@ +{ + "1": [ + { + "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/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json new file mode 100644 index 00000000..0b5e04be --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json @@ -0,0 +1,48 @@ +{ + "1": [ + { + "cookie": 1234605616436508552, + "flags": 1, + "hard_timeout": 255, + "idle_timeout": 255, + "importance": 43690, + "instructions": [ + { + "table_id": 2, + "type": "GOTO_TABLE" + }, + { + "actions": [ + { + "meter_id": 2, + "type": "METER" + } + ], + "type": "WRITE_ACTIONS" + }, + { + "actions": [ + { + "type": "COPY_FIELD", + "n_bits": 32, + "src_offset": 1, + "dst_offset": 2, + "src_oxm_id": "eth_src", + "dst_oxm_id": "eth_dst" + } + ], + "type": "APPLY_ACTIONS" + } + ], + "length": 64, + "match": { + "in_port": 1 + }, + "priority": 5, + "stats": { + "flow_count": 1 + }, + "table_id": 1 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json b/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json new file mode 100644 index 00000000..f59aa0b2 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json @@ -0,0 +1,13 @@ +{ + "flow": { + "cookie": 1234605616436508552, + "cookie_mask": 18446744073709551615, + "flags": 0, + "match": { + "in_port": 1 + }, + "out_group": 4294967295, + "out_port": 4294967295, + "table_id": 1 + } +} diff --git a/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_mod.packet.json b/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_mod.packet.json new file mode 100644 index 00000000..cc3ba488 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_mod.packet.json @@ -0,0 +1,115 @@ +{ + "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" + }, + { + "meter_id": 2, + "type": "METER" + }, + { + "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": "COPY_FIELD", + "n_bits": 32, + "src_offset": 1, + "dst_offset": 2, + "src_oxm_id": "eth_src", + "dst_oxm_id": "eth_dst" + } + ], + "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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json new file mode 100644 index 00000000..ac4f93c4 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json @@ -0,0 +1,10 @@ +{ + "1": [ + { + "length": 16, + "stats": { + "flow_count": 1 + } + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_request.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_request.packet.json new file mode 100644 index 00000000..845af65b --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-desc_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-desc_reply.packet.json new file mode 100644 index 00000000..8fc54b74 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-experimenter.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-experimenter.packet.json new file mode 100644 index 00000000..c655f8f0 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-experimenter.packet.json @@ -0,0 +1,8 @@ +{ + "exp": { + "data": "bmF6bw==", + "data_type": "base64", + "exp_type": 123456789, + "experimenter": 98765432 + } +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_reply.packet.json new file mode 100644 index 00000000..4e12f857 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_reply.packet.json @@ -0,0 +1,26 @@ +{ + "1": [ + { + "cookie": 1234605616436508552, + "flags": 1, + "hard_timeout": 255, + "idle_timeout": 255, + "importance": 43690, + "instructions": [ + { + "table_id": 2, + "type": "GOTO_TABLE" + } + ], + "length": 64, + "match": { + "in_port": 1 + }, + "priority": 5, + "stats": { + "flow_count": 1 + }, + "table_id": 1 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_request.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_request.packet.json new file mode 100644 index 00000000..f59aa0b2 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_request.packet.json @@ -0,0 +1,13 @@ +{ + "flow": { + "cookie": 1234605616436508552, + "cookie_mask": 18446744073709551615, + "flags": 0, + "match": { + "in_port": 1 + }, + "out_group": 4294967295, + "out_port": 4294967295, + "table_id": 1 + } +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json new file mode 100644 index 00000000..72054e33 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_mod_no_nx.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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_reply.packet.json new file mode 100644 index 00000000..385f256b --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_reply.packet.json @@ -0,0 +1,16 @@ +{ + "1": [ + { + "length": 40, + "match": { + "in_port": 1 + }, + "priority": 1, + "reason": 0, + "stats": { + "flow_count": 1 + }, + "table_id": 1 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_request.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_request.packet.json new file mode 100644 index 00000000..a42dfef0 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_reply.packet.json new file mode 100644 index 00000000..b6b75020 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_reply.packet.json @@ -0,0 +1,27 @@ +{ + "1": [ + { + "buckets": [ + { + "actions": [ + { + "max_len": 65509, + "port": 1, + "type": "OUTPUT" + } + ], + "bucket_id": 65535, + "properties": [ + { + "type": "WEIGHT", + "weight": 65535 + } + ] + } + ], + "group_id": 1, + "properties": [], + "type": "SELECT" + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_request.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_request.packet.json new file mode 100644 index 00000000..f25aaff4 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_request.packet.json @@ -0,0 +1,3 @@ +{ + "group_id": 52651 +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_features_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_features_reply.packet.json new file mode 100644 index 00000000..2a29ac2d --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_mod.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_mod.packet.json new file mode 100644 index 00000000..eca861ea --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_mod.packet.json @@ -0,0 +1,42 @@ +{ + "cmd": 3, + "group": { + "buckets": [ + { + "actions": [ + { + "len": 8, + "type": "POP_VLAN" + }, + { + "field": "ipv4_dst", + "type": "SET_FIELD", + "value": "192.168.2.9" + } + ], + "bucket_id": 305419896, + "properties": [ + { + "length": 8, + "type": "WEIGHT", + "weight": 52428 + }, + { + "length": 8, + "type": "WATCH_PORT", + "watch": 56797 + }, + { + "length": 8, + "type": "WATCH_GROUP", + "watch": 4008636142 + } + ] + } + ], + "command_bucket_id": 3149642683, + "group_id": 2863311530, + "properties": [], + "type": "SELECT" + } +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_stats_reply.packet.json new file mode 100644 index 00000000..1c6f9039 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_desc_reply.packet.json new file mode 100644 index 00000000..d5efcd97 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_desc_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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_features_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_features_reply.packet.json new file mode 100644 index 00000000..24dac7d4 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_mod.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_mod.packet.json new file mode 100644 index 00000000..1d881209 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_mod.packet.json @@ -0,0 +1,24 @@ +{ + "cmd": 0, + "meter": { + "bands": [ + { + "burst_size": 10, + "rate": 1000, + "type": "DROP" + }, + { + "burst_size": 10, + "prec_level": 1, + "rate": 1000, + "type": "DSCP_REMARK" + } + ], + "flags": [ + "PKTPS", + "BURST", + "STATS" + ], + "meter_id": 100 + } +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_stats_reply.packet.json new file mode 100644 index 00000000..e7f9722b --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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, + "len": 56, + "meter_id": 100, + "packet_in_count": 0, + "ref_count": 0 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_reply.packet.json new file mode 100644 index 00000000..c2f748a8 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_request.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_request.packet.json new file mode 100644 index 00000000..d0519e83 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_request.packet.json @@ -0,0 +1,3 @@ +{ + "port_no": 48346 +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_mod.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_mod.packet.json new file mode 100644 index 00000000..be9de69d --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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": "ETHERNET" + }, + { + "configure": 3, + "fl_offset": 2000, + "freq_lmda": 1500, + "grid_span": 3000, + "length": 24, + "tx_pwr": 300, + "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" + } + ] + } +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_stats_reply.packet.json new file mode 100644 index 00000000..821c9b72 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_stats_reply.packet.json @@ -0,0 +1,93 @@ +{ + "1": [ + { + "duration_nsec": 0, + "duration_sec": 0, + "length": 224, + "port_no": 7, + "properties": [ + { + "collisions": 0, + "length": 40, + "rx_crc_err": 0, + "rx_frame_err": 0, + "rx_over_err": 0, + "type": "ETHERNET" + }, + { + "bias_current": 300, + "flags": 3, + "length": 44, + "rx_freq_lmda": 1500, + "rx_grid_span": 500, + "rx_offset": 700, + "rx_pwr": 2000, + "temperature": 273, + "tx_freq_lmda": 1500, + "tx_grid_span": 500, + "tx_offset": 700, + "tx_pwr": 2000, + "type": "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" + } + ], + "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, + "length": 120, + "port_no": 6, + "properties": [ + { + "collisions": 0, + "length": 40, + "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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_reply.packet.json new file mode 100644 index 00000000..71ca0b71 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_reply.packet.json @@ -0,0 +1,61 @@ +{ + "1": [ + { + "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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_request.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_request.packet.json new file mode 100644 index 00000000..9765cf31 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_request.packet.json @@ -0,0 +1,4 @@ +{ + "port_no": 52651, + "queue_id": 57020 +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_stats_reply.packet.json new file mode 100644 index 00000000..a6d246d0 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_features_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_features_reply.packet.json new file mode 100644 index 00000000..e16efb76 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_features_reply.packet.json @@ -0,0 +1,25 @@ +{ + "1": [ + { + "capabilities": 4, + "command": 1, + "features": 1, + "length": 80, + "max_entries": 255, + "metadata_match": 18446744073709551615, + "metadata_write": 18446744073709551615, + "name": "table1", + "properties": [ + { + "oxm_values": [ + { + "eth_src": "aa:bb:cc:dd:ee:ff" + } + ], + "type": "PACKET_TYPES" + } + ], + "table_id": 1 + } + ] +} diff --git a/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_stats_reply.packet.json b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_stats_reply.packet.json new file mode 100644 index 00000000..95b2c495 --- /dev/null +++ b/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-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/tests/unit/lib/ovs/__init__.py b/tests/unit/lib/ovs/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/unit/lib/ovs/__init__.py diff --git a/tests/unit/lib/ovs/test_vsctl.py b/tests/unit/lib/ovs/test_vsctl.py new file mode 100644 index 00000000..28edf6e9 --- /dev/null +++ b/tests/unit/lib/ovs/test_vsctl.py @@ -0,0 +1,789 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from distutils.spawn import find_executable +import logging +import subprocess +import unittest + +from nose.tools import eq_ +from nose.tools import ok_ + +from ryu.lib.hub import sleep +from ryu.lib.ovs import vsctl + + +LOG = logging.getLogger(__name__) + +DOCKER_IMAGE_MININET = 'osrg/ryu-book' + +OVSDB_MANAGER_ADDR = 'ptcp:6640' +OVSDB_SWITCH_ADDR = 'tcp:%s:6640' + + +def setUpModule(): + if not find_executable('docker'): + raise unittest.SkipTest( + 'Docker is not available. Test in %s will be skipped.' % __name__) + + +def _run(command): + popen = subprocess.Popen(command.split(), stdout=subprocess.PIPE) + popen.wait() + result = popen.stdout.read().decode('utf-8') + + if result: + return [str(r.strip('\r')) for r in result.split('\n')] + else: + return [] + + +class TestVSCtl(unittest.TestCase): + """ + Test cases for ryu.lib.ovs.vsctl.VSCtl + """ + container_mn = None # Container ID of Mininet + container_mn_ip = None # IP of Mininet container + + vsctl = None # instance of vsctl.VSCtl + + @classmethod + def _docker_exec(cls, container, command): + return _run('docker exec -t %s %s' % (container, command)) + + @classmethod + def _docker_exec_mn(cls, command): + return cls._docker_exec(cls.container_mn, command) + + @classmethod + def _docker_run(cls, image): + return _run('docker run --privileged -t -d %s' % image)[0] + + @classmethod + def _docker_stop(cls, container): + return _run('docker stop %s' % container)[0] + + @classmethod + def _docker_rm(cls, container): + return _run('docker rm %s' % container)[0] + + @classmethod + def _docker_inspect_ip_addr(cls, container): + return _run( + 'docker inspect --format="{{.NetworkSettings.IPAddress}}" %s' % + container)[0].strip('"') + + @classmethod + def _set_up_mn_container(cls): + cls.container_mn = cls._docker_run(DOCKER_IMAGE_MININET) + cls.container_mn_ip = cls._docker_inspect_ip_addr(cls.container_mn) + + # Note: Wait for loading the OVS kernel module. + # If the OVS kernel module is loaded at first time, it might take + # a few seconds. + sleep(5) + + cls._docker_exec_mn( + 'ovs-vsctl set-manager %s' % OVSDB_MANAGER_ADDR) + + @classmethod + def _set_up_vsctl(cls): + cls.vsctl = vsctl.VSCtl(OVSDB_SWITCH_ADDR % cls.container_mn_ip) + + @classmethod + def setUpClass(cls): + cls._set_up_mn_container() + cls._set_up_vsctl() + + @classmethod + def _tear_down_mn_container(cls): + cls._docker_exec_mn('mn --clean') + cls._docker_stop(cls.container_mn) + cls._docker_rm(cls.container_mn) + + @classmethod + def tearDownClass(cls): + cls._tear_down_mn_container() + + def setUp(self): + pass + + def tearDown(self): + pass + + def _run_commands(self, commands): + self.vsctl.run_command(commands, timeout_sec=1) + + # 00: Open vSwitch commands + + def test_00_01_init(self): + command = vsctl.VSCtlCommand('init') + self._run_commands([command]) + + ok_(command.result is None) + + def test_00_02_show(self): + command = vsctl.VSCtlCommand('show') + self._run_commands([command]) + + ok_(command.result is not None) + + # 01: Bridge commands + + def test_01_01_add_br_bridge(self): + bridge = 's1' + command = vsctl.VSCtlCommand('add-br', (bridge,)) + self._run_commands([command]) + + result = self._docker_exec_mn('ovs-vsctl list-br') + ok_(bridge in result) + + def test_01_02_add_br_parent_vlan(self): + bridge = 'sub-s1-100' + parent = 's1' + vlan = '100' + command = vsctl.VSCtlCommand('add-br', (bridge, parent, vlan)) + self._run_commands([command]) + + result = self._docker_exec_mn('ovs-vsctl list-br') + ok_(bridge in result) + result = self._docker_exec_mn( + 'ovs-vsctl br-to-parent %s' % bridge) + eq_(parent, result[0]) + result = self._docker_exec_mn( + 'ovs-vsctl br-to-vlan %s' % bridge) + eq_(vlan, result[0]) + + def test_01_03_del_br(self): + bridge = 's1' + child = 'sub-s1-100' + + command = vsctl.VSCtlCommand('del-br', (bridge,)) + self._run_commands([command]) + + result = self._docker_exec_mn('ovs-vsctl list-br') + ok_(bridge not in result) + ok_(child not in result) + + def test_01_04_list_br(self): + bridge = 's1' + child = 'sub-s1-100' + vlan = '100' + self._docker_exec_mn('ovs-vsctl add-br %s' % bridge) + self._docker_exec_mn( + 'ovs-vsctl add-br %s %s %s' % (child, bridge, vlan)) + + command = vsctl.VSCtlCommand('list-br') + self._run_commands([command]) + + ok_(bridge in command.result) + ok_(child in command.result) + + def test_01_05_br_exists(self): + bridge = 's1' + + command = vsctl.VSCtlCommand('br-exists', (bridge, )) + self._run_commands([command]) + + eq_(True, command.result) + + def test_01_06_br_to_vlan(self): + bridge = 's1' + + command = vsctl.VSCtlCommand('br-to-vlan', (bridge, )) + self._run_commands([command]) + + eq_(0, command.result) + + def test_01_06_br_to_vlan_fake_bridge(self): + bridge = 'sub-s1-100' + + command = vsctl.VSCtlCommand('br-to-vlan', (bridge, )) + self._run_commands([command]) + + eq_(100, command.result) + + def test_01_07_br_to_parent(self): + bridge = 's1' + parent = bridge + + command = vsctl.VSCtlCommand('br-to-parent', (bridge, )) + self._run_commands([command]) + + # result = <ryu.lib.ovs.vsctl.VSCtlBridge object> + eq_(parent, command.result.name) + + def test_01_07_br_to_parent_fake_bridge(self): + bridge = 'sub-s1-100' + parent = 's1' + + command = vsctl.VSCtlCommand('br-to-parent', (bridge, )) + self._run_commands([command]) + + # result = <ryu.lib.ovs.vsctl.VSCtlBridge object> + eq_(parent, command.result.name) + + def test_01_08_br_set_external_id_add(self): + bridge = 's1' + key = 'ext_id_key' + value = 'ext_id_value' + + command = vsctl.VSCtlCommand( + 'br-set-external-id', (bridge, key, value)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl br-get-external-id %s %s' % (bridge, key)) + eq_(value, result[0]) + + def test_01_09_br_get_external_id_value(self): + bridge = 's1' + key = 'ext_id_key' + value = 'ext_id_value' + + command = vsctl.VSCtlCommand( + 'br-get-external-id', (bridge, key)) + self._run_commands([command]) + + eq_(value, command.result) + + def test_01_10_br_get_external_id_dict(self): + bridge = 's1' + key = 'ext_id_key' + value = 'ext_id_value' + + command = vsctl.VSCtlCommand( + 'br-get-external-id', (bridge,)) + self._run_commands([command]) + + eq_({key: value}, command.result) + + def test_01_11_br_set_external_id_clear(self): + bridge = 's1' + key = 'ext_id_key' + + command = vsctl.VSCtlCommand( + 'br-set-external-id', (bridge, key)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl br-get-external-id %s %s' % (bridge, key)) + eq_([], result) + + # Clean up + self._docker_exec_mn('mn --clean') + + # 02: Port commands + + def test_02_01_list_ports(self): + bridge = 's1' + interface_1 = 's1-eth1' + interface_2 = 's1-eth2' + + self._docker_exec_mn( + 'ip link add %s type dummy' % interface_1) + self._docker_exec_mn( + 'ip link add %s type dummy' % interface_2) + self._docker_exec_mn( + 'ovs-vsctl add-br %(bridge)s' + ' -- add-port %(bridge)s %(interface_1)s' + ' -- add-port %(bridge)s %(interface_2)s' % locals()) + + command = vsctl.VSCtlCommand('list-ports', (bridge,)) + self._run_commands([command]) + + ok_(interface_1 in command.result) + ok_(interface_2 in command.result) + + def test_02_02_add_port(self): + bridge = 's1' + interface_1 = 's1-eth1' + self._docker_exec_mn( + 'ovs-vsctl del-port %s %s' % (bridge, interface_1)) + + command = vsctl.VSCtlCommand('add-port', (bridge, interface_1)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl port-to-br %s' % interface_1) + eq_(bridge, result[0]) + + def test_02_03_add_bond(self): + bridge = 's1' + interface_1 = 's1-eth1' + interface_2 = 's1-eth2' + port = 's1-bond1' + interface_list = [interface_1, interface_2] + self._docker_exec_mn('ovs-vsctl del-br %s' % bridge) + self._docker_exec_mn('ovs-vsctl add-br %s' % bridge) + + command = vsctl.VSCtlCommand( + 'add-bond', (bridge, port, interface_list)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl port-to-br %s' % port) + eq_(bridge, result[0]) + + def test_02_04_del_port(self): + bridge = 's1' + port = 's1-bond1' + + command = vsctl.VSCtlCommand('del-port', (bridge, port)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl list-ports %s' % bridge) + eq_([], result) + + def test_02_05_port_to_br(self): + bridge = 's1' + port_1 = 's1-eth1' + port_2 = 's1-eth2' + self._docker_exec_mn('ovs-vsctl del-br %s' % bridge) + self._docker_exec_mn( + 'ovs-vsctl add-br %(bridge)s' + ' -- add-port %(bridge)s %(port_1)s' + ' -- add-port %(bridge)s %(port_2)s' % locals()) + + command = vsctl.VSCtlCommand('port-to-br', (port_1,)) + self._run_commands([command]) + + eq_(bridge, command.result) + + # Clean up + self._docker_exec_mn('mn --clean') + + # 03: Interface commands + + def test_03_01_list_ifaces(self): + bridge = 's1' + interface_1 = 's1-eth1' + interface_2 = 's1-eth2' + + self._docker_exec_mn( + 'ip link add %s type dummy' % interface_1) + self._docker_exec_mn( + 'ip link add %s type dummy' % interface_2) + self._docker_exec_mn( + 'ovs-vsctl add-br %(bridge)s' + ' -- add-port %(bridge)s %(interface_1)s' + ' -- add-port %(bridge)s %(interface_2)s' % locals()) + + command = vsctl.VSCtlCommand('list-ifaces', (bridge,)) + self._run_commands([command]) + + ok_(interface_1 in command.result) + ok_(interface_2 in command.result) + + def test_03_02_ifaces_to_br(self): + bridge = 's1' + interface_1 = 's1-eth1' + + command = vsctl.VSCtlCommand('iface-to-br', (interface_1,)) + self._run_commands([command]) + + eq_(bridge, command.result) + + # Clean up + self._docker_exec_mn('mn --clean') + + # 04: Controller commands + + def test_04_01_get_controller(self): + bridge = 's1' + controller = 'tcp:127.0.0.1:6653' + self._docker_exec_mn( + 'ovs-vsctl add-br %(bridge)s' + ' -- set-controller %(bridge)s %(controller)s' % locals()) + + command = vsctl.VSCtlCommand('get-controller', (bridge,)) + self._run_commands([command]) + + eq_(1, len(command.result)) + eq_(controller, command.result[0]) + + def test_04_02_del_controller(self): + bridge = 's1' + + command = vsctl.VSCtlCommand('del-controller', (bridge,)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get-controller %s' % bridge) + eq_([], result) + + def test_04_03_set_controller(self): + bridge = 's1' + controller = 'tcp:127.0.0.1:6653' + + command = vsctl.VSCtlCommand('set-controller', (bridge, controller)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get-controller %s' % bridge) + eq_(controller, result[0]) + + def test_04_04_get_fail_mode(self): + bridge = 's1' + fai_mode = 'secure' + self._docker_exec_mn( + 'ovs-vsctl set-fail-mode %s %s' % (bridge, fai_mode)) + + command = vsctl.VSCtlCommand('get-fail-mode', (bridge,)) + self._run_commands([command]) + + eq_(fai_mode, command.result) + + def test_04_05_del_fail_mode(self): + bridge = 's1' + + command = vsctl.VSCtlCommand('del-fail-mode', (bridge,)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get-fail-mode %s' % bridge) + eq_([], result) + + def test_04_06_set_fail_mode(self): + bridge = 's1' + fail_mode = 'secure' + + command = vsctl.VSCtlCommand('set-fail-mode', (bridge, fail_mode)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get-fail-mode %s' % bridge) + eq_(fail_mode, result[0]) + + # Clean up + self._docker_exec_mn('mn --clean') + + # 05: Manager commands (not implemented yet) + # 06: SSL commands (not implemented yet) + # 07: Switch commands (not implemented yet) + + # 08: Database commands + + def test_08_01_list(self): + table = 'Bridge' + bridge = 's1' + interface_1 = 's1-eth1' + interface_2 = 's1-eth2' + fail_mode = 'secure' + protocols = 'OpenFlow10,OpenFlow13' + datapath_id = '1111111111111111' + + self._docker_exec_mn( + 'ip link add %s type dummy' % interface_1) + self._docker_exec_mn( + 'ip link add %s type dummy' % interface_2) + self._docker_exec_mn( + 'ovs-vsctl add-br %(bridge)s' + ' -- add-port %(bridge)s %(interface_1)s' + ' -- add-port %(bridge)s %(interface_2)s' % locals()) + self._docker_exec_mn( + 'ovs-vsctl set %(table)s %(bridge)s ' + 'fail_mode=%(fail_mode)s ' + 'protocols=%(protocols)s ' + 'other_config:datapath-id=%(datapath_id)s' % locals()) + + command = vsctl.VSCtlCommand('list', (table,)) + self._run_commands([command]) + + eq_(1, len(command.result)) + # command.result[0] = <ryu.lib.ovs.vsctl.VSCtlBridge object> + eq_(bridge, command.result[0].name) + + def test_08_02_find(self): + table = 'Bridge' + bridge = 's1' + + command = vsctl.VSCtlCommand('find', (table, 'name=%s' % bridge)) + self._run_commands([command]) + + eq_(1, len(command.result)) + # command.result[0] = <ovs.db.idl.Row object object> for Bridge + eq_(bridge, command.result[0].name) + + def test_08_02_find_complex(self): + table = 'Bridge' + bridge = 's1' + fail_mode = 'secure' + protocols = 'OpenFlow10,OpenFlow13' + datapath_id = '1111111111111111' + + command = vsctl.VSCtlCommand( + 'find', (table, 'fail_mode=%s' % fail_mode, + 'protocols=%s' % protocols, + 'other_config:datapath-id=%s' % datapath_id)) + self._run_commands([command]) + + eq_(1, len(command.result)) + # command.result[0] = <ovs.db.idl.Row object object> for Bridge + eq_(bridge, command.result[0].name) + + def test_08_03_get_01_value(self): + table = 'Bridge' + bridge = 's1' + column = 'fail_mode' + value = 'secure' + + command = vsctl.VSCtlCommand('get', (table, bridge, column)) + self._run_commands([command]) + + # command.result[0] is a list of return values + eq_(value, command.result[0][0]) + + def test_08_03_get_02_set(self): + table = 'Bridge' + bridge = 's1' + column = 'protocols' + value = 'OpenFlow10,OpenFlow13'.split(',') + + command = vsctl.VSCtlCommand('get', (table, bridge, column)) + self._run_commands([command]) + + # command.result[0] is a list + eq_(value, command.result[0]) + + def test_08_03_get_03_map(self): + table = 'Bridge' + bridge = 's1' + column = 'other_config' + key = 'datapath-id' + datapath_id = '1111111111111111' + value = {key: datapath_id} + + command = vsctl.VSCtlCommand('get', (table, bridge, column)) + self._run_commands([command]) + + # command.result[0] is a dict + eq_(value, command.result[0]) + + def test_08_03_get_04_map_value(self): + table = 'Bridge' + bridge = 's1' + column = 'other_config' + key = 'datapath-id' + datapath_id = '1111111111111111' + value = datapath_id + + command = vsctl.VSCtlCommand( + 'get', (table, bridge, '%s:%s' % (column, key))) + self._run_commands([command]) + + # command.result[0] is a dict + eq_(value, command.result[0]) + + def test_08_04_set_01_value(self): + table = 'Bridge' + bridge = 's1' + column = 'fail_mode' + value = 'standalone' + + command = vsctl.VSCtlCommand( + 'set', (table, bridge, '%s=%s' % (column, value))) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s' % (table, bridge, column)) + eq_(value, result[0]) + + def test_08_04_set_02_set(self): + table = 'Bridge' + bridge = 's1' + column = 'protocols' + value = 'OpenFlow10,OpenFlow12,OpenFlow13' + + command = vsctl.VSCtlCommand( + 'set', (table, bridge, '%s=%s' % (column, value))) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s' % (table, bridge, column)) + expected_value = '["OpenFlow10", "OpenFlow12", "OpenFlow13"]' + eq_(expected_value, result[0]) + + def test_08_04_set_03_map(self): + table = 'Bridge' + bridge = 's1' + column = 'other_config' + key = 'datapath-id' + value = '0000000000000001' + + command = vsctl.VSCtlCommand( + 'set', (table, bridge, '%s:%s=%s' % (column, key, value))) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s:%s' % (table, bridge, column, key)) + expected_value = '"0000000000000001"' + eq_(expected_value, result[0]) + + def test_08_05_add_01_value(self): + table = 'Port' + bridge = 's1' + column = 'tag' + value = '100' + + command = vsctl.VSCtlCommand( + 'add', (table, bridge, column, value)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s' % (table, bridge, column)) + eq_(value, result[0]) + + def test_08_05_add_02_set(self): + table = 'Port' + bridge = 's1' + column = 'trunks' + value = '100,200' + + command = vsctl.VSCtlCommand( + 'add', (table, bridge, column, value)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s' % (table, bridge, column)) + expected_value = '[100, 200]' + eq_(expected_value, result[0]) + + def test_08_05_add_03_map(self): + table = 'Bridge' + bridge = 's1' + column = 'other_config' + key = 'datapath-id' + value = '0000000000000011' + + command = vsctl.VSCtlCommand( + 'add', (table, bridge, column, '%s=%s' % (key, value))) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s:%s' % (table, bridge, column, key)) + expected_value = '"0000000000000011"' + eq_(expected_value, result[0]) + + def test_08_06_remove_01_value(self): + table = 'Port' + bridge = 's1' + column = 'tag' + value = '100' + self._docker_exec_mn( + 'ovs-vsctl set %s %s %s=%s' % (table, bridge, column, value)) + + command = vsctl.VSCtlCommand( + 'remove', (table, bridge, column, value)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s' % (table, bridge, column)) + expected_value = '[]' + eq_(expected_value, result[0]) + + def test_08_06_remove_02_set(self): + table = 'Port' + bridge = 's1' + column = 'trunks' + init_value = '100,200,300' + value = '100,200' + self._docker_exec_mn( + 'ovs-vsctl set %s %s %s=%s' % (table, bridge, column, init_value)) + + command = vsctl.VSCtlCommand( + 'remove', (table, bridge, column, value)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s' % (table, bridge, column)) + expected_value = '[300]' + eq_(expected_value, result[0]) + + def test_08_06_remove_03_map(self): + table = 'Port' + bridge = 's1' + column = 'other_config' + key = 'priority-tag' + value = 'true' + self._docker_exec_mn( + 'ovs-vsctl set %s %s %s:%s=%s' % + (table, bridge, column, key, value)) + + command = vsctl.VSCtlCommand( + 'remove', (table, bridge, column, '%s=%s' % (key, value))) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s' % (table, bridge, column)) + expected_value = '{}' + eq_(expected_value, result[0]) + + def test_08_07_clear_01_value(self): + table = 'Port' + bridge = 's1' + column = 'tag' + value = '100' + self._docker_exec_mn( + 'ovs-vsctl set %s %s %s=%s' % (table, bridge, column, value)) + + command = vsctl.VSCtlCommand( + 'clear', (table, bridge, column)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s' % (table, bridge, column)) + expected_value = '[]' + eq_(expected_value, result[0]) + + def test_08_07_clear_02_set(self): + table = 'Port' + bridge = 's1' + column = 'trunks' + value = '100,200' + self._docker_exec_mn( + 'ovs-vsctl set %s %s %s=%s' % (table, bridge, column, value)) + + command = vsctl.VSCtlCommand( + 'clear', (table, bridge, column)) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s' % (table, bridge, column)) + expected_value = '[]' + eq_(expected_value, result[0]) + + def test_08_07_clear_03_map(self): + table = 'Port' + bridge = 's1' + column = 'other_config' + key = 'priority-tag' + value = 'true' + self._docker_exec_mn( + 'ovs-vsctl set %s %s %s:%s=%s' % + (table, bridge, column, key, value)) + + command = vsctl.VSCtlCommand( + 'clear', (table, bridge, column, '%s=%s' % (key, value))) + self._run_commands([command]) + + result = self._docker_exec_mn( + 'ovs-vsctl get %s %s %s' % (table, bridge, column)) + expected_value = '{}' + eq_(expected_value, result[0]) + + # Clean up + self._docker_exec_mn('mn --clean') diff --git a/tests/unit/lib/test_addrconv.py b/tests/unit/lib/test_addrconv.py new file mode 100644 index 00000000..77877038 --- /dev/null +++ b/tests/unit/lib/test_addrconv.py @@ -0,0 +1,56 @@ +# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import unittest +from nose.tools import eq_ + +from ryu.lib import addrconv + + +class Test_addrconv(unittest.TestCase): + """ Test case for ryu.lib.addrconv + """ + + def setUp(self): + pass + + def tearDown(self): + pass + + @staticmethod + def _test_conv(conv, text_value, bin_value): + eq_(conv.text_to_bin(text_value), bin_value) + eq_(conv.bin_to_text(bin_value), text_value) + + def test_ipv4(self): + self._test_conv(addrconv.ipv4, '0.0.0.0', b'\x00\x00\x00\x00') + self._test_conv(addrconv.ipv4, '127.0.0.1', b'\x7f\x00\x00\x01') + self._test_conv(addrconv.ipv4, '255.255.0.0', b'\xff\xff\x00\x00') + + def test_ipv6(self): + self._test_conv(addrconv.ipv6, 'ff02::1', + (b'\xff\x02\x00\x00\x00\x00\x00\x00' + b'\x00\x00\x00\x00\x00\x00\x00\x01')) + self._test_conv(addrconv.ipv6, 'fe80::f00b:a4ff:fe7d:f8ea', + (b'\xfe\x80\x00\x00\x00\x00\x00\x00' + b'\xf0\x0b\xa4\xff\xfe\x7d\xf8\xea')) + self._test_conv(addrconv.ipv6, '::', + (b'\x00\x00\x00\x00\x00\x00\x00\x00' + b'\x00\x00\x00\x00\x00\x00\x00\x00')) + + def test_mac(self): + self._test_conv(addrconv.mac, 'f2:0b:a4:01:0a:23', + b'\xf2\x0b\xa4\x01\x0a\x23') diff --git a/tests/unit/lib/test_hub.py b/tests/unit/lib/test_hub.py new file mode 100644 index 00000000..d8b75996 --- /dev/null +++ b/tests/unit/lib/test_hub.py @@ -0,0 +1,239 @@ +# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import time +import unittest +from nose.tools import raises + +from ryu.lib import hub +hub.patch() + + +class MyException(BaseException): + pass + + +class Test_hub(unittest.TestCase): + """ Test case for ryu.lib.hub + """ + + def setUp(self): + pass + + def tearDown(self): + pass + + # we want to test timeout first because the rest of tests rely on it. + # thus test_0_ prefix. + + @raises(hub.Timeout) + def test_0_timeout1(self): + with hub.Timeout(0.1): + hub.sleep(1) + + @raises(MyException) + def test_0_timeout2(self): + with hub.Timeout(0.1, MyException): + hub.sleep(1) + + def test_0_timeout3(self): + with hub.Timeout(1): + hub.sleep(0.1) + # sleep some more to ensure timer cancelation + hub.sleep(2) + + def test_spawn_event1(self): + def _child(ev, result): + hub.sleep(1) + result.append(1) + ev.set() + + ev = hub.Event() + result = [] + with hub.Timeout(2): + hub.spawn(_child, ev, result) + ev.wait() + assert len(result) == 1 + + def test_spawn_event2(self): + def _child(ev, result): + hub.sleep(1) + result.append(1) + ev.set() + + ev = hub.Event() + result = [] + with hub.Timeout(2): + t = hub.spawn(_child, ev, result) + ev.wait(timeout=0.5) + assert len(result) == 0 + ev.wait() + assert len(result) == 1 + + def test_spawn_event3(self): + def _child(ev, ev2, result): + ev2.wait() + hub.sleep(0.5) + result.append(1) + ev.set() + + ev = hub.Event() + ev2 = hub.Event() + result = [] + with hub.Timeout(2): + hub.spawn(_child, ev, ev2, result) + hub.spawn(_child, ev, ev2, result) + hub.sleep(0.5) + ev2.set() # this should wake up the above created two threads + ev.wait(timeout=1) + assert len(result) == 2 + + def test_spawn_select1(self): + import select + import socket + + def _child(s1): + hub.sleep(0.5) + s1.send(b"hoge") + + s1, s2 = socket.socketpair() + with hub.Timeout(1): + hub.spawn(_child, s1) + select.select([s2.fileno()], [], []) + select.select([s2.fileno()], [], []) # return immediately + + @raises(MyException) + def test_select1(self): + import select + import socket + + s1, s2 = socket.socketpair() + with hub.Timeout(1, MyException): + select.select([s2.fileno()], [], []) + + def test_select2(self): + import select + + with hub.Timeout(1, MyException): + select.select([], [], [], 0) # timeout immediately + + def test_select3(self): + import select + import socket + + s1, s2 = socket.socketpair() + with hub.Timeout(1, MyException): + list = [s1.fileno(), s2.fileno()] + rlist, wlist, xlist = select.select(list, list, list) + assert not s1.fileno() in rlist + assert not s2.fileno() in rlist + # the following two assertions are commented out because one of + # them fails with eventlet-patched select. + # assert s1.fileno() in wlist + # assert s2.fileno() in wlist + # note: eventlet-patched select returns at most one file. + assert (s1.fileno() in wlist) or (s2.fileno() in wlist) + assert not s1.fileno() in xlist + assert not s2.fileno() in xlist + + def test_spawn_joinall(self): + def _child(ev2, result): + ev2.wait() + hub.sleep(0.5) + result.append(1) + raise BaseException("this exception should not be propagated") + + ev2 = hub.Event() + threads = [] + result = [] + with hub.Timeout(2): + threads.append(hub.spawn(_child, ev2, result)) + threads.append(hub.spawn(_child, ev2, result)) + hub.sleep(0.5) + ev2.set() # this should wake up the above created two threads + hub.joinall(threads) + assert len(result) == 2 + + def test_spawn_kill_joinall(self): + def _child(ev2, result): + ev2.wait() + result.append(1) + + ev2 = hub.Event() + threads = [] + result = [] + with hub.Timeout(2): + threads.append(hub.spawn(_child, ev2, result)) + threads.append(hub.spawn(_child, ev2, result)) + hub.sleep(0.5) + for t in threads: + hub.kill(t) + hub.joinall(threads) + assert len(result) == 0 + + def test_spawn_kill_nowait_joinall(self): + # XXX this test relies on the scheduling behaviour. + # the intention here is, killing threads before they get active. + + def _child(result): + result.append(1) + + threads = [] + result = [] + with hub.Timeout(2): + threads.append(hub.spawn(_child, result)) + for t in threads: + hub.kill(t) + hub.joinall(threads) + assert len(result) == 0 + + def test_spawn_kill_die_joinall(self): + def _child(result): + result.append(1) + + threads = [] + result = [] + with hub.Timeout(2): + threads.append(hub.spawn(_child, result)) + threads.append(hub.spawn(_child, result)) + hub.sleep(0.5) + for t in threads: + hub.kill(t) + hub.joinall(threads) + assert len(result) == 2 + + def test_spawn_exception_joinall(self): + def _child(): + raise Exception("hoge") + + threads = [] + with hub.Timeout(2): + threads.append(hub.spawn(_child)) + threads.append(hub.spawn(_child)) + hub.sleep(0.5) + hub.joinall(threads) + + def test_event1(self): + ev = hub.Event() + ev.set() + with hub.Timeout(1): + ev.wait() # should return immediately + + def test_event2(self): + ev = hub.Event() + # allow multiple sets unlike eventlet Event + ev.set() + ev.set() diff --git a/tests/unit/lib/test_import_module.py b/tests/unit/lib/test_import_module.py new file mode 100644 index 00000000..852ee21b --- /dev/null +++ b/tests/unit/lib/test_import_module.py @@ -0,0 +1,66 @@ +# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import unittest +from nose.tools import eq_ + +from ryu.utils import import_module + + +class Test_import_module(unittest.TestCase): + """ + Test case for ryu.utils.import_module + """ + + @staticmethod + def _my_import(name): + mod = __import__(name) + components = name.split('.') + for c in components[1:]: + mod = getattr(mod, c) + return mod + + def test_import_module_with_same_basename(self): + aaa = import_module('tests.unit.lib.test_mod.aaa.mod') + eq_("this is aaa", aaa.name) + bbb = import_module('tests.unit.lib.test_mod.bbb.mod') + eq_("this is bbb", bbb.name) + + def test_import_module_by_filename(self): + ccc = import_module('./lib/test_mod/ccc/mod.py') + eq_("this is ccc", ccc.name) + ddd = import_module('./lib/test_mod/ddd/mod.py') + # Note: When importing a module by filename, if module file name + # is duplicated, import_module reload (override) a module instance. + eq_("this is ddd", ddd.name) + + def test_import_same_module1(self): + from tests.unit.lib.test_mod import eee as eee1 + eq_("this is eee", eee1.name) + eee2 = import_module('./lib/test_mod/eee.py') + eq_("this is eee", eee2.name) + + def test_import_same_module2(self): + fff1 = import_module('./lib/test_mod/fff.py') + eq_("this is fff", fff1.name) + fff2 = import_module('tests.unit.lib.test_mod.fff') + eq_("this is fff", fff2.name) + + def test_import_same_module3(self): + ggg1 = import_module('./lib/test_mod/ggg.py') + eq_("this is ggg", ggg1.name) + ggg2 = self._my_import('tests.unit.lib.test_mod.ggg') + eq_("this is ggg", ggg2.name) diff --git a/tests/unit/lib/test_ip.py b/tests/unit/lib/test_ip.py new file mode 100644 index 00000000..66d8f0c2 --- /dev/null +++ b/tests/unit/lib/test_ip.py @@ -0,0 +1,156 @@ +# Copyright (C) 2015 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function + +import logging +import struct +import unittest + +from nose.tools import eq_ +from nose.tools import raises + +from ryu.lib import ip + +LOG = logging.getLogger('test_ip') + + +class Test_ip(unittest.TestCase): + """ + test case for ip address module + """ + + def setUp(self): + pass + + def tearDown(self): + pass + + def test_ipv4_to_bin(self): + ipv4_str = '10.28.197.1' + val = 0x0a1cc501 + + (res,) = struct.unpack('!I', ip.ipv4_to_bin(ipv4_str)) + eq_(val, res) + + def test_ipv4_to_int(self): + ipv4_str = '10.28.197.1' + val = 169657601 + + res = ip.ipv4_to_int(ipv4_str) + eq_(val, res) + + def test_ipv4_to_str_from_bin(self): + ipv4_bin = struct.pack('!I', 0x0a1cc501) + val = '10.28.197.1' + + res = ip.ipv4_to_str(ipv4_bin) + eq_(val, res) + + def test_ipv4_to_str_from_int(self): + ipv4_int = 169657601 + val = '10.28.197.1' + + res = ip.ipv4_to_str(ipv4_int) + eq_(val, res) + + def test_ipv6_to_bin(self): + ipv6_str = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' + val = struct.pack('!8H', 0x2013, 0xda8, 0x215, 0x8f2, 0xaa20, 0x66ff, + 0xfe4c, 0x9c3c) + res = ip.ipv6_to_bin(ipv6_str) + eq_(val, res) + + def test_ipv6_to_bin_with_shortcut(self): + ipv6_str = '3f:10::1:2' + val = struct.pack('!8H', 0x3f, 0x10, 0, 0, 0, 0, 0x1, 0x2) + + res = ip.ipv6_to_bin(ipv6_str) + eq_(val, res) + + def test_ipv6_to_int(self): + ipv6_str = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' + val = 0x20130da8021508f2aa2066fffe4c9c3c + + res = ip.ipv6_to_int(ipv6_str) + eq_(val, res) + + def test_ipv6_to_int_with_shortcut(self): + ipv6_str = '3f:10::1:2' + val = 0x003f0010000000000000000000010002 + + res = ip.ipv6_to_int(ipv6_str) + eq_(val, res) + + def test_ipv6_to_str_from_bin(self): + ipv6_bin = struct.pack('!8H', 0x2013, 0xda8, 0x215, 0x8f2, 0xaa20, + 0x66ff, 0xfe4c, 0x9c3c) + val = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' + + res = ip.ipv6_to_str(ipv6_bin) + eq_(val, res) + + def test_ipv6_to_str_from_int(self): + ipv6_int = 0x20130da8021508f2aa2066fffe4c9c3c + val = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' + + res = ip.ipv6_to_str(ipv6_int) + eq_(val, res) + + def test_text_to_bin_from_ipv4_text(self): + ipv4_str = '10.28.197.1' + val = struct.pack('!4B', 10, 28, 197, 1) + res = ip.text_to_bin(ipv4_str) + eq_(val, res) + + def test_text_to_bin_from_ipv6_text(self): + ipv6_str = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' + val = struct.pack('!8H', 0x2013, 0xda8, 0x215, 0x8f2, 0xaa20, + 0x66ff, 0xfe4c, 0x9c3c) + res = ip.text_to_bin(ipv6_str) + eq_(val, res) + + def test_text_to_int_from_ipv4_text(self): + ipv4_str = '10.28.197.1' # 0a.1c.c5.01 + val = 0x0a1cc501 + + res = ip.text_to_int(ipv4_str) + eq_(val, res) + + def test_text_to_int_from_ipv6_text(self): + ipv6_str = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' + val = 0x20130da8021508f2aa2066fffe4c9c3c + + res = ip.text_to_int(ipv6_str) + eq_(val, res) + + def test_bin_to_text_from_ipv4_bin(self): + ipv4_bin = struct.pack('!4B', 10, 28, 197, 1) + val = '10.28.197.1' + res = ip.bin_to_text(ipv4_bin) + eq_(val, res) + + def test_bin_to_text_from_ipv6_bin(self): + ipv6_bin = struct.pack('!8H', 0x2013, 0xda8, 0x215, 0x8f2, 0xaa20, + 0x66ff, 0xfe4c, 0x9c3c) + val = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' + res = ip.bin_to_text(ipv6_bin) + eq_(val, res) + + @raises(struct.error) + def test_bin_to_text_with_invalid_bin(self): + invalid_bin = b'invalid' + + ip.bin_to_text(invalid_bin) diff --git a/tests/unit/lib/test_mac.py b/tests/unit/lib/test_mac.py new file mode 100644 index 00000000..91839ead --- /dev/null +++ b/tests/unit/lib/test_mac.py @@ -0,0 +1,95 @@ +# Copyright (C) 2012 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +import unittest +import logging +import struct +import netaddr +from struct import * +from nose.tools import * + +from ryu.lib import mac + +LOG = logging.getLogger('test_mac') + + +class Test_mac(unittest.TestCase): + """ Test case for mac + """ + + def setUp(self): + pass + + def tearDown(self): + pass + + def test_mac_is_multicast(self): + addr = b'\x01\x23\x45\x67\x89\x0a' + val = True + + res = mac.is_multicast(addr) + + eq_(val, res) + + def test_mac_haddr_to_str(self): + addr = 'aa:aa:aa:aa:aa:aa' + val = b'\xaa\xaa\xaa\xaa\xaa\xaa' + + res = mac.haddr_to_str(val) + + eq_(addr, res) + + def test_mac_haddr_to_str_none(self): + """ addr is None + """ + addr = None + val = 'None' + res = mac.haddr_to_str(addr) + + eq_(val, res) + + @raises(AssertionError) + def test_mac_haddr_to_str_assert(self): + val = b'\xaa\xaa\xaa\xaa\xaa' + + res = mac.haddr_to_str(val) + + def test_mac_haddr_to_bin_false(self): + """ len(hexes) = 6 (False) + """ + addr = 'aa:aa:aa:aa:aa:aa' + val = b'\xaa\xaa\xaa\xaa\xaa\xaa' + + res = mac.haddr_to_bin(addr) + + eq_(val, res) + + @raises(ValueError) + def test_mac_haddr_to_bin_true(self): + """ len(hexes) != 6 (True) + """ + addr = 'aa:aa:aa:aa:aa' + res = mac.haddr_to_bin(addr) + + def test_mac_haddr_bitand(self): + addr = b'\xaa\xaa\xaa\xaa\xaa\xaa' + mask = b'\xff\xff\xff\x00\x00\x00' + val = b'\xaa\xaa\xaa\x00\x00\x00' + + res = mac.haddr_bitand(addr, mask) + + eq_(val, res) diff --git a/tests/unit/lib/test_mod/__init__.py b/tests/unit/lib/test_mod/__init__.py new file mode 100644 index 00000000..ca8ef539 --- /dev/null +++ b/tests/unit/lib/test_mod/__init__.py @@ -0,0 +1,15 @@ +# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/tests/unit/lib/test_mod/aaa/__init__.py b/tests/unit/lib/test_mod/aaa/__init__.py new file mode 100644 index 00000000..ca8ef539 --- /dev/null +++ b/tests/unit/lib/test_mod/aaa/__init__.py @@ -0,0 +1,15 @@ +# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/tests/unit/lib/test_mod/aaa/mod.py b/tests/unit/lib/test_mod/aaa/mod.py new file mode 100644 index 00000000..a5eff136 --- /dev/null +++ b/tests/unit/lib/test_mod/aaa/mod.py @@ -0,0 +1,17 @@ +# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name = "this is aaa" diff --git a/tests/unit/lib/test_mod/bbb/__init__.py b/tests/unit/lib/test_mod/bbb/__init__.py new file mode 100644 index 00000000..ca8ef539 --- /dev/null +++ b/tests/unit/lib/test_mod/bbb/__init__.py @@ -0,0 +1,15 @@ +# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/tests/unit/lib/test_mod/bbb/mod.py b/tests/unit/lib/test_mod/bbb/mod.py new file mode 100644 index 00000000..397c8554 --- /dev/null +++ b/tests/unit/lib/test_mod/bbb/mod.py @@ -0,0 +1,17 @@ +# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name = "this is bbb" diff --git a/tests/unit/lib/test_mod/ccc/__init__.py b/tests/unit/lib/test_mod/ccc/__init__.py new file mode 100644 index 00000000..ce07156d --- /dev/null +++ b/tests/unit/lib/test_mod/ccc/__init__.py @@ -0,0 +1,14 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/tests/unit/lib/test_mod/ccc/mod.py b/tests/unit/lib/test_mod/ccc/mod.py new file mode 100644 index 00000000..5be826cf --- /dev/null +++ b/tests/unit/lib/test_mod/ccc/mod.py @@ -0,0 +1,16 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name = "this is ccc" diff --git a/tests/unit/lib/test_mod/ddd/__init__.py b/tests/unit/lib/test_mod/ddd/__init__.py new file mode 100644 index 00000000..ce07156d --- /dev/null +++ b/tests/unit/lib/test_mod/ddd/__init__.py @@ -0,0 +1,14 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/tests/unit/lib/test_mod/ddd/mod.py b/tests/unit/lib/test_mod/ddd/mod.py new file mode 100644 index 00000000..31d31d53 --- /dev/null +++ b/tests/unit/lib/test_mod/ddd/mod.py @@ -0,0 +1,16 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name = "this is ddd" diff --git a/tests/unit/lib/test_mod/eee.py b/tests/unit/lib/test_mod/eee.py new file mode 100644 index 00000000..ed21a8aa --- /dev/null +++ b/tests/unit/lib/test_mod/eee.py @@ -0,0 +1,16 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name = "this is eee" diff --git a/tests/unit/lib/test_mod/fff.py b/tests/unit/lib/test_mod/fff.py new file mode 100644 index 00000000..5a565e38 --- /dev/null +++ b/tests/unit/lib/test_mod/fff.py @@ -0,0 +1,16 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name = "this is fff" diff --git a/tests/unit/lib/test_mod/ggg.py b/tests/unit/lib/test_mod/ggg.py new file mode 100644 index 00000000..29555e56 --- /dev/null +++ b/tests/unit/lib/test_mod/ggg.py @@ -0,0 +1,16 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name = "this is ggg" diff --git a/tests/unit/lib/test_mrtlib.py b/tests/unit/lib/test_mrtlib.py new file mode 100644 index 00000000..e870f401 --- /dev/null +++ b/tests/unit/lib/test_mrtlib.py @@ -0,0 +1,765 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function + +import bz2 +import io +import logging +import os +import sys +import unittest + +try: + import mock # Python 2 +except ImportError: + from unittest import mock # Python 3 + +from nose.tools import eq_ +from nose.tools import ok_ + +from ryu.lib import addrconv +from ryu.lib import mrtlib +from ryu.lib.packet import bgp +from ryu.lib.packet import ospf +from ryu.utils import binary_str + + +LOG = logging.getLogger(__name__) + +MRT_DATA_DIR = os.path.join( + os.path.dirname(sys.modules[__name__].__file__), '../../packet_data/mrt/') + + +class TestMrtlib(unittest.TestCase): + """ + Test case for ryu.lib.mrtlib. + """ + + def test_reader(self): + files = [ + 'rib.20161101.0000_pick.bz2', + 'updates.20161101.0000.bz2', + ] + + for f in files: + # print('\n*** testing mrtlib.Reader with %s ...' % f) + counter = 0 + input_file = os.path.join(MRT_DATA_DIR, f) + for record in mrtlib.Reader(bz2.BZ2File(input_file, 'rb')): + # print('* No.%d\n%s' % (counter, record)) + ok_(not isinstance(record, mrtlib.UnknownMrtRecord)) + counter += 1 + + def test_writer(self): + files = [ + 'rib.20161101.0000_pick.bz2', + 'updates.20161101.0000.bz2', + ] + + for f in files: + # print('\n*** testing mrtlib.Writer with %s ...' % f) + input_file = os.path.join(MRT_DATA_DIR, f) + input_buf = bz2.BZ2File(input_file, 'rb').read() + input_records = list(mrtlib.Reader(bz2.BZ2File(input_file, 'rb'))) + + counter = 0 + f = io.BytesIO() + mrt_writer = mrtlib.Writer(f) + for record in input_records: + # print('* No.%d\n%s' % (counter, record)) + mrt_writer.write(record) + counter += 1 + + output_buf = f.getvalue() + + eq_(binary_str(input_buf), binary_str(output_buf)) + + mrt_writer.close() + + eq_(True, mrt_writer._f.closed) + + +class TestMrtlibMrtRecord(unittest.TestCase): + """ + Test case for ryu.lib.mrtlib.MrtRecord. + """ + + def test_init_without_type_subtype(self): + type_ = mrtlib.MrtRecord.TYPE_TABLE_DUMP + subtype = mrtlib.TableDumpMrtRecord.SUBTYPE_AFI_IPv4 + + message = mrtlib.TableDumpAfiIPv4MrtMessage( + view_num=1, + seq_num=2, + prefix='192.168.1.0', + prefix_len=24, + status=1, + originated_time=0, + peer_ip='10.0.0.1', + peer_as=65000, + bgp_attributes=[], + ) + record = mrtlib.TableDumpMrtRecord(message) + + eq_(type_, record.type) + eq_(subtype, record.subtype) + + def test_parse_pre_with_type_et(self): + buf = ( + b'\x00\x00\x00\x00' # timestamp + b'\x00\x11\x00\x00' # type=TYPE_BGP4MP_ET(17), subtype + b'\x00\x00\x00\xaa' # length + ) + + required_len = mrtlib.MrtRecord.parse_pre(buf) + + eq_(0xaa + mrtlib.ExtendedTimestampMrtRecord.HEADER_SIZE, + required_len) + + +# Note: MrtCommonRecord is tested in TestMrtlibMrtRecord. +# class TestMrtlibMrtCommonRecord(unittest.TestCase): + + +class TestMrtlibExtendedTimestampMrtRecord(unittest.TestCase): + """ + Test case for ryu.lib.mrtlib.ExtendedTimestampMrtRecord. + """ + + def test_parse_extended_header(self): + body = b'test' + buf = ( + b'\x11\x11\x11\x11' # ms_timestamp + + body + ) + + (headers, + rest) = mrtlib.ExtendedTimestampMrtRecord.parse_extended_header(buf) + + ok_(isinstance(headers, list)) + eq_(1, len(headers)) + eq_(0x11111111, headers[0]) + eq_(body, rest) + + def test_serialize(self): + body = b'test' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x22\x22\x33\x33' # type, subtype + b'\x00\x00\x00\x04' # length=len(body) + b'\x44\x44\x44\x44' # ms_timestamp + + body + ) + + message_mock = mock.MagicMock(spec=mrtlib.MrtMessage) + message_mock.serialize.return_value = body + + record = mrtlib.ExtendedTimestampMrtRecord( + message=message_mock, + timestamp=0x11111111, + type_=0x2222, subtype=0x3333, + ms_timestamp=0x44444444, + length=0x00000004, + ) + + output = record.serialize() + + eq_(buf, output) + + +class TestMrtlibUnknownMrtRecord(unittest.TestCase): + """ + Test case for ryu.lib.mrtlib.UnknownMrtRecord. + """ + + def test_parse(self): + body = b'test' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x22\x22\x33\x33' # type, subtype + b'\x00\x00\x00\x04' # length=len(body) + + body + ) + + (record, rest) = mrtlib.MrtRecord.parse(buf) + + eq_(0x11111111, record.timestamp) + eq_(0x2222, record.type) + eq_(0x3333, record.subtype) + eq_(0x00000004, record.length) + eq_(body, record.message.buf) + eq_(b'', rest) + + def test_serialize(self): + body = b'test' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x22\x22\x33\x33' # type, subtype + b'\x00\x00\x00\x04' # length=len(body) + + body + ) + + message = mrtlib.UnknownMrtMessage(buf=body) + record = mrtlib.UnknownMrtRecord( + message=message, + timestamp=0x11111111, + type_=0x2222, subtype=0x3333, + length=0x00000004, + ) + + output = record.serialize() + + eq_(buf, output) + + +class TestMrtlibOspf2MrtRecord(unittest.TestCase): + """ + Test case for ryu.lib.mrtlib.Ospf2MrtRecord. + """ + + @mock.patch('ryu.lib.packet.ospf.ospf.parser') + def test_parse(self, mock_ospf_parser): + remote_ip = '10.0.0.1' + local_ip = '10.0.0.2' + body = b'test' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x0b\x00\x00' # type=TYPE_OSPFv2(11), subtype + b'\x00\x00\x00\x0c' # length=len(remote_ip + local_ip + body) + + addrconv.ipv4.text_to_bin(remote_ip) # remote_ip + + addrconv.ipv4.text_to_bin(local_ip) # local_ip + + body # ospf_message + ) + + mock_ospf_message = mock.MagicMock(spec=ospf.OSPFMessage) + mock_ospf_parser.return_value = (mock_ospf_message, None, '') + + (record, rest) = mrtlib.MrtRecord.parse(buf) + + eq_(0x11111111, record.timestamp) + eq_(mrtlib.MrtRecord.TYPE_OSPFv2, record.type) + eq_(0x0000, record.subtype) + eq_(0x0000000c, record.length) + eq_(remote_ip, record.message.remote_ip) + eq_(local_ip, record.message.local_ip) + eq_(mock_ospf_message, record.message.ospf_message) + eq_(b'', rest) + + def test_serialize(self): + remote_ip = '10.0.0.1' + local_ip = '10.0.0.2' + body = b'test' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x0b\x00\x00' # type=TYPE_OSPFv2(11), subtype + b'\x00\x00\x00\x0c' # length=len(remote_ip + local_ip + body) + + addrconv.ipv4.text_to_bin(remote_ip) # remote_ip + + addrconv.ipv4.text_to_bin(local_ip) # local_ip + + body # ospf_message + ) + + mock_ospf_message = mock.MagicMock(spec=ospf.OSPFMessage) + mock_ospf_message.serialize.return_value = body + + message = mrtlib.Ospf2MrtMessage( + remote_ip=remote_ip, + local_ip=local_ip, + ospf_message=mock_ospf_message, + ) + record = mrtlib.Ospf2MrtRecord( + message=message, + timestamp=0x11111111, + # type_=None, + # subtype=None, + # length=None, + ) + + output = record.serialize() + + eq_(buf, output) + + +class TestMrtlibTableDumpMrtRecord(unittest.TestCase): + """ + Test case for ryu.lib.mrtlib.TableDumpMrtRecord. + """ + + @mock.patch('ryu.lib.packet.bgp._PathAttribute.parser') + def test_parse_afi_ipv4(self, mock_bgp_attr_parser): + prefix = '10.0.0.0' + peer_ip = '172.16.0.1' + body = b'test' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x0c\x00\x01' # type=TYPE_TABLE_DUMP(12), + # subtype=SUBTYPE_AFI_IPv4(1) + b'\x00\x00\x00\x1a' # length=26 + b'\x22\x22\x33\x33' # view_num, seq_num + + addrconv.ipv4.text_to_bin(prefix) + # prefix + b'\x18\x01' # prefix_len=24, status=1 + b'\x44\x44\x44\x44' # originated_time + + addrconv.ipv4.text_to_bin(peer_ip) + # peer_ip + b'\xfd\xe8\x00\x04' # peer_as=65000, attr_len=len(body) + + body # bgp_attributes + ) + + mock_bgp_attr = mock.MagicMock(spec=bgp._PathAttribute) + mock_bgp_attr_parser.return_value = (mock_bgp_attr, b'') + + (record, rest) = mrtlib.MrtRecord.parse(buf) + + eq_(0x11111111, record.timestamp) + eq_(mrtlib.MrtRecord.TYPE_TABLE_DUMP, record.type) + eq_(mrtlib.TableDumpMrtRecord.SUBTYPE_AFI_IPv4, record.subtype) + eq_(0x0000001a, record.length) + eq_(0x2222, record.message.view_num) + eq_(0x3333, record.message.seq_num) + eq_(prefix, record.message.prefix) + eq_(24, record.message.prefix_len) + eq_(1, record.message.status) + eq_(0x44444444, record.message.originated_time) + eq_(peer_ip, record.message.peer_ip) + eq_(65000, record.message.peer_as) + eq_(0x0004, record.message.attr_len) + eq_([mock_bgp_attr], record.message.bgp_attributes) + eq_(b'', rest) + + def test_serialize_afi_ipv4(self): + prefix = '10.0.0.0' + peer_ip = '172.16.0.1' + body = b'test' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x0c\x00\x01' # type=TYPE_TABLE_DUMP(12), + # subtype=SUBTYPE_AFI_IPv4(1) + b'\x00\x00\x00\x1a' # length=26 + b'\x22\x22\x33\x33' # view_num, seq_num + + addrconv.ipv4.text_to_bin(prefix) + # prefix + b'\x18\x01' # prefix_len=24, status=1 + b'\x44\x44\x44\x44' # originated_time + + addrconv.ipv4.text_to_bin(peer_ip) + # peer_ip + b'\xfd\xe8\x00\x04' # peer_as=65000, attr_len=len(body) + + body # bgp_attributes + ) + + mock_bgp_attr = mock.MagicMock(spec=bgp._PathAttribute) + mock_bgp_attr.serialize.return_value = body + + message = mrtlib.TableDumpAfiIPv4MrtMessage( + view_num=0x2222, + seq_num=0x3333, + prefix=prefix, + prefix_len=24, + status=1, + originated_time=0x44444444, + peer_ip=peer_ip, + peer_as=65000, + bgp_attributes=[mock_bgp_attr], + # attr_len=4 + ) + record = mrtlib.TableDumpMrtRecord( + message=message, + timestamp=0x11111111, + # type_=None, + # subtype=None, + # length=None, + ) + + output = record.serialize() + + eq_(buf, output) + + @mock.patch('ryu.lib.packet.bgp._PathAttribute.parser') + def test_parse_afi_ipv6(self, mock_bgp_attr_parser): + prefix = '2001:db8::1' + peer_ip = 'fe80::1' + body = b'test' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x0c\x00\x02' # type=TYPE_TABLE_DUMP(12), + # subtype=SUBTYPE_AFI_IPv6(2) + b'\x00\x00\x00\x32' # length=50 + b'\x22\x22\x33\x33' # view_num, seq_num + + addrconv.ipv6.text_to_bin(prefix) + # prefix + b'\x40\x01' # prefix_len=64, status=1 + b'\x44\x44\x44\x44' # originated_time + + addrconv.ipv6.text_to_bin(peer_ip) + # peer_ip + b'\xfd\xe8\x00\x04' # peer_as=65000, attr_len=len(body) + + body # bgp_attributes + ) + + mock_bgp_attr = mock.MagicMock(spec=bgp._PathAttribute) + mock_bgp_attr_parser.return_value = (mock_bgp_attr, b'') + + (record, rest) = mrtlib.MrtRecord.parse(buf) + + eq_(0x11111111, record.timestamp) + eq_(mrtlib.MrtRecord.TYPE_TABLE_DUMP, record.type) + eq_(mrtlib.TableDumpMrtRecord.SUBTYPE_AFI_IPv6, record.subtype) + eq_(0x00000032, record.length) + eq_(0x2222, record.message.view_num) + eq_(0x3333, record.message.seq_num) + eq_(prefix, record.message.prefix) + eq_(64, record.message.prefix_len) + eq_(1, record.message.status) + eq_(0x44444444, record.message.originated_time) + eq_(peer_ip, record.message.peer_ip) + eq_(65000, record.message.peer_as) + eq_(0x0004, record.message.attr_len) + eq_([mock_bgp_attr], record.message.bgp_attributes) + eq_(b'', rest) + + def test_serialize_afi_ipv6(self): + prefix = '2001:db8::1' + peer_ip = 'fe80::1' + body = b'test' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x0c\x00\x02' # type=TYPE_TABLE_DUMP(12), + # subtype=SUBTYPE_AFI_IPv6(2) + b'\x00\x00\x00\x32' # length=50 + b'\x22\x22\x33\x33' # view_num, seq_num + + addrconv.ipv6.text_to_bin(prefix) + # prefix + b'\x40\x01' # prefix_len=64, status=1 + b'\x44\x44\x44\x44' # originated_time + + addrconv.ipv6.text_to_bin(peer_ip) + # peer_ip + b'\xfd\xe8\x00\x04' # peer_as=65000, attr_len=len(body) + + body # bgp_attributes + ) + + mock_bgp_attr = mock.MagicMock(spec=bgp._PathAttribute) + mock_bgp_attr.serialize.return_value = body + + message = mrtlib.TableDumpAfiIPv6MrtMessage( + view_num=0x2222, + seq_num=0x3333, + prefix=prefix, + prefix_len=64, + status=1, + originated_time=0x44444444, + peer_ip=peer_ip, + peer_as=65000, + bgp_attributes=[mock_bgp_attr], + # attr_len=4 + ) + record = mrtlib.TableDumpMrtRecord( + message=message, + timestamp=0x11111111, + # type_=None, + # subtype=None, + # length=None, + ) + + output = record.serialize() + + eq_(buf, output) + + +class TestMrtlibTableDump2MrtRecord(unittest.TestCase): + """ + Test case for ryu.lib.mrtlib.TableDump2MrtRecord. + """ + + # Note: The classes corresponding to the following subtypes are + # tested in TestMrtlibMrtRecord. + # - SUBTYPE_PEER_INDEX_TABLE = 1 + # - SUBTYPE_RIB_IPV4_UNICAST = 2 + # - SUBTYPE_RIB_IPV4_MULTICAST = 3 + # - SUBTYPE_RIB_IPV6_UNICAST = 4 + # - SUBTYPE_RIB_IPV6_MULTICAST = 5 + + @mock.patch('ryu.lib.mrtlib.MrtRibEntry.parse') + @mock.patch('ryu.lib.packet.bgp.BGPNLRI.parser') + def test_parse_rib_generic(self, mock_nlri_parser, mock_rib_entry_parser): + nlri_bin = b'nlri' # 4 bytes + rib_entries_bin = b'ribs' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x0d\x00\x06' # type=TYPE_TABLE_DUMP_V2(13), + # subtype=SUBTYPE_RIB_GENERIC(6) + b'\x00\x00\x00\x11' # length=17 + b'\x22\x22\x22\x22' # seq_num + b'\x33\x33\x44' # afi, safi + + nlri_bin + # nlri + b'\x00\x01' # entry_count + + rib_entries_bin # rib_entries + ) + buf_entries = ( + b'\x00\x01' # entry_count + + rib_entries_bin # rib_entries + ) + + mock_bgp_nlri = mock.MagicMock(spec=bgp._AddrPrefix) + mock_nlri_parser.return_value = (mock_bgp_nlri, buf_entries) + + mock_rib_entry = mock.MagicMock(spec=mrtlib.MrtRibEntry) + mock_rib_entry_parser.return_value = (mock_rib_entry, b'') + + (record, rest) = mrtlib.MrtRecord.parse(buf) + + eq_(0x11111111, record.timestamp) + eq_(mrtlib.MrtRecord.TYPE_TABLE_DUMP_V2, record.type) + eq_(mrtlib.TableDump2MrtRecord.SUBTYPE_RIB_GENERIC, record.subtype) + eq_(0x00000011, record.length) + eq_(0x22222222, record.message.seq_num) + eq_(0x3333, record.message.afi) + eq_(0x44, record.message.safi) + eq_(mock_bgp_nlri, record.message.nlri) + eq_(0x0001, record.message.entry_count) + eq_([mock_rib_entry], record.message.rib_entries) + eq_(b'', rest) + + def test_serialize_rib_generic(self): + nlri_bin = b'nlri' # 4 bytes + rib_entries_bin = b'ribs' # 4 bytes + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x0d\x00\x06' # type=TYPE_TABLE_DUMP_V2(13), + # subtype=SUBTYPE_RIB_GENERIC(6) + b'\x00\x00\x00\x11' # length=17 + b'\x22\x22\x22\x22' # seq_num + b'\x33\x33\x44' # afi, safi + + nlri_bin + # nlri + b'\x00\x01' # entry_count + + rib_entries_bin # rib_entries + ) + + mock_bgp_nlri = mock.MagicMock(spec=bgp._AddrPrefix) + mock_bgp_nlri.serialize.return_value = nlri_bin + + mock_rib_entry = mock.MagicMock(spec=mrtlib.MrtRibEntry) + mock_rib_entry.serialize.return_value = rib_entries_bin + + message = mrtlib.TableDump2RibGenericMrtMessage( + seq_num=0x22222222, + afi=0x3333, + safi=0x44, + nlri=mock_bgp_nlri, + rib_entries=[mock_rib_entry], + # entry_count=1, + ) + record = mrtlib.TableDump2MrtRecord( + message=message, + timestamp=0x11111111, + # type_=None, + # subtype=None, + # length=None, + ) + + output = record.serialize() + + eq_(buf, output) + + +class TestMrtlibMrtPeer(unittest.TestCase): + """ + Test case for ryu.lib.mrtlib.MrtPeer. + """ + + def test_parse_two_octet_as(self): + bgp_id = '1.1.1.1' + ip_addr = '10.0.0.1' + buf = ( + b'\x00' # type + + addrconv.ipv4.text_to_bin(bgp_id) # bgp_id + + addrconv.ipv4.text_to_bin(ip_addr) + # ip_addr + b'\xfd\xe8' # as_num + ) + + peer, rest = mrtlib.MrtPeer.parse(buf) + + eq_(0, peer.type) + eq_(bgp_id, peer.bgp_id) + eq_(ip_addr, peer.ip_addr) + eq_(65000, peer.as_num) + eq_(b'', rest) + + def test_serialize_two_octet_as(self): + bgp_id = '1.1.1.1' + ip_addr = '10.0.0.1' + buf = ( + b'\x00' # type + + addrconv.ipv4.text_to_bin(bgp_id) # bgp_id + + addrconv.ipv4.text_to_bin(ip_addr) + # ip_addr + b'\xfd\xe8' # as_num + ) + + peer = mrtlib.MrtPeer( + bgp_id=bgp_id, + ip_addr=ip_addr, + as_num=65000, + # type_=0, + ) + + output = peer.serialize() + + eq_(buf, output) + + +class TestMrtlibBgp4MpMrtRecord(unittest.TestCase): + """ + Test case for ryu.lib.mrtlib.Bgp4MpMrtRecord. + """ + + # Note: The classes corresponding to the following subtypes are + # tested in TestMrtlibMrtRecord. + # - SUBTYPE_BGP4MP_MESSAGE = 1 + # - SUBTYPE_BGP4MP_MESSAGE_AS4 = 4 + # - SUBTYPE_BGP4MP_STATE_CHANGE_AS4 = 5 + # - SUBTYPE_BGP4MP_MESSAGE_LOCAL = 6 + # - SUBTYPE_BGP4MP_MESSAGE_AS4_LOCAL = 7 + + def test_parse_state_change_afi_ipv4(self): + peer_ip = '10.0.0.1' + local_ip = '10.0.0.2' + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x10\x00\x00' # type=TYPE_BGP4MP(16), + # subtype=SUBTYPE_BGP4MP_STATE_CHANGE(0) + b'\x00\x00\x00\x14' # length=20 + b'\xfd\xe9\xfd\xea' # peer_as=65001, local_as=65002 + b'\x22\x22\x00\x01' # if_index, addr_family=AFI_IPv4(1) + + addrconv.ipv4.text_to_bin(peer_ip) # peer_ip + + addrconv.ipv4.text_to_bin(local_ip) + # local_ip + b'\x00\x01\x00\x02' # old_state=STATE_IDLE(1), + # new_state=STATE_CONNECT(2) + ) + + (record, rest) = mrtlib.MrtRecord.parse(buf) + + eq_(0x11111111, record.timestamp) + eq_(mrtlib.MrtRecord.TYPE_BGP4MP, record.type) + eq_(mrtlib.Bgp4MpMrtRecord.SUBTYPE_BGP4MP_STATE_CHANGE, record.subtype) + eq_(0x00000014, record.length) + eq_(65001, record.message.peer_as) + eq_(65002, record.message.local_as) + eq_(0x2222, record.message.if_index) + eq_(mrtlib.Bgp4MpStateChangeMrtMessage.AFI_IPv4, + record.message.afi) + eq_(mrtlib.Bgp4MpStateChangeMrtMessage.STATE_IDLE, + record.message.old_state) + eq_(mrtlib.Bgp4MpStateChangeMrtMessage.STATE_CONNECT, + record.message.new_state) + eq_(b'', rest) + + def test_serialize_state_change_afi_ipv4(self): + peer_ip = '10.0.0.1' + local_ip = '10.0.0.2' + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x10\x00\x00' # type=TYPE_BGP4MP(16), + # subtype=SUBTYPE_BGP4MP_STATE_CHANGE(0) + b'\x00\x00\x00\x14' # length=20 + b'\xfd\xe9\xfd\xea' # peer_as=65001, local_as=65002 + b'\x22\x22\x00\x01' # if_index, addr_family=AFI_IPv4(1) + + addrconv.ipv4.text_to_bin(peer_ip) # peer_ip + + addrconv.ipv4.text_to_bin(local_ip) + # local_ip + b'\x00\x01\x00\x02' # old_state=STATE_IDLE(1), + # new_state=STATE_CONNECT(2) + ) + + message = mrtlib.Bgp4MpStateChangeMrtMessage( + peer_as=65001, + local_as=65002, + if_index=0x2222, + peer_ip=peer_ip, + local_ip=local_ip, + old_state=mrtlib.Bgp4MpStateChangeMrtMessage.STATE_IDLE, + new_state=mrtlib.Bgp4MpStateChangeMrtMessage.STATE_CONNECT, + # afi=mrtlib.Bgp4MpStateChangeMrtMessage.AFI_IPv4, + ) + record = mrtlib.Bgp4MpMrtRecord( + message=message, + timestamp=0x11111111, + # type_=None, + # subtype=None, + # length=None, + ) + + output = record.serialize() + + eq_(buf, output) + + def test_parse_state_change_afi_ipv6(self): + peer_ip = 'fe80::1' + local_ip = 'fe80::2' + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x10\x00\x00' # type=TYPE_BGP4MP(16), + # subtype=SUBTYPE_BGP4MP_STATE_CHANGE(0) + b'\x00\x00\x00\x2c' # length=44 + b'\xfd\xe9\xfd\xea' # peer_as=65001, local_as=65002 + b'\x22\x22\x00\x02' # if_index, addr_family=AFI_IPv6(2) + + addrconv.ipv6.text_to_bin(peer_ip) # peer_ip + + addrconv.ipv6.text_to_bin(local_ip) + # local_ip + b'\x00\x01\x00\x02' # old_state=STATE_IDLE(1), + # new_state=STATE_CONNECT(2) + ) + + (record, rest) = mrtlib.MrtRecord.parse(buf) + + eq_(0x11111111, record.timestamp) + eq_(mrtlib.MrtRecord.TYPE_BGP4MP, record.type) + eq_(mrtlib.Bgp4MpMrtRecord.SUBTYPE_BGP4MP_STATE_CHANGE, record.subtype) + eq_(0x0000002c, record.length) + eq_(65001, record.message.peer_as) + eq_(65002, record.message.local_as) + eq_(0x2222, record.message.if_index) + eq_(mrtlib.Bgp4MpStateChangeMrtMessage.AFI_IPv6, + record.message.afi) + eq_(mrtlib.Bgp4MpStateChangeMrtMessage.STATE_IDLE, + record.message.old_state) + eq_(mrtlib.Bgp4MpStateChangeMrtMessage.STATE_CONNECT, + record.message.new_state) + eq_(b'', rest) + + def test_serialize_state_change_afi_ipv6(self): + peer_ip = 'fe80::1' + local_ip = 'fe80::2' + buf = ( + b'\x11\x11\x11\x11' # timestamp + b'\x00\x10\x00\x00' # type=TYPE_BGP4MP(16), + # subtype=SUBTYPE_BGP4MP_STATE_CHANGE(0) + b'\x00\x00\x00\x2c' # length=44 + b'\xfd\xe9\xfd\xea' # peer_as=65001, local_as=65002 + b'\x22\x22\x00\x02' # if_index, addr_family=AFI_IPv6(2) + + addrconv.ipv6.text_to_bin(peer_ip) # peer_ip + + addrconv.ipv6.text_to_bin(local_ip) + # local_ip + b'\x00\x01\x00\x02' # old_state=STATE_IDLE(1), + # new_state=STATE_CONNECT(2) + ) + + message = mrtlib.Bgp4MpStateChangeMrtMessage( + peer_as=65001, + local_as=65002, + if_index=0x2222, + peer_ip=peer_ip, + local_ip=local_ip, + old_state=mrtlib.Bgp4MpStateChangeMrtMessage.STATE_IDLE, + new_state=mrtlib.Bgp4MpStateChangeMrtMessage.STATE_CONNECT, + # afi=mrtlib.Bgp4MpStateChangeMrtMessage.AFI_IPv4, + ) + record = mrtlib.Bgp4MpMrtRecord( + message=message, + timestamp=0x11111111, + # type_=None, + # subtype=None, + # length=None, + ) + + output = record.serialize() + + eq_(buf, output) diff --git a/tests/unit/lib/test_of_config_classes.py b/tests/unit/lib/test_of_config_classes.py new file mode 100644 index 00000000..5b0dd6d3 --- /dev/null +++ b/tests/unit/lib/test_of_config_classes.py @@ -0,0 +1,442 @@ +# Copyright (C) 2014 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2014 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import unittest +from nose.tools import eq_ +from nose.tools import ok_ + +import sys +import lxml.etree as ET +from formencode.doctest_xml_compare import xml_compare + +from ryu.lib.of_config import classes as ofc + + +GET = """<ns0:capable-switch xmlns:ns0="urn:onf:of111:config:yang"> + <ns0:id>CapableSwitch0</ns0:id> + <ns0:resources> + <ns0:port> + <ns0:resource-id>LogicalSwitch9-Port4</ns0:resource-id> + <ns0:number>4</ns0:number> + <ns0:name>Port4</ns0:name> + <ns0:current-rate>5000</ns0:current-rate> + <ns0:max-rate>5000</ns0:max-rate> + <ns0:configuration> + <ns0:admin-state>up</ns0:admin-state> + <ns0:no-receive>false</ns0:no-receive> + <ns0:no-forward>false</ns0:no-forward> + <ns0:no-packet-in>false</ns0:no-packet-in> + </ns0:configuration> + <ns0:state> + <ns0:oper-state>up</ns0:oper-state> + <ns0:blocked>false</ns0:blocked> + <ns0:live>true</ns0:live> + </ns0:state> + <ns0:features> + <ns0:current> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:current> + <ns0:advertised> + <ns0:rate>other</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:advertised> + <ns0:supported> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:supported> + <ns0:advertised-peer> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:advertised-peer> + </ns0:features> + </ns0:port> + <ns0:port> + <ns0:resource-id>LogicalSwitch9-Port3</ns0:resource-id> + <ns0:number>3</ns0:number> + <ns0:name>Port3</ns0:name> + <ns0:current-rate>5000</ns0:current-rate> + <ns0:max-rate>5000</ns0:max-rate> + <ns0:configuration> + <ns0:admin-state>up</ns0:admin-state> + <ns0:no-receive>false</ns0:no-receive> + <ns0:no-forward>false</ns0:no-forward> + <ns0:no-packet-in>false</ns0:no-packet-in> + </ns0:configuration> + <ns0:state> + <ns0:oper-state>up</ns0:oper-state> + <ns0:blocked>false</ns0:blocked> + <ns0:live>true</ns0:live> + </ns0:state> + <ns0:features> + <ns0:current> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:current> + <ns0:advertised> + <ns0:rate>other</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:advertised> + <ns0:supported> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:supported> + <ns0:advertised-peer> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:advertised-peer> + </ns0:features> + </ns0:port> + <ns0:port> + <ns0:resource-id>LogicalSwitch7-Port2</ns0:resource-id> + <ns0:number>2</ns0:number> + <ns0:name>Port2</ns0:name> + <ns0:current-rate>5000</ns0:current-rate> + <ns0:max-rate>5000</ns0:max-rate> + <ns0:configuration> + <ns0:admin-state>up</ns0:admin-state> + <ns0:no-receive>false</ns0:no-receive> + <ns0:no-forward>false</ns0:no-forward> + <ns0:no-packet-in>false</ns0:no-packet-in> + </ns0:configuration> + <ns0:state> + <ns0:oper-state>up</ns0:oper-state> + <ns0:blocked>false</ns0:blocked> + <ns0:live>true</ns0:live> + </ns0:state> + <ns0:features> + <ns0:current> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:current> + <ns0:advertised> + <ns0:rate>other</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:advertised> + <ns0:supported> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:supported> + <ns0:advertised-peer> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:advertised-peer> + </ns0:features> + </ns0:port> + <ns0:port> + <ns0:resource-id>LogicalSwitch7-Port1</ns0:resource-id> + <ns0:number>1</ns0:number> + <ns0:name>Port1</ns0:name> + <ns0:current-rate>5000</ns0:current-rate> + <ns0:max-rate>5000</ns0:max-rate> + <ns0:configuration> + <ns0:admin-state>up</ns0:admin-state> + <ns0:no-receive>false</ns0:no-receive> + <ns0:no-forward>false</ns0:no-forward> + <ns0:no-packet-in>false</ns0:no-packet-in> + </ns0:configuration> + <ns0:state> + <ns0:oper-state>up</ns0:oper-state> + <ns0:blocked>false</ns0:blocked> + <ns0:live>true</ns0:live> + </ns0:state> + <ns0:features> + <ns0:current> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:current> + <ns0:advertised> + <ns0:rate>other</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:advertised> + <ns0:supported> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:supported> + <ns0:advertised-peer> + <ns0:rate>100Mb-FD</ns0:rate> + <ns0:auto-negotiate>true</ns0:auto-negotiate> + <ns0:medium>copper</ns0:medium> + <ns0:pause>unsupported</ns0:pause> + </ns0:advertised-peer> + </ns0:features> + </ns0:port> + <ns0:queue> + <ns0:resource-id>LogicalSwitch9-Port4-Queue992</ns0:resource-id> + <ns0:id>992</ns0:id> + <ns0:port>4</ns0:port> + <ns0:properties> + <ns0:min-rate>10</ns0:min-rate> + <ns0:max-rate>130</ns0:max-rate> + </ns0:properties> + </ns0:queue> + <ns0:queue> + <ns0:resource-id>LogicalSwitch9-Port4-Queue991</ns0:resource-id> + <ns0:id>991</ns0:id> + <ns0:port>4</ns0:port> + <ns0:properties> + <ns0:min-rate>10</ns0:min-rate> + <ns0:max-rate>120</ns0:max-rate> + </ns0:properties> + </ns0:queue> + <ns0:queue> + <ns0:resource-id>LogicalSwitch7-Port2-Queue994</ns0:resource-id> + <ns0:id>994</ns0:id> + <ns0:port>2</ns0:port> + <ns0:properties> + <ns0:min-rate>400</ns0:min-rate> + <ns0:max-rate>900</ns0:max-rate> + </ns0:properties> + </ns0:queue> + <ns0:queue> + <ns0:resource-id>LogicalSwitch7-Port2-Queue993</ns0:resource-id> + <ns0:id>993</ns0:id> + <ns0:port>2</ns0:port> + <ns0:properties> + <ns0:min-rate>200</ns0:min-rate> + <ns0:max-rate>300</ns0:max-rate> + </ns0:properties> + </ns0:queue> + </ns0:resources> + <ns0:logical-switches> + <ns0:switch> + <ns0:id>LogicalSwitch9</ns0:id> + <ns0:capabilities> + <ns0:max-buffered-packets>0</ns0:max-buffered-packets> + <ns0:max-tables>255</ns0:max-tables> + <ns0:max-ports>16777216</ns0:max-ports> + <ns0:flow-statistics>true</ns0:flow-statistics> + <ns0:table-statistics>true</ns0:table-statistics> + <ns0:port-statistics>true</ns0:port-statistics> + <ns0:group-statistics>true</ns0:group-statistics> + <ns0:queue-statistics>true</ns0:queue-statistics> + <ns0:reassemble-ip-fragments>false</ns0:reassemble-ip-fragments> + <ns0:block-looping-ports>false</ns0:block-looping-ports> + <ns0:reserved-port-types> + <ns0:type>all</ns0:type> + <ns0:type>controller</ns0:type> + <ns0:type>table</ns0:type> + <ns0:type>inport</ns0:type> + <ns0:type>any</ns0:type> + </ns0:reserved-port-types> + <ns0:group-types> + <ns0:type>all</ns0:type> + <ns0:type>select</ns0:type> + <ns0:type>indirect</ns0:type> + <ns0:type>fast-failover</ns0:type> + </ns0:group-types> + <ns0:group-capabilities> + <ns0:capability>select-weight</ns0:capability> + <ns0:capability>select-liveness</ns0:capability> + <ns0:capability>chaining</ns0:capability> + </ns0:group-capabilities> + <ns0:action-types> + <ns0:type>output</ns0:type> + <ns0:type>group</ns0:type> + <ns0:type>set-queue</ns0:type> + <ns0:type>set-mpls-ttl</ns0:type> + <ns0:type>dec-mpls-ttl</ns0:type> + <ns0:type>set-nw-ttl</ns0:type> + <ns0:type>dec-nw-ttl</ns0:type> + <ns0:type>copy-ttl-out</ns0:type> + <ns0:type>copy-ttl-in</ns0:type> + <ns0:type>push-vlan</ns0:type> + <ns0:type>pop-vlan</ns0:type> + <ns0:type>push-mpls</ns0:type> + <ns0:type>pop-mpls</ns0:type> + <ns0:type>push-pbb</ns0:type> + <ns0:type>pop-pbb</ns0:type> + <ns0:type>set-field</ns0:type> + </ns0:action-types> + <ns0:instruction-types> + <ns0:type>goto-table</ns0:type> + <ns0:type>write-metadata</ns0:type> + <ns0:type>write-actions</ns0:type> + <ns0:type>apply-actions</ns0:type> + <ns0:type>clear-actions</ns0:type> + <ns0:type>meter</ns0:type> + </ns0:instruction-types> + </ns0:capabilities> + <ns0:datapath-id>08:60:6E:7F:74:E7:00:09</ns0:datapath-id> + <ns0:enabled>true</ns0:enabled> + <ns0:check-controller-certificate>false + </ns0:check-controller-certificate> + <ns0:lost-connection-behavior>failSecureMode + </ns0:lost-connection-behavior> + <ns0:controllers> + <ns0:controller> + <ns0:id>Switch9-Controller</ns0:id> + <ns0:role>equal</ns0:role> + <ns0:ip-address>127.0.0.1</ns0:ip-address> + <ns0:port>6633</ns0:port> + <ns0:protocol>tcp</ns0:protocol> + <ns0:state> + <ns0:connection-state>down</ns0:connection-state> + <ns0:supported-versions>1.3</ns0:supported-versions> + </ns0:state> + </ns0:controller> + </ns0:controllers> + <ns0:resources> + <ns0:port>LogicalSwitch9-Port4</ns0:port> + <ns0:port>LogicalSwitch9-Port3</ns0:port> + <ns0:queue>LogicalSwitch9-Port4-Queue992</ns0:queue> + <ns0:queue>LogicalSwitch9-Port4-Queue991</ns0:queue> + </ns0:resources> + </ns0:switch> + <ns0:switch> + <ns0:id>LogicalSwitch7</ns0:id> + <ns0:capabilities> + <ns0:max-buffered-packets>0</ns0:max-buffered-packets> + <ns0:max-tables>255</ns0:max-tables> + <ns0:max-ports>16777216</ns0:max-ports> + <ns0:flow-statistics>true</ns0:flow-statistics> + <ns0:table-statistics>true</ns0:table-statistics> + <ns0:port-statistics>true</ns0:port-statistics> + <ns0:group-statistics>true</ns0:group-statistics> + <ns0:queue-statistics>true</ns0:queue-statistics> + <ns0:reassemble-ip-fragments>false</ns0:reassemble-ip-fragments> + <ns0:block-looping-ports>false</ns0:block-looping-ports> + <ns0:reserved-port-types> + <ns0:type>all</ns0:type> + <ns0:type>controller</ns0:type> + <ns0:type>table</ns0:type> + <ns0:type>inport</ns0:type> + <ns0:type>any</ns0:type> + </ns0:reserved-port-types> + <ns0:group-types> + <ns0:type>all</ns0:type> + <ns0:type>select</ns0:type> + <ns0:type>indirect</ns0:type> + <ns0:type>fast-failover</ns0:type> + </ns0:group-types> + <ns0:group-capabilities> + <ns0:capability>select-weight</ns0:capability> + <ns0:capability>select-liveness</ns0:capability> + <ns0:capability>chaining</ns0:capability> + </ns0:group-capabilities> + <ns0:action-types> + <ns0:type>output</ns0:type> + <ns0:type>group</ns0:type> + <ns0:type>set-queue</ns0:type> + <ns0:type>set-mpls-ttl</ns0:type> + <ns0:type>dec-mpls-ttl</ns0:type> + <ns0:type>set-nw-ttl</ns0:type> + <ns0:type>dec-nw-ttl</ns0:type> + <ns0:type>copy-ttl-out</ns0:type> + <ns0:type>copy-ttl-in</ns0:type> + <ns0:type>push-vlan</ns0:type> + <ns0:type>pop-vlan</ns0:type> + <ns0:type>push-mpls</ns0:type> + <ns0:type>pop-mpls</ns0:type> + <ns0:type>set-field</ns0:type> + </ns0:action-types> + <ns0:instruction-types> + <ns0:type>goto-table</ns0:type> + <ns0:type>write-metadata</ns0:type> + <ns0:type>write-actions</ns0:type> + <ns0:type>apply-actions</ns0:type> + <ns0:type>clear-actions</ns0:type> + </ns0:instruction-types> + </ns0:capabilities> + <ns0:datapath-id>08:60:6E:7F:74:E7:00:07</ns0:datapath-id> + <ns0:enabled>true</ns0:enabled> + <ns0:check-controller-certificate>false + </ns0:check-controller-certificate> + <ns0:lost-connection-behavior>failSecureMode + </ns0:lost-connection-behavior> + <ns0:controllers> + <ns0:controller> + <ns0:id>Switch7-Controller</ns0:id> + <ns0:role>equal</ns0:role> + <ns0:ip-address>127.0.0.1</ns0:ip-address> + <ns0:port>6633</ns0:port> + <ns0:protocol>tcp</ns0:protocol> + <ns0:state> + <ns0:connection-state>down</ns0:connection-state> + <ns0:supported-versions>1.2</ns0:supported-versions> + </ns0:state> + </ns0:controller> + </ns0:controllers> + <ns0:resources> + <ns0:port>LogicalSwitch7-Port2</ns0:port> + <ns0:port>LogicalSwitch7-Port1</ns0:port> + <ns0:queue>LogicalSwitch7-Port2-Queue994</ns0:queue> + <ns0:queue>LogicalSwitch7-Port2-Queue993</ns0:queue> + </ns0:resources> + </ns0:switch> + </ns0:logical-switches> +</ns0:capable-switch> +""" + + +class Test_of_config_classes(unittest.TestCase): + """ Test case for ryu.lib.of_config.classes + """ + + def setUp(self): + pass + + def tearDown(self): + pass + + def test_parse(self): + for xml0 in [GET]: + o = ofc.OFCapableSwitchType.from_xml(xml0) + xml1 = o.to_xml('capable-switch') + ok_(xml_compare(ET.fromstring(xml0), ET.fromstring(xml1), + reporter=sys.stderr.write)) + + def test_alt_names(self): + xml0 = GET + o = ofc.OFCapableSwitchType.from_xml(xml0) + eq_(o.logical_switches, getattr(o, 'logical_switches')) + eq_(o.logical_switches, getattr(o, 'logical-switches')) + + def test_iterate(self): + xml0 = GET + o = ofc.OFCapableSwitchType.from_xml(xml0) + for lsw in o.logical_switches.switch: + ok_(str(lsw.id).startswith('LogicalSwitch')) diff --git a/tests/unit/lib/test_ofctl.py b/tests/unit/lib/test_ofctl.py new file mode 100644 index 00000000..57fa8355 --- /dev/null +++ b/tests/unit/lib/test_ofctl.py @@ -0,0 +1,643 @@ +# Copyright (C) 2015 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import functools +import json +import logging +from nose.tools import eq_ +import os +import sys +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.lib import ofctl_v1_5 +from ryu.ofproto import ofproto_parser +from ryu.ofproto.ofproto_protocol import ProtocolDesc + +from tests import test_lib + +LOG = logging.getLogger(__name__) + + +class DummyDatapath(ProtocolDesc): + + def __init__(self, version): + super(DummyDatapath, self).__init__(version) + self.id = 1 # XXX + self.request_msg = None + self.reply_msg = None + self.waiters = None + + @staticmethod + def set_xid(msg): + msg.set_xid(0) + return 0 + + def send_msg(self, msg): + msg.serialize() + self.request_msg = msg + + if self.reply_msg: + lock, msgs = self.waiters[self.id][msg.xid] + msgs.append(self.reply_msg) + del self.waiters[self.id][msg.xid] + lock.set() + + def set_reply(self, msg, waiters): + self.reply_msg = msg + self.waiters = waiters + + +class Test_ofctl(unittest.TestCase): + + def _test(self, name, dp, method, args, request, reply, expected): + print('processing %s ...' % name) + waiters = {} + dp.set_reply(reply, waiters) + if reply: + output = method(dp=dp, waiters=waiters, **args) + else: + output = method(dp=dp, **args) + + # expected message <--> sent message + request.serialize() + try: + eq_(json.dumps(request.to_jsondict(), sort_keys=True), + json.dumps(dp.request_msg.to_jsondict(), sort_keys=True)) + except AssertionError as e: + # For debugging + json.dump(dp.request_msg.to_jsondict(), + open('/tmp/' + name + '_request.json', 'w'), + indent=3, sort_keys=True) + raise e + + # expected output <--> return of ofctl + def _remove(d, names): + def f(x): + return _remove(x, names) + + if isinstance(d, list): + return list(map(f, d)) + if isinstance(d, dict): + d2 = {} + for k, v in d.items(): + if k in names: + continue + d2[k] = f(v) + return d2 + return d + + expected = _remove(expected, ['len', 'length']) + output = _remove(output, ['len', 'length']) + try: + eq_(json.dumps(expected, sort_keys=True), + json.dumps(output, sort_keys=True)) + except AssertionError as e: + # For debugging + json.dump(output, open('/tmp/' + name + '_reply.json', 'w'), + indent=4) + raise e + + +def _add_tests(): + _ofp_vers = { + 'of10': 0x01, + 'of12': 0x03, + 'of13': 0x04, + 'of14': 0x05, + 'of15': 0x06, + } + + _test_cases = { + 'of10': [ + { + 'method': ofctl_v1_0.mod_flow_entry, + 'request': '1-2-ofp_flow_mod.packet.json', + 'reply': None + }, + ], + 'of12': [ + { + 'method': ofctl_v1_2.get_desc_stats, + 'request': '3-24-ofp_desc_stats_request.packet.json', + 'reply': '3-0-ofp_desc_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_queue_stats, + 'request': '3-37-ofp_queue_stats_request.packet.json', + 'reply': '3-38-ofp_queue_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_queue_stats, + 'request': 'lib-ofctl-ofp_queue_stats_request.packet1.json', + 'reply': '3-38-ofp_queue_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_queue_stats, + 'request': 'lib-ofctl-ofp_queue_stats_request.packet2.json', + 'reply': '3-38-ofp_queue_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_queue_stats, + 'request': 'lib-ofctl-ofp_queue_stats_request.packet3.json', + 'reply': '3-38-ofp_queue_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_queue_config, + 'request': '3-35-ofp_queue_get_config_request.packet.json', + 'reply': '3-36-ofp_queue_get_config_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_queue_config, + 'request': 'lib-ofctl-ofp_queue_get_config_request.packet.json', + 'reply': '3-36-ofp_queue_get_config_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_flow_stats, + 'request': '3-11-ofp_flow_stats_request.packet.json', + 'reply': '3-12-ofp_flow_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_aggregate_flow_stats, + 'request': '3-25-ofp_aggregate_stats_request.packet.json', + 'reply': '3-26-ofp_aggregate_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_table_stats, + 'request': '3-27-ofp_table_stats_request.packet.json', + 'reply': '3-28-ofp_table_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_port_stats, + 'request': '3-29-ofp_port_stats_request.packet.json', + 'reply': '3-30-ofp_port_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_port_stats, + 'request': 'lib-ofctl-ofp_port_stats_request.packet.json', + 'reply': '3-30-ofp_port_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_group_stats, + 'request': '3-61-ofp_group_stats_request.packet.json', + 'reply': '3-62-ofp_group_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_group_stats, + 'request': 'lib-ofctl-ofp_group_stats_request.packet.json', + 'reply': '3-62-ofp_group_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_group_features, + 'request': '3-31-ofp_group_features_stats_request.packet.json', + 'reply': '3-32-ofp_group_features_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_2.get_group_desc, + 'request': '3-33-ofp_group_desc_stats_request.packet.json', + 'reply': '3-34-ofp_group_desc_stats_reply.packet.json' + }, + # In OpenFlow 1.2, ofp_port_desc is not defined. + # We use ofp_features_request to get ports description instead. + { + 'method': ofctl_v1_2.get_port_desc, + 'request': '3-5-ofp_features_request.packet.json', + 'reply': '3-6-ofp_features_reply.packet.json' + }, + { + 'method': ofctl_v1_2.mod_flow_entry, + 'request': '3-2-ofp_flow_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_2.mod_group_entry, + 'request': '3-21-ofp_group_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_2.mod_port_behavior, + 'request': '3-22-ofp_port_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_2.send_experimenter, + 'request': '3-16-ofp_experimenter.packet.json', + 'reply': None + }, + ], + 'of13': [ + { + 'method': ofctl_v1_3.get_desc_stats, + 'request': '4-24-ofp_desc_request.packet.json', + 'reply': '4-0-ofp_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_queue_stats, + 'request': '4-37-ofp_queue_stats_request.packet.json', + 'reply': '4-38-ofp_queue_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_queue_stats, + 'request': 'lib-ofctl-ofp_queue_stats_request.packet1.json', + 'reply': '4-38-ofp_queue_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_queue_stats, + 'request': 'lib-ofctl-ofp_queue_stats_request.packet2.json', + 'reply': '4-38-ofp_queue_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_queue_stats, + 'request': 'lib-ofctl-ofp_queue_stats_request.packet3.json', + 'reply': '4-38-ofp_queue_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_queue_config, + 'request': '4-35-ofp_queue_get_config_request.packet.json', + 'reply': '4-36-ofp_queue_get_config_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_queue_config, + 'request': 'lib-ofctl-ofp_queue_get_config_request.packet.json', + 'reply': '4-36-ofp_queue_get_config_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_flow_stats, + 'request': '4-11-ofp_flow_stats_request.packet.json', + 'reply': '4-12-ofp_flow_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_aggregate_flow_stats, + 'request': '4-25-ofp_aggregate_stats_request.packet.json', + 'reply': '4-26-ofp_aggregate_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_table_stats, + 'request': '4-27-ofp_table_stats_request.packet.json', + 'reply': '4-28-ofp_table_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_table_features, + 'request': 'lib-ofctl-ofp_table_features_request.packet.json', + 'reply': '4-56-ofp_table_features_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_port_stats, + 'request': '4-29-ofp_port_stats_request.packet.json', + 'reply': '4-30-ofp_port_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_port_stats, + 'request': 'lib-ofctl-ofp_port_stats_request.packet.json', + 'reply': '4-30-ofp_port_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_meter_stats, + 'request': '4-49-ofp_meter_stats_request.packet.json', + 'reply': '4-50-ofp_meter_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_meter_stats, + 'request': 'lib-ofctl-ofp_meter_stats_request.packet.json', + 'reply': '4-50-ofp_meter_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_meter_features, + 'request': '4-51-ofp_meter_features_request.packet.json', + 'reply': '4-52-ofp_meter_features_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_meter_config, + 'request': '4-47-ofp_meter_config_request.packet.json', + 'reply': '4-48-ofp_meter_config_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_meter_config, + 'request': 'lib-ofctl-ofp_meter_config_request.packet.json', + 'reply': '4-48-ofp_meter_config_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_group_stats, + 'request': '4-57-ofp_group_stats_request.packet.json', + 'reply': '4-58-ofp_group_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_group_stats, + 'request': 'lib-ofctl-ofp_group_stats_request.packet.json', + 'reply': '4-58-ofp_group_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_group_features, + 'request': '4-31-ofp_group_features_request.packet.json', + 'reply': '4-32-ofp_group_features_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_group_desc, + 'request': '4-33-ofp_group_desc_request.packet.json', + 'reply': '4-34-ofp_group_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_3.get_port_desc, + 'request': '4-53-ofp_port_desc_request.packet.json', + 'reply': '4-54-ofp_port_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_3.mod_flow_entry, + 'request': '4-2-ofp_flow_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_3.mod_meter_entry, + 'request': '4-45-ofp_meter_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_3.mod_group_entry, + 'request': '4-21-ofp_group_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_3.mod_port_behavior, + 'request': '4-22-ofp_port_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_3.send_experimenter, + '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, + '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', + '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 + }, + ], + 'of15': [ + { + 'method': ofctl_v1_5.get_desc_stats, + 'request': 'libofproto-OFP15-desc_request.packet.json', + 'reply': 'libofproto-OFP15-desc_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_queue_stats, + 'request': 'lib-ofctl-ofp_queue_stats_request.packet.json', + 'reply': 'libofproto-OFP15-queue_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_queue_desc, + 'request': 'libofproto-OFP15-queue_desc_request.packet.json', + 'reply': 'libofproto-OFP15-queue_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_flow_stats, + 'request': 'libofproto-OFP15-flow_stats_request.packet.json', + 'reply': 'libofproto-OFP15-flow_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_flow_desc_stats, + 'request': 'libofproto-OFP15-flow_desc_request.packet.json', + 'reply': 'libofproto-OFP15-flow_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_flow_desc_stats, + 'request': 'lib-ofctl-OFP15-flow_desc_request.packet.json', + 'reply': 'lib-ofctl-OFP15-flow_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_aggregate_flow_stats, + 'request': 'libofproto-OFP15-aggregate_stats_request.packet.json', + 'reply': 'libofproto-OFP15-aggregate_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_table_stats, + 'request': 'libofproto-OFP15-table_stats_request.packet.json', + 'reply': 'libofproto-OFP15-table_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_table_features, + 'request': 'lib-ofctl-ofp_table_features_request.packet.json', + 'reply': 'libofproto-OFP15-table_features_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_port_stats, + 'request': 'libofproto-OFP15-port_stats_request.packet.json', + 'reply': 'libofproto-OFP15-port_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_meter_stats, + 'request': 'libofproto-OFP15-meter_stats_request.packet.json', + 'reply': 'libofproto-OFP15-meter_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_meter_features, + 'request': 'libofproto-OFP15-meter_features_request.packet.json', + 'reply': 'libofproto-OFP15-meter_features_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_meter_desc, + 'request': 'libofproto-OFP15-meter_desc_request.packet.json', + 'reply': 'libofproto-OFP15-meter_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_group_stats, + 'request': 'libofproto-OFP15-group_stats_request.packet.json', + 'reply': 'libofproto-OFP15-group_stats_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_group_features, + 'request': 'libofproto-OFP15-group_features_request.packet.json', + 'reply': 'libofproto-OFP15-group_features_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_group_desc, + 'request': 'libofproto-OFP15-group_desc_request.packet.json', + 'reply': 'libofproto-OFP15-group_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_5.get_port_desc, + 'request': 'libofproto-OFP15-port_desc_request.packet.json', + 'reply': 'libofproto-OFP15-port_desc_reply.packet.json' + }, + { + 'method': ofctl_v1_5.mod_flow_entry, + 'request': 'libofproto-OFP15-flow_mod_no_nx.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_5.mod_flow_entry, + 'request': 'lib-ofctl-OFP15-flow_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_5.mod_meter_entry, + 'request': 'libofproto-OFP15-meter_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_5.mod_group_entry, + 'request': 'libofproto-OFP15-group_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_5.mod_port_behavior, + 'request': 'libofproto-OFP15-port_mod.packet.json', + 'reply': None + }, + { + 'method': ofctl_v1_5.send_experimenter, + 'request': 'libofproto-OFP15-experimenter.packet.json', + 'reply': None + } + ], + } + + def _jsonfile_to_msg(datapath, jsonfile): + return ofproto_parser.ofp_msg_from_jsondict( + datapath, json.load(open(jsonfile))) + + this_dir = os.path.dirname(sys.modules[__name__].__file__) + parser_json_root = os.path.join(this_dir, '../ofproto/json/') + ofctl_json_root = os.path.join(this_dir, 'ofctl_json/') + + for ofp_ver, tests in _test_cases.items(): + dp = DummyDatapath(_ofp_vers[ofp_ver]) + parser_json_dir = os.path.join(parser_json_root, ofp_ver) + ofctl_json_dir = os.path.join(ofctl_json_root, ofp_ver) + for test in tests: + name = 'test_ofctl_' + ofp_ver + '_' + test['request'] + print('adding %s ...' % name) + args = {} + args_json_path = os.path.join(ofctl_json_dir, test['request']) + if os.path.exists(args_json_path): + args = json.load(open(args_json_path)) + request = _jsonfile_to_msg( + dp, os.path.join(parser_json_dir, test['request'])) + reply = None + expected = None + if test['reply']: + reply = _jsonfile_to_msg( + dp, os.path.join(parser_json_dir, test['reply'])) + expected = json.load( + open(os.path.join(ofctl_json_dir, test['reply']))) + f = functools.partial( + Test_ofctl._test, name=name, dp=dp, method=test['method'], + args=args, request=request, reply=reply, expected=expected) + test_lib.add_method(Test_ofctl, name, f) + + +_add_tests() + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/lib/test_ofctl_action_match.py b/tests/unit/lib/test_ofctl_action_match.py new file mode 100644 index 00000000..2b8707cf --- /dev/null +++ b/tests/unit/lib/test_ofctl_action_match.py @@ -0,0 +1,869 @@ +# Copyright (C) 2014 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function + +import unittest +import logging +import netaddr +import functools +import inspect + +from nose.tools import * + +from ryu.lib import addrconv +from ryu.lib import ofctl_v1_0 +from ryu.ofproto import ofproto_v1_0, ofproto_v1_0_parser +from ryu.lib import ofctl_v1_2 +from ryu.ofproto import ofproto_v1_2, ofproto_v1_2_parser +from ryu.lib import ofctl_v1_3 +from ryu.ofproto import ofproto_v1_3, ofproto_v1_3_parser +from ryu.ofproto import ofproto_protocol +from ryu.ofproto import inet + +from tests import test_lib + +LOG = logging.getLogger('test_ofctl_v1_2, v1_3') + +""" Common Functions """ + + +def _str_to_int(v): + try: + return int(v, 0) + except (ValueError, TypeError): + return v + + +def _to_match_eth(value): + if '/' in value: + value = value.split('/') + return value[0], value[1] + else: + return value, None + + +def _to_match_ip(value): + if '/' in value: + ip = netaddr.ip.IPNetwork(value) + ip_addr = str(ip.network) + ip_mask = str(ip.netmask) + return ip_addr, ip_mask + else: + return value, None + + +def _to_match_masked_int(value): + if isinstance(value, str) and '/' in value: + value = value.split('/') + return _str_to_int(value[0]), _str_to_int(value[1]) + else: + return _str_to_int(value), None + + +def _to_masked_int_str(value): + v, m = _to_match_masked_int(value) + v &= m + return '%d/%d' % (v, m) + + +conv_of10_to_of12_dict = { + 'dl_dst': 'eth_dst', + 'dl_src': 'eth_src', + 'dl_type': 'eth_type', + 'dl_vlan': 'vlan_vid', + 'nw_src': 'ipv4_src', + 'nw_dst': 'ipv4_dst', + 'nw_proto': 'ip_proto' +} + + +conv_of12_to_of10_dict = { + 'eth_src': 'dl_src', + 'eth_dst': 'dl_dst', + 'eth_type': 'dl_type', + 'ipv4_dst': 'nw_dst', + 'ipv4_src': 'nw_src', + 'ip_proto': 'nw_proto', + 'vlan_vid': 'dl_vlan', + 'tcp_src': 'tp_src', + 'tcp_dst': 'tp_dst', + 'udp_src': 'tp_src', + 'udp_dst': 'tp_dst' +} + +""" Test_ofctl """ + + +class Test_ofctl(unittest.TestCase): + + def __init__(self, methodName): + super(Test_ofctl, self).__init__(methodName) + + def setUp(self): + pass + + def tearDown(self): + pass + + def _test_actions(self, act, test): + dp = ofproto_protocol.ProtocolDesc(version=test.ver) + act_type = act["type"] + + # str -> action + insts = test.to_actions(dp, [act]) + + if test.ver == ofproto_v1_0.OFP_VERSION: + action = insts[0] + self._equal_str_to_act(action, act, act_type, test) + else: + inst = insts[0] + self._equal_str_to_inst(inst, act, act_type, test) + + # action -> str + inst_str = test.actions_to_str(insts) + if test.ver == ofproto_v1_0.OFP_VERSION: + act_str = inst_str + self._equal_act_to_str(act_str, act, act_type, test) + else: + self._equal_inst_to_str(inst_str, act, act_type, test) + + def _test_match(self, attrs, test): + dp = ofproto_protocol.ProtocolDesc(version=test.ver) + + # str -> match + match = test.to_match(dp, attrs) + + for key, value in attrs.items(): + key = self._conv_key(test, key, attrs) + self._equal_str_to_match(key, value, match, test) + + # match -> str + match_str = test.match_to_str(match) + + for key, value in attrs.items(): + if key in conv_of12_to_of10_dict: + key_old = conv_of12_to_of10_dict[key] + else: + key_old = key + self._equal_match_to_str(key_old, value, match_str, test) + + def _equal_str_to_inst(self, inst, act, act_type, test): + if act_type in test.supported_action: + cls = test.supported_action[act_type] + else: + cls = None + if act_type == 'GOTO_TABLE': + ok_(isinstance(inst, cls)) + eq_(inst.table_id, act["table_id"]) + elif act_type == 'WRITE_METADATA': + ok_(isinstance(inst, cls)) + eq_(inst.metadata, act["metadata"]) + eq_(inst.metadata_mask, act["metadata_mask"]) + elif act_type == 'METER': + ok_(isinstance(inst, cls)) + eq_(inst.meter_id, act["meter_id"]) + elif act_type == 'WRITE_ACTIONS': + ok_(isinstance(inst, cls)) + eq_(inst.type, test._ofproto.OFPIT_WRITE_ACTIONS) + self._equal_str_to_act(inst.actions[0], + act["actions"][0], + act["actions"][0]["type"], + test) + elif act_type == 'CLEAR_ACTIONS': + ok_(isinstance(inst, cls)) + eq_(inst.type, test._ofproto.OFPIT_CLEAR_ACTIONS) + else: + # APPLY_ACTIONS or Uknown Action Type + ok_(isinstance(inst, test._parser.OFPInstructionActions)) + eq_(inst.type, test._ofproto.OFPIT_APPLY_ACTIONS) + self._equal_str_to_act(inst.actions[0], act, + act_type, test) + + def _equal_str_to_act(self, action, act, act_type, test): + if act_type in test.supported_action: + cls = test.supported_action[act_type] + else: + cls = None + ok_(isinstance(action, cls)) + if act_type == 'OUTPUT': + eq_(action.port, act["port"]) + elif act_type == 'SET_VLAN_VID': + eq_(action.vlan_vid, act["vlan_vid"]) + elif act_type == 'SET_VLAN_PCP': + eq_(action.vlan_pcp, act["vlan_pcp"]) + elif act_type == 'SET_DL_SRC': + eq_(addrconv.mac.bin_to_text(action.dl_addr), + act["dl_src"]) + elif act_type == 'SET_DL_DST': + eq_(addrconv.mac.bin_to_text(action.dl_addr), + act["dl_dst"]) + elif act_type == 'SET_NW_SRC': + ip = netaddr.ip.IPAddress(action.nw_addr) + eq_(str(ip), act["nw_src"]) + elif act_type == 'SET_NW_DST': + ip = netaddr.ip.IPAddress(action.nw_addr) + eq_(str(ip), act["nw_dst"]) + elif act_type == 'SET_NW_TOS': + eq_(action.tos, act["nw_tos"]) + elif act_type == 'SET_TP_SRC': + eq_(action.tp, act["tp_src"]) + elif act_type == 'SET_TP_DST': + eq_(action.tp, act["tp_dst"]) + elif act_type == 'ENQUEUE': + eq_(action.queue_id, act["queue_id"]) + eq_(action.port, act["port"]) + elif act_type == 'SET_MPLS_TTL': + eq_(action.mpls_ttl, act["mpls_ttl"]) + elif act_type in ['PUSH_VLAN', 'PUSH_MPLS', + 'POP_MPLS', 'PUSH_PBB']: + eq_(action.ethertype, act["ethertype"]) + elif act_type == 'SET_QUEUE': + eq_(action.queue_id, act["queue_id"]) + elif act_type == 'GROUP': + eq_(action.group_id, act["group_id"]) + elif act_type == 'SET_NW_TTL': + eq_(action.nw_ttl, act["nw_ttl"]) + elif act_type == 'SET_FIELD': + eq_(action.key, act['field']) + eq_(action.value, act['value']) + elif act_type in ['STRIP_VLAN', 'COPY_TTL_OUT', + 'COPY_TTL_IN', 'DEC_MPLS_TTL', + 'POP_VLAN', 'DEC_NW_TTL', 'POP_PBB']: + pass + else: # Uknown Action Type + assert False + + def _equal_inst_to_str(self, inst_str, act, act_type, test): + if act_type == 'WRITE_ACTIONS': + act_str = inst_str[0]["WRITE_ACTIONS"] + act = act["actions"][0] + act_type = act["type"] + self._equal_act_to_str(act_str, act, act_type, test) + else: + inst_str_list = inst_str[0].split(':', 1) + eq_(inst_str_list[0], act_type) + if act_type == 'GOTO_TABLE': + eq_(int(inst_str_list[1]), act["table_id"]) + elif act_type == 'WRITE_METADATA': + met = inst_str_list[1].split('/') + eq_(int(met[0], 16), act["metadata"]) + eq_(int(met[1], 16), act["metadata_mask"]) + elif act_type == 'METER': + eq_(int(inst_str_list[1]), act["meter_id"]) + elif act_type == 'CLEAR_ACTIONS': + pass + else: + # APPLY_ACTIONS + act_str = inst_str + self._equal_act_to_str(act_str, act, act_type, test) + + def _equal_act_to_str(self, act_str, act, act_type, test): + act_str_list = act_str[0].split(':', 1) + eq_(act_str_list[0], act_type) + if act_type == 'OUTPUT': + eq_(int(act_str_list[1]), act["port"]) + elif act_type == 'SET_VLAN_VID': + eq_(int(act_str_list[1]), act["vlan_vid"]) + elif act_type == 'SET_VLAN_PCP': + eq_(int(act_str_list[1]), act["vlan_pcp"]) + elif act_type == 'SET_DL_SRC': + eq_(act_str_list[1], act["dl_src"]) + elif act_type == 'SET_DL_DST': + eq_(act_str_list[1], act["dl_dst"]) + elif act_type == 'SET_NW_SRC': + eq_(act_str_list[1], act["nw_src"]) + elif act_type == 'SET_NW_DST': + eq_(act_str_list[1], act["nw_dst"]) + elif act_type == 'SET_NW_TOS': + eq_(int(act_str_list[1]), act["nw_tos"]) + elif act_type == 'SET_TP_SRC': + eq_(int(act_str_list[1]), act["tp_src"]) + elif act_type == 'SET_TP_DST': + eq_(int(act_str_list[1]), act["tp_dst"]) + elif act_type == 'ENQUEUE': + enq = act_str_list[1].split(':') + eq_(int(enq[0], 10), act["port"]) + eq_(int(enq[1], 10), act["queue_id"]) + elif act_type == 'SET_MPLS_TTL': + eq_(int(act_str_list[1]), act["mpls_ttl"]) + elif act_type == 'PUSH_VLAN': + eq_(int(act_str_list[1]), act["ethertype"]) + elif act_type == 'PUSH_MPLS': + eq_(int(act_str_list[1]), act["ethertype"]) + elif act_type == 'POP_MPLS': + eq_(int(act_str_list[1]), act["ethertype"]) + elif act_type == 'SET_QUEUE': + eq_(int(act_str_list[1]), act["queue_id"]) + elif act_type == 'GROUP': + eq_(int(act_str_list[1]), act["group_id"]) + elif act_type == 'SET_NW_TTL': + eq_(int(act_str_list[1]), act["nw_ttl"]) + elif act_type == 'SET_FIELD': + field, value = act_str_list[1].split(':') + eq_(field.strip(' {'), act["field"]) + eq_(int(value.strip('} ')), act["value"]) + elif act_type == 'PUSH_PBB': + eq_(int(act_str_list[1]), act["ethertype"]) + elif act_type in ['STRIP_VLAN', 'COPY_TTL_OUT', + 'COPY_TTL_IN', 'DEC_MPLS_TTL', + 'POP_VLAN', 'DEC_NW_TTL', 'POP_PBB']: + pass + else: + assert False + + def _equal_str_to_match(self, key, value, match, test): + field_value = self._get_field_value(test, key, match) + + if key in ['eth_src', 'eth_dst', 'arp_sha', 'arp_tha']: + # MAC address + eth, mask = _to_match_eth(value) + if mask is not None: + # with mask + for i in range(0, len(mask)): + if mask[i] == 'f': + eq_(eth[i], field_value[0][i]) + eq_(mask, field_value[1]) + else: + # without mask + eq_(eth, field_value) + return + elif key in ['dl_src', 'dl_dst']: + eth, mask = _to_match_eth(value) + field_value = addrconv.mac.bin_to_text(field_value) + eq_(eth, field_value) + return + elif key in ['ipv4_src', 'ipv4_dst', 'arp_spa', 'arp_tpa']: + # IPv4 address + ipv4, mask = _to_match_ip(value) + if mask is not None: + # with mask + eq_(ipv4, field_value[0]) + eq_(mask, field_value[1]) + else: + # without mask + eq_(ipv4, field_value) + return + elif key in ['nw_src', 'nw_dst']: + # IPv4 address + ipv4, mask = _to_match_ip(value) + field_value = _to_match_ip(field_value) + if mask is not None: + # with mask + eq_(ipv4, field_value[0]) + eq_(mask, field_value[1]) + else: + # without mask + eq_(ipv4, field_value[0]) + return + elif key in ['ipv6_src', 'ipv6_dst']: + # IPv6 address + ipv6, mask = _to_match_ip(value) + if mask is not None: + # with mask + eq_(ipv6, field_value[0]) + eq_(mask, field_value[1]) + else: + # without mask + eq_(ipv6, field_value) + return + elif key == 'vlan_vid': + if test.ver == ofproto_v1_0.OFP_VERSION: + eq_(value, field_value) + else: + eq_(test.expected_value['vlan_vid'][ + value]['to_match'], field_value) + return + else: + if isinstance(value, str) and '/' in value: + # with mask + value, mask = _to_match_masked_int(value) + value &= mask + eq_(value, field_value[0]) + eq_(mask, field_value[1]) + else: + # without mask + eq_(_str_to_int(value), field_value) + return + + def _equal_match_to_str(self, key, value, match_str, test): + field_value = match_str[key] + if key in ['dl_src', 'dl_dst', 'arp_sha', 'arp_tha']: + # MAC address + eth, mask = _to_match_eth(value) + if mask is not None: + # with mask + field_value = field_value.split('/') + for i in range(0, len(mask)): + if mask[i] == 'f': + eq_(eth[i], field_value[0][i]) + eq_(mask, field_value[1]) + else: + # without mask + eq_(eth, field_value) + return + elif key in['nw_src', 'nw_dst', 'arp_spa', 'arp_tpa']: + # IPv4 address + if test.ver == ofproto_v1_0.OFP_VERSION: + ipv4, mask = _to_match_ip(value) + field_value = _to_match_ip(field_value) + if mask is not None: + # with mask + eq_(ipv4, field_value[0]) + eq_(mask, field_value[1]) + else: + # without mask + eq_(ipv4, field_value[0]) + else: + ipv4, mask = _to_match_ip(value) + if mask is not None: + # with mask + field_value = field_value.split('/') + eq_(ipv4, field_value[0]) + eq_(mask, field_value[1]) + else: + # without mask + eq_(ipv4, field_value) + return + elif key in ['ipv6_src', 'ipv6_dst']: + # IPv6 address + ipv6, mask = _to_match_ip(value) + if mask is not None: + # with mask + field_value = field_value.split('/') + eq_(ipv6, field_value[0]) + eq_(mask, field_value[1]) + else: + # without mask + eq_(ipv6, field_value) + return + elif key == 'dl_vlan': + if test.ver == ofproto_v1_0.OFP_VERSION: + eq_(value, field_value) + else: + eq_(test.expected_value['vlan_vid'][ + value]['to_str'], field_value) + return + else: + if isinstance(value, str) and '/' in value: + # with mask + value = _to_masked_int_str(value) + eq_(value, field_value) + else: + # without mask + eq_(_str_to_int(value), field_value) + return + + def _conv_key(self, test, key, attrs): + if test.ver != ofproto_v1_0.OFP_VERSION: + if key in conv_of10_to_of12_dict: + # For old field name + key = conv_of10_to_of12_dict[key] + elif key == 'tp_src' or key == 'tp_dst': + # TCP/UDP port + conv = {inet.IPPROTO_TCP: {'tp_src': 'tcp_src', + 'tp_dst': 'tcp_dst'}, + inet.IPPROTO_UDP: {'tp_src': 'udp_src', + 'tp_dst': 'udp_dst'}} + ip_proto = attrs.get('nw_proto', attrs.get('ip_proto', 0)) + key = conv[ip_proto][key] + + return key + + def _get_field_value(self, test, key, match): + if test.ver == ofproto_v1_0.OFP_VERSION: + members = inspect.getmembers(match) + for member in members: + if member[0] == key: + field_value = member[1] + elif member[0] == 'wildcards': + wildcards = member[1] + if key == 'nw_src': + field_value = test.nw_src_to_str(wildcards, field_value) + elif key == 'nw_dst': + field_value = test.nw_dst_to_str(wildcards, field_value) + else: + field_value = match[key] + + return field_value + + +class test_data_base(object): + # followings must be an attribute of subclass. + # _ofctl + # _ofproto + + def __init__(self): + self.ver = self._ofproto.OFP_VERSION + self.to_match = self._ofctl.to_match + self.match_to_str = self._ofctl.match_to_str + self.to_actions = self._ofctl.to_actions + self.actions_to_str = self._ofctl.actions_to_str + + +class test_data_v1_0(test_data_base): + """ Test_data for of_v1_0 """ + _ofctl = ofctl_v1_0 + _ofproto = ofproto_v1_0 + _parser = ofproto_v1_0_parser + + def __init__(self): + super(test_data_v1_0, self).__init__() + self.nw_src_to_str = self._ofctl.nw_src_to_str + self.nw_dst_to_str = self._ofctl.nw_dst_to_str + self.supported_action = {} + self.act_list = [ + {'type': 'OUTPUT', 'port': 3}, + {'type': 'SET_VLAN_VID', 'vlan_vid': 5}, + {'type': 'SET_VLAN_PCP', 'vlan_pcp': 3}, + {'type': 'STRIP_VLAN'}, + {'type': 'SET_DL_SRC', 'dl_src': 'aa:bb:cc:11:22:33'}, + {'type': 'SET_DL_DST', 'dl_dst': 'aa:bb:cc:11:22:33'}, + {'type': 'SET_NW_SRC', 'nw_src': '10.0.0.1'}, + {'type': 'SET_NW_DST', 'nw_dst': '10.0.0.1'}, + {'type': 'SET_NW_TOS', 'nw_tos': 184}, + {'type': 'SET_TP_SRC', 'tp_src': 8080}, + {'type': 'SET_TP_DST', 'tp_dst': 8080}, + {'type': 'ENQUEUE', 'queue_id': 3, 'port': 1} + ] + self.attr_list = [ + {'in_port': 7}, + {'dl_src': 'aa:bb:cc:11:22:33'}, + {'dl_dst': 'aa:bb:cc:11:22:33'}, + {'dl_vlan': 5}, + {'dl_vlan_pcp': 3}, + {'dl_type': 123}, + {'nw_tos': 16}, + {'nw_proto': 5}, + {'nw_src': '192.168.0.1'}, + {'nw_src': '192.168.0.1/24'}, + {'nw_dst': '192.168.0.1'}, + {'nw_dst': '192.168.0.1/24'}, + {'tp_src': 1}, + {'tp_dst': 2} + ] + self.set_action() + + def set_action(self): + self.supported_action.update( + { + 'OUTPUT': self._parser.OFPActionOutput, + 'SET_VLAN_VID': self._parser.OFPActionVlanVid, + 'SET_VLAN_PCP': self._parser.OFPActionVlanPcp, + 'STRIP_VLAN': self._parser.OFPActionStripVlan, + 'SET_DL_SRC': self._parser.OFPActionSetDlSrc, + 'SET_DL_DST': self._parser.OFPActionSetDlDst, + 'SET_NW_SRC': self._parser.OFPActionSetNwSrc, + 'SET_NW_DST': self._parser.OFPActionSetNwDst, + 'SET_NW_TOS': self._parser.OFPActionSetNwTos, + 'SET_TP_SRC': self._parser.OFPActionSetTpSrc, + 'SET_TP_DST': self._parser.OFPActionSetTpDst, + 'ENQUEUE': self._parser.OFPActionEnqueue + }) + + +class test_data_v1_2(test_data_base): + """ Test_data for of_v1_2 """ + _ofctl = ofctl_v1_2 + _ofproto = ofproto_v1_2 + _parser = ofproto_v1_2_parser + + def __init__(self): + super(test_data_v1_2, self).__init__() + self.supported_action = {} + self.act_list = [ + {'type': 'OUTPUT', 'port': 3}, + {'type': 'COPY_TTL_OUT'}, + {'type': 'COPY_TTL_IN'}, + {'type': 'SET_MPLS_TTL', 'mpls_ttl': 64}, + {'type': 'DEC_MPLS_TTL'}, + {'type': 'PUSH_VLAN', 'ethertype': 0x0800}, + {'type': 'POP_VLAN'}, + {'type': 'PUSH_MPLS', 'ethertype': 0x0800}, + {'type': 'POP_MPLS', 'ethertype': 0x0800}, + {'type': 'SET_QUEUE', 'queue_id': 7}, + {'type': 'GROUP', 'group_id': 5}, + {'type': 'SET_NW_TTL', 'nw_ttl': 64}, + {'type': 'DEC_NW_TTL'}, + {"type": "CLEAR_ACTIONS"}, + {"type": "WRITE_ACTIONS", + "actions": [{"type": "OUTPUT", "port": 4}]}, + {'type': 'GOTO_TABLE', 'table_id': 8}, + {'type': 'WRITE_METADATA', 'metadata': 8, + 'metadata_mask': (1 << 64) - 1}, + ] + self.attr_list = [ + {'in_port': 7}, + {'in_phy_port': 5, 'in_port': 3}, + {'metadata': 12345}, + {'metadata': '0x1212121212121212'}, + {'metadata': '0x19af28be37fa91b/0x1010101010101010'}, + {'dl_src': "aa:bb:cc:11:22:33"}, + {'dl_src': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff"}, + {'dl_dst': "aa:bb:cc:11:22:33"}, + {'dl_dst': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff"}, + {'dl_type': 123}, + {'eth_src': "aa:bb:cc:11:22:33"}, + {'eth_src': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff"}, + {'eth_dst': "aa:bb:cc:11:22:33"}, + {'eth_dst': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff"}, + {'eth_type': 0x800}, + {'dl_vlan': 0}, + {'dl_vlan': 3}, + {'dl_vlan': 4095}, + {'dl_vlan': "0"}, + {'dl_vlan': "3"}, + {'dl_vlan': "4095"}, + {'dl_vlan': "0x0000"}, + {'dl_vlan': "0x0003"}, + {'dl_vlan': "0x0fff"}, + {'dl_vlan': "0x1000"}, + {'dl_vlan': "0x1003"}, + {'dl_vlan': "0x1fff"}, + {'dl_vlan': "4096/4096"}, + {'dl_vlan': "4096/4097"}, + {'dl_vlan': "2744/2748"}, + {'dl_vlan': "2748/2748"}, + {'dl_vlan': "2748/2749"}, + {'dl_vlan': "0x1000/0x1000"}, + {'dl_vlan': "0x1000/0x1001"}, + {'dl_vlan': "0x0ab8/0x0abc"}, + {'dl_vlan': "0x0abc/0x0abc"}, + {'dl_vlan': "0x0abc/0x0abd"}, + {'vlan_pcp': 3, 'vlan_vid': 3}, + {'ip_dscp': 3, 'eth_type': 0x0800}, + {'ip_ecn': 4, 'eth_type': 0x86dd}, + {'nw_src': "192.168.0.1", 'eth_type': 0x0800}, + {'nw_src': "192.168.0.1/24", 'eth_type': 0x0800}, + {'nw_src': "192.168.10.10/255.255.0.0", 'eth_type': 0x0800}, + {'nw_dst': "192.168.0.1", 'eth_type': 0x0800}, + {'nw_dst': "192.168.0.1/24", 'eth_type': 0x0800}, + {'nw_dst': "192.168.10.10/255.255.255.0"}, + {'nw_proto': 5, 'eth_type': 0x0800}, + {'ip_proto': 5, 'eth_type': 0x86dd}, + {'ipv4_src': "192.168.0.1", 'eth_type': 0x0800}, + {'ipv4_src': "192.168.0.1/24", 'eth_type': 0x0800}, + {'ipv4_src': "192.168.10.10/255.255.0.0", 'eth_type': 0x0800}, + {'ipv4_dst': "192.168.0.1", 'eth_type': 0x0800}, + {'ipv4_dst': "192.168.0.1/24", 'eth_type': 0x0800}, + {'ipv4_dst': "192.168.10.10/255.255.255.0", 'eth_type': 0x0800}, + {'tp_src': 1, 'ip_proto': 6}, + {'tp_dst': 2, 'ip_proto': 6}, + {'tp_src': 3, 'ip_proto': 17}, + {'tp_dst': 4, 'ip_proto': 17}, + {'vlan_vid': 0}, + {'vlan_vid': 3}, + {'vlan_vid': 4095}, + {'vlan_vid': "0"}, + {'vlan_vid': "3"}, + {'vlan_vid': "4095"}, + {'vlan_vid': "0x0000"}, + {'vlan_vid': "0x0003"}, + {'vlan_vid': "0x0fff"}, + {'vlan_vid': "0x1000"}, + {'vlan_vid': "0x1003"}, + {'vlan_vid': "0x1fff"}, + {'vlan_vid': "4096/4096"}, + {'vlan_vid': "4096/4097"}, + {'vlan_vid': "2744/2748"}, + {'vlan_vid': "2748/2748"}, + {'vlan_vid': "2748/2749"}, + {'vlan_vid': "0x1000/0x1000"}, + {'vlan_vid': "0x1000/0x1001"}, + {'vlan_vid': "0x0ab8/0x0abc"}, + {'vlan_vid': "0x0abc/0x0abc"}, + {'vlan_vid': "0x0abc/0x0abd"}, + {'tcp_src': 3, 'ip_proto': 6}, + {'tcp_dst': 5, 'ip_proto': 6}, + {'udp_src': 2, 'ip_proto': 17}, + {'udp_dst': 6, 'ip_proto': 17}, + {'sctp_src': 99, 'ip_proto': 132}, + {'sctp_dst': 99, 'ip_proto': 132}, + {'icmpv4_type': 5, 'ip_proto': 1}, + {'icmpv4_code': 6, 'ip_proto': 1}, + {'arp_op': 3, 'eth_type': 0x0806}, + {'arp_spa': "192.168.0.11", 'eth_type': 0x0806}, + {'arp_spa': "192.168.0.22/24", 'eth_type': 0x0806}, + {'arp_tpa': "192.168.0.33", 'eth_type': 0x0806}, + {'arp_tpa': "192.168.0.44/24", 'eth_type': 0x0806}, + {'arp_sha': "aa:bb:cc:11:22:33", 'eth_type': 0x0806}, + {'arp_sha': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff", + 'eth_type': 0x0806}, + {'arp_tha': "aa:bb:cc:11:22:33", 'eth_type': 0x0806}, + {'arp_tha': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff", + 'eth_type': 0x0806}, + {'ipv6_src': '2001::aaaa:bbbb:cccc:1111', 'eth_type': 0x86dd}, + {'ipv6_src': '2001::aaaa:bbbb:cccc:1111/64', 'eth_type': 0x86dd}, + {'ipv6_dst': '2001::ffff:cccc:bbbb:1111', 'eth_type': 0x86dd}, + {'ipv6_dst': '2001::ffff:cccc:bbbb:1111/64', 'eth_type': 0x86dd}, + {'ipv6_flabel': 2, 'eth_type': 0x86dd}, + {'icmpv6_type': 3, 'ip_proto': 58}, + {'icmpv6_code': 4, 'ip_proto': 58}, + {'ipv6_nd_target': '2001::ffff:cccc:bbbb:1111', + 'icmpv6_type': 135, 'ip_proto': 58}, + {'ipv6_nd_sll': "aa:bb:cc:11:22:33", + 'icmpv6_type': 135, 'ip_proto': 58}, + {'ipv6_nd_tll': "aa:bb:cc:11:22:33", + 'icmpv6_type': 136, 'ip_proto': 58}, + {'mpls_label': 3, 'eth_type': 0x8848}, + {'mpls_tc': 2, 'eth_type': 0x8848} + ] + self.supported_action.update( + { + 'OUTPUT': self._parser.OFPActionOutput, + 'COPY_TTL_OUT': self._parser.OFPActionCopyTtlOut, + 'COPY_TTL_IN': self._parser.OFPActionCopyTtlIn, + 'SET_MPLS_TTL': self._parser.OFPActionSetMplsTtl, + 'DEC_MPLS_TTL': self._parser.OFPActionDecMplsTtl, + 'PUSH_VLAN': self._parser.OFPActionPushVlan, + 'POP_VLAN': self._parser.OFPActionPopVlan, + 'PUSH_MPLS': self._parser.OFPActionPushMpls, + 'POP_MPLS': self._parser.OFPActionPopMpls, + 'SET_QUEUE': self._parser.OFPActionSetQueue, + 'GROUP': self._parser.OFPActionGroup, + 'SET_NW_TTL': self._parser.OFPActionSetNwTtl, + 'DEC_NW_TTL': self._parser.OFPActionDecNwTtl, + 'SET_FIELD': self._parser.OFPActionSetField, + 'GOTO_TABLE': self._parser.OFPInstructionGotoTable, + 'WRITE_METADATA': self._parser.OFPInstructionWriteMetadata, + 'WRITE_ACTIONS': self._parser.OFPInstructionActions, + 'CLEAR_ACTIONS': self._parser.OFPInstructionActions, + }) + self.set_expected_value() + + def set_expected_value(self): + vid_present = self._ofproto.OFPVID_PRESENT + self.expected_value = { + "vlan_vid": { + 0: {"to_match": 0 | vid_present, "to_str": "0"}, + 3: {"to_match": 3 | vid_present, "to_str": "3"}, + 4095: {"to_match": 4095 | vid_present, "to_str": "4095"}, + "0": {"to_match": 0 | vid_present, "to_str": "0"}, + "3": {"to_match": 3 | vid_present, "to_str": "3"}, + "4095": {"to_match": 4095 | vid_present, "to_str": "4095"}, + "0x0000": {"to_match": 0x0000, "to_str": "0x0000"}, + "0x0003": {"to_match": 0x0003, "to_str": "0x0003"}, + "0x0fff": {"to_match": 0x0fff, "to_str": "0x0fff"}, + "0x1000": {"to_match": 0x1000, "to_str": "0"}, + "0x1003": {"to_match": 0x1003, "to_str": "3"}, + "0x1fff": {"to_match": 0x1fff, "to_str": "4095"}, + "4096/4096": {"to_match": (4096, 4096), + "to_str": "0x1000/0x1000"}, + "4096/4097": {"to_match": (4096, 4097), + "to_str": "0x1000/0x1001"}, + "2744/2748": {"to_match": (2744, 2748), + "to_str": "0x0ab8/0x0abc"}, + "2748/2748": {"to_match": (2748, 2748), + "to_str": "0x0abc/0x0abc"}, + "2748/2749": {"to_match": (2748, 2749), + "to_str": "0x0abc/0x0abd"}, + "0x1000/0x1000": {"to_match": (0x1000, 0x1000), + "to_str": "0x1000/0x1000"}, + "0x1000/0x1001": {"to_match": (0x1000, 0x1001), + "to_str": "0x1000/0x1001"}, + "0x0ab8/0x0abc": {"to_match": (0x0ab8, 0x0abc), + "to_str": "0x0ab8/0x0abc"}, + "0x0abc/0x0abc": {"to_match": (0x0abc, 0x0abc), + "to_str": "0x0abc/0x0abc"}, + "0x0abc/0x0abd": {"to_match": (0x0abc, 0x0abd), + "to_str": "0x0abc/0x0abd"} + } + } + + +class test_data_v1_3(test_data_v1_2): + """ Test_data for of_v1_3 """ + _ofctl = ofctl_v1_3 + _ofproto = ofproto_v1_3 + _parser = ofproto_v1_3_parser + + def __init__(self): + super(test_data_v1_3, self).__init__() + self.act_list.extend( + [ + {'type': 'PUSH_PBB', 'ethertype': 0x0800}, + {'type': 'POP_PBB'}, + {'type': 'METER', 'meter_id': 3}, + ] + ) + self.attr_list.extend( + [ + {'mpls_bos': 3, 'eth_type': 0x8848}, + {'pbb_isid': 5, 'eth_type': 0x88E7}, + {'pbb_isid': "0x05", 'eth_type': 0x88E7}, + {'pbb_isid': "0x05/0xff", 'eth_type': 0x88E7}, + {'tunnel_id': 7}, + {'tunnel_id': "0x07"}, + {'tunnel_id': "0x07/0xff"}, + {'ipv6_exthdr': 3, 'eth_type': 0x86dd}, + {'ipv6_exthdr': "0x40", 'eth_type': 0x86dd}, + {'ipv6_exthdr': "0x40/0x1F0", 'eth_type': 0x86dd}, + ] + ) + self.supported_action.update( + { + 'PUSH_PBB': self._parser.OFPActionPushPbb, + 'POP_PBB': self._parser.OFPActionPopPbb, + 'METER': self._parser.OFPInstructionMeter, + }) + self.set_expected_value() + + +def _add_tests_actions(cls): + for act in cls.act_list: + method_name = 'test_' + str(cls.ver) + '_' + act["type"] + '_action' + + def _run(self, name, act, cls): + print('processing %s ...' % name) + cls_ = Test_ofctl(name) + cls_._test_actions(act, cls) + print('adding %s ...' % method_name) + func = functools.partial(_run, name=method_name, act=act, cls=cls) + test_lib.add_method(Test_ofctl, method_name, func) + + +def _add_tests_match(cls): + for attr in cls.attr_list: + for key, value in attr.items(): + method_name = 'test_' + \ + str(cls.ver) + '_' + key + '_' + str( + value) + str(type(value)) + '_match' + + def _run(self, name, attr, cls): + print('processing %s ...' % name) + cls_ = Test_ofctl(name) + cls_._test_match(attr, cls) + print('adding %s ...' % method_name) + func = functools.partial( + _run, name=method_name, attr=attr, cls=cls) + test_lib.add_method(Test_ofctl, method_name, func) + + +""" Test case """ + +# for of10 +cls = test_data_v1_0() +_add_tests_actions(cls) +_add_tests_match(cls) + +# for of12 +cls = test_data_v1_2() +_add_tests_actions(cls) +_add_tests_match(cls) + +# for of13 +cls = test_data_v1_3() +_add_tests_actions(cls) +_add_tests_match(cls) diff --git a/tests/unit/lib/test_ofctl_string.py b/tests/unit/lib/test_ofctl_string.py new file mode 100644 index 00000000..fb491e39 --- /dev/null +++ b/tests/unit/lib/test_ofctl_string.py @@ -0,0 +1,151 @@ +# Copyright (C) 2017 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import unittest + +from ryu.lib import ofctl_string +from ryu.ofproto import ofproto_parser +from ryu.ofproto.ofproto_protocol import ProtocolDesc +from ryu.ofproto import ofproto_v1_5 + + +class Test_OfctlString(unittest.TestCase): + """Test cases for ryu.ofproto.ofp_instruction_from_str. + """ + + def __init__(self, methodName): + print('init %s' % methodName) + self.fake_dp_of15 = ProtocolDesc(ofproto_v1_5.OFP_VERSION) + self.maxDiff = None + super(Test_OfctlString, self).__init__(methodName) + + def _test_str(self, dp, ofctl_str, *jsondict): + json = ofctl_string.ofp_instruction_from_str( + ofproto_v1_5, ofctl_str) + inst = ofproto_parser.ofp_instruction_from_jsondict(dp, json) + self.assertEqual(len(inst), len(jsondict)) + for i in range(len(inst)): + self.assertEqual(jsondict[i], inst[i].to_jsondict()) + + def test_drop(self): + inst = ofctl_string.ofp_instruction_from_str( + ofproto_v1_5, 'drop') + self.assertEqual(inst, []) + + def test_conjunction(self): + self._test_str(self.fake_dp_of15, + 'conjunction(0x234, 1/3),conjunction(0xdea, 2/2)', + {'OFPInstructionActions': { + 'actions': [ + {'NXActionConjunction': {'clause': 0, + 'experimenter': 8992, + 'id': 0x234, + 'len': None, + 'n_clauses': 3, + 'subtype': 34, + 'type': 65535}}, + {'NXActionConjunction': {'clause': 1, + 'experimenter': 8992, + 'id': 0xdea, + 'len': None, + 'n_clauses': 2, + 'subtype': 34, + 'type': 65535}}], + 'type': 4}}) + + def test_ct(self): + self._test_str(self.fake_dp_of15, + 'ct(commit)', + {'OFPInstructionActions': { + 'actions': [{'NXActionCT': {'actions': [], + 'alg': 0, + 'experimenter': 8992, + 'flags': 1, + 'len': None, + 'recirc_table': 255, + 'subtype': 35, + 'type': 65535, + 'zone_ofs_nbits': 0, + 'zone_src': u''}}], + 'type': 4}}) + + def test_ct_2(self): + self._test_str(self.fake_dp_of15, + 'ct(commit,zone=NXM_NX_REG8[0..15],' + 'exec(set_field:1->ct_mark))', + {'OFPInstructionActions': { + 'actions': [{'NXActionCT': { + 'actions': [ + {'OFPActionSetField': { + 'field': {'OXMTlv': {'field': 'ct_mark', + 'mask': None, + 'value': 1}}, + 'len': 8, + 'type': 25}}], + 'alg': 0, + 'experimenter': 8992, + 'flags': 1, + 'len': None, + 'recirc_table': 255, + 'subtype': 35, + 'type': 65535, + 'zone_ofs_nbits': 15, + 'zone_src': u'reg8'}}], + 'type': 4}}) + + def test_resubmit(self): + self._test_str(self.fake_dp_of15, + 'resubmit(,10)', + {'OFPInstructionActions': + {'actions': [{'NXActionResubmitTable': { + 'experimenter': 8992, + 'in_port': 65528, + 'len': None, + 'subtype': 14, + 'table_id': 10, + 'type': 65535}}], + 'type': 4}}) + + def test_set_field(self): + self._test_str(self.fake_dp_of15, + 'set_field:10/0xff->tun_id', + {'OFPInstructionActions': + {'actions': [{'OFPActionSetField': { + 'field': {'OXMTlv': {'field': 'tunnel_id', + 'mask': 255, + 'value': 10}}, + 'len': 8, + 'type': 25}}], + 'type': 4}}) + + def test_pop_vlan(self): + self._test_str(self.fake_dp_of15, + 'pop_vlan', + {'OFPInstructionActions': + {'actions': [{'OFPActionPopVlan': {'len': 8, + 'type': 18}}], + 'type': 4}}) + + def test_multi(self): + self._test_str(self.fake_dp_of15, + 'pop_vlan,goto_table:33', + {'OFPInstructionActions': + {'actions': [{'OFPActionPopVlan': {'len': 8, + 'type': 18}}], + 'type': 4}}, + {'OFPInstructionGotoTable': + {'len': 8, + 'table_id': 33, + 'type': 1}}) diff --git a/tests/unit/lib/test_ofctl_utils.py b/tests/unit/lib/test_ofctl_utils.py new file mode 100644 index 00000000..2f02f43b --- /dev/null +++ b/tests/unit/lib/test_ofctl_utils.py @@ -0,0 +1,142 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging +import unittest + +from ryu.lib import ofctl_utils +from ryu.ofproto import ofproto_v1_3 + + +LOG = logging.getLogger(__name__) + + +class Test_ofctl_utils(unittest.TestCase): + # prepare test target + util = ofctl_utils.OFCtlUtil(ofproto_v1_3) + + def _test_str_to_int(self, input_value, expected_value): + output_value = ofctl_utils.str_to_int(input_value) + self.assertEqual(expected_value, output_value) + + def test_str_to_int(self): + self._test_str_to_int(1, 1) # int + self._test_str_to_int('0b10', 2) # binary digit + self._test_str_to_int('0o10', 8) # octal digit + self._test_str_to_int('0x10', 16) # hexadecimal digit + + def test_ofp_port_from_user(self): + self.assertEqual( + ofproto_v1_3.OFPP_CONTROLLER, + self.util.ofp_port_from_user(ofproto_v1_3.OFPP_CONTROLLER) # int + ) + self.assertEqual( + ofproto_v1_3.OFPP_CONTROLLER, + self.util.ofp_port_from_user('CONTROLLER') # str without prefix + ) + self.assertEqual( + ofproto_v1_3.OFPP_CONTROLLER, + self.util.ofp_port_from_user('OFPP_CONTROLLER') # str with prefix + ) + + def test_ofp_port_to_user(self): + self.assertEqual( + 'CONTROLLER', + self.util.ofp_port_to_user(ofproto_v1_3.OFPP_CONTROLLER) + ) + self.assertEqual( + 1, + self.util.ofp_port_to_user(1) # not matched + ) + + def test_ofp_table_from_user(self): + self.assertEqual( + ofproto_v1_3.OFPTT_ALL, + self.util.ofp_table_from_user('ALL') + ) + + def test_ofp_table_to_user(self): + self.assertEqual( + 'ALL', + self.util.ofp_table_to_user(ofproto_v1_3.OFPTT_ALL) + ) + + def test_ofp_cml_from_user(self): + self.assertEqual( + ofproto_v1_3.OFPCML_NO_BUFFER, + self.util.ofp_cml_from_user('NO_BUFFER') + ) + + def test_ofp_cml_to_user(self): + self.assertEqual( + 'NO_BUFFER', + self.util.ofp_cml_to_user(ofproto_v1_3.OFPCML_NO_BUFFER) + ) + + def test_ofp_group_from_user(self): + self.assertEqual( + ofproto_v1_3.OFPG_ANY, + self.util.ofp_group_from_user('ANY') + ) + + def test_ofp_group_to_user(self): + self.assertEqual( + 'ANY', + self.util.ofp_group_to_user(ofproto_v1_3.OFPG_ANY) + ) + + def test_ofp_buffer_from_user(self): + self.assertEqual( + ofproto_v1_3.OFP_NO_BUFFER, + self.util.ofp_buffer_from_user('NO_BUFFER') + ) + self.assertEqual( + 1, + self.util.ofp_buffer_from_user(1) # not matched + ) + + def test_ofp_buffer_to_user(self): + self.assertEqual( + 'NO_BUFFER', + self.util.ofp_buffer_to_user(ofproto_v1_3.OFP_NO_BUFFER) + ) + self.assertEqual( + 1, + self.util.ofp_buffer_to_user(1) # not matched + ) + + def test_ofp_meter_from_user(self): + self.assertEqual( + ofproto_v1_3.OFPM_ALL, + self.util.ofp_meter_from_user('ALL') + ) + + def test_ofp_meter_to_user(self): + self.assertEqual( + 'ALL', + self.util.ofp_meter_to_user(ofproto_v1_3.OFPM_ALL) + ) + + def test_ofp_queue_from_user(self): + self.assertEqual( + ofproto_v1_3.OFPQ_ALL, + self.util.ofp_queue_from_user('ALL') + ) + + def test_ofp_queue_to_user(self): + self.assertEqual( + 'ALL', + self.util.ofp_queue_to_user(ofproto_v1_3.OFPQ_ALL) + ) diff --git a/tests/unit/lib/test_ofctl_v1_3.py b/tests/unit/lib/test_ofctl_v1_3.py new file mode 100644 index 00000000..81cfacbf --- /dev/null +++ b/tests/unit/lib/test_ofctl_v1_3.py @@ -0,0 +1,54 @@ +# Copyright (C) 2013 Stratosphere Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +import unittest +import logging +from nose.tools import * + +from ryu.lib import ofctl_v1_3 +from ryu.ofproto import ofproto_v1_3, ofproto_v1_3_parser +from ryu.ofproto import ofproto_protocol +from ryu.ofproto.ofproto_v1_3_parser import OFPActionPopMpls + +LOG = logging.getLogger('test_ofctl_v1_3') + + +class Test_ofctl_v1_3(unittest.TestCase): + + """ Test case for ofctl_v1_3 + """ + + def setUp(self): + pass + + def tearDown(self): + pass + + def test_to_actions_pop_mpls(self): + dp = ofproto_protocol.ProtocolDesc(version=ofproto_v1_3.OFP_VERSION) + + acts = [ + { + 'type': 'POP_MPLS', + 'ethertype': 0x0800 + } + ] + result = ofctl_v1_3.to_actions(dp, acts) + insts = result[0] + act = insts.actions[0] + ok_(isinstance(act, OFPActionPopMpls)) + eq_(act.ethertype, 0x0800) diff --git a/tests/unit/lib/test_ofp_pktinfilter.py b/tests/unit/lib/test_ofp_pktinfilter.py new file mode 100644 index 00000000..2c037737 --- /dev/null +++ b/tests/unit/lib/test_ofp_pktinfilter.py @@ -0,0 +1,92 @@ +# Copyright (C) 2013 Stratosphere Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +import unittest +import logging +import six + +from nose.tools import * + +from ryu.controller import ofp_event +from ryu.controller.handler import ( + set_ev_cls, + MAIN_DISPATCHER, +) +from ryu.lib.packet import vlan, ethernet, ipv4 +from ryu.lib.ofp_pktinfilter import packet_in_filter, RequiredTypeFilter +from ryu.lib import mac +from ryu.ofproto import ether, ofproto_v1_3, ofproto_v1_3_parser +from ryu.ofproto.ofproto_protocol import ProtocolDesc + + +LOG = logging.getLogger('test_pktinfilter') + + +class _PacketInFilterApp(object): + @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER) + @packet_in_filter(RequiredTypeFilter, {'types': [ + vlan.vlan, + ]}) + def packet_in_handler(self, ev): + return True + + +class Test_packet_in_filter(unittest.TestCase): + + """ Test case for pktinfilter + """ + + def setUp(self): + self.app = _PacketInFilterApp() + + def tearDown(self): + pass + + def test_pkt_in_filter_pass(self): + datapath = ProtocolDesc(version=ofproto_v1_3.OFP_VERSION) + e = ethernet.ethernet(mac.BROADCAST_STR, + mac.BROADCAST_STR, + ether.ETH_TYPE_8021Q) + v = vlan.vlan() + i = ipv4.ipv4() + pkt = (e / v / i) + pkt.serialize() + pkt_in = ofproto_v1_3_parser.OFPPacketIn(datapath, + data=six.binary_type(pkt.data)) + ev = ofp_event.EventOFPPacketIn(pkt_in) + ok_(self.app.packet_in_handler(ev)) + + def test_pkt_in_filter_discard(self): + datapath = ProtocolDesc(version=ofproto_v1_3.OFP_VERSION) + e = ethernet.ethernet(mac.BROADCAST_STR, + mac.BROADCAST_STR, + ether.ETH_TYPE_IP) + i = ipv4.ipv4() + pkt = (e / i) + pkt.serialize() + pkt_in = ofproto_v1_3_parser.OFPPacketIn(datapath, + data=six.binary_type(pkt.data)) + ev = ofp_event.EventOFPPacketIn(pkt_in) + ok_(not self.app.packet_in_handler(ev)) + + def test_pkt_in_filter_truncated(self): + datapath = ProtocolDesc(version=ofproto_v1_3.OFP_VERSION) + truncated_data = '' + pkt_in = ofproto_v1_3_parser.OFPPacketIn(datapath, + data=truncated_data) + ev = ofp_event.EventOFPPacketIn(pkt_in) + ok_(not self.app.packet_in_handler(ev)) diff --git a/tests/unit/lib/test_pack_utils.py b/tests/unit/lib/test_pack_utils.py new file mode 100644 index 00000000..5bc99513 --- /dev/null +++ b/tests/unit/lib/test_pack_utils.py @@ -0,0 +1,59 @@ +# Copyright (C) 2012 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import unittest +import six +import struct + +from nose.tools import ok_, eq_ + +from ryu.lib import pack_utils + + +class TestMsgPackInto(unittest.TestCase): + """ Test case for msg_pack_into + """ + + def _test_msg_pack_into(self, offset_type='e'): + fmt = '!HH' + len_ = struct.calcsize(fmt) + buf = bytearray(len_) + offset = len_ + arg1 = 1 + arg2 = 2 + + if offset_type == 'l': + offset += 1 + elif offset_type == 'g': + offset -= 1 + + pack_utils.msg_pack_into(fmt, buf, offset, arg1, arg2) + + check_offset = len(buf) - len_ + res = struct.unpack_from(fmt, six.binary_type(buf), check_offset) + + eq_(arg1, res[0]) + eq_(arg2, res[1]) + + return True + + def test_msg_pack_into(self): + ok_(self._test_msg_pack_into()) + + def test_msg_pack_into_less(self): + ok_(self._test_msg_pack_into('l')) + + def test_msg_pack_into_greater(self): + ok_(self._test_msg_pack_into('g')) diff --git a/tests/unit/lib/test_pcaplib.py b/tests/unit/lib/test_pcaplib.py new file mode 100644 index 00000000..ac86904e --- /dev/null +++ b/tests/unit/lib/test_pcaplib.py @@ -0,0 +1,230 @@ +# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function + +import logging +import os +import struct +import sys +import unittest + +try: + import mock # Python 2 +except ImportError: + from unittest import mock # Python 3 + +from nose.tools import eq_ +from nose.tools import raises + +from ryu.utils import binary_str +from ryu.lib import pcaplib + +LOG = logging.getLogger(__name__) + +PCAP_PACKET_DATA_DIR = os.path.join( + os.path.dirname(sys.modules[__name__].__file__), + '../../packet_data/pcap/') + + +class Test_PcapFileHdr(unittest.TestCase): + """ + Test case for pcaplib.PcapFileHdr class + """ + hdr = pcaplib.PcapFileHdr( + magic=None, # temporary default + version_major=2, + version_minor=4, + thiszone=0x11223344, + sigfigs=0x22334455, + snaplen=0x33445566, + network=0x44556677, + ) + + buf_big = ( + b'\xa1\xb2\xc3\xd4' # magic (Big Endian) + b'\x00\x02\x00\x04' # version_major, version_minor + b'\x11\x22\x33\x44' # thiszone + b'\x22\x33\x44\x55' # sigfigs + b'\x33\x44\x55\x66' # snaplen + b'\x44\x55\x66\x77' # network + ) + + buf_little = ( + b'\xd4\xc3\xb2\xa1' # magic (Little Endian) + b'\x02\x00\x04\x00' # version_major, version_minor + b'\x44\x33\x22\x11' # thiszone + b'\x55\x44\x33\x22' # sigfigs + b'\x66\x55\x44\x33' # snaplen + b'\x77\x66\x55\x44' # network + ) + + buf_invalid = ( + b'\xff\xff\xff\xff' # magic (Invalid) + b'\x02\x00\x04\x00' # version_major, version_minor + b'\x44\x33\x22\x11' # thiszone + b'\x55\x44\x33\x22' # sigfigs + b'\x66\x55\x44\x33' # snaplen + b'\x77\x66\x55\x44' # network + ) + + def _assert(self, magic, ret): + self.hdr.magic = magic + eq_(self.hdr.__dict__, ret.__dict__) + + def test_parser_with_big_endian(self): + ret, byteorder = pcaplib.PcapFileHdr.parser(self.buf_big) + self._assert(pcaplib.PcapFileHdr.MAGIC_NUMBER_IDENTICAL, ret) + eq_('big', byteorder) + + def test_parser_with_little_endian(self): + ret, byteorder = pcaplib.PcapFileHdr.parser(self.buf_little) + self._assert(pcaplib.PcapFileHdr.MAGIC_NUMBER_SWAPPED, ret) + eq_('little', byteorder) + + @mock.patch('sys.byteorder', 'big') + def test_serialize_with_big_endian(self): + buf = self.hdr.serialize() + eq_(binary_str(self.buf_big), binary_str(buf)) + + @mock.patch('sys.byteorder', 'little') + def test_serialize_with_little_endian(self): + buf = self.hdr.serialize() + eq_(binary_str(self.buf_little), binary_str(buf)) + + @raises(struct.error) + def test_parser_with_invalid_magic_number(self): + pcaplib.PcapFileHdr.parser(self.buf_invalid) + + +class Test_PcapPktHdr(unittest.TestCase): + """ + Test case for pcaplib.PcapPktHdr class + """ + expected_buf = b'test_data' + + hdr = pcaplib.PcapPktHdr( + ts_sec=0x11223344, + ts_usec=0x22334455, + incl_len=len(expected_buf), + orig_len=0x44556677, + ) + + buf_big = ( + b'\x11\x22\x33\x44' # ts_sec + b'\x22\x33\x44\x55' # ts_usec + b'\x00\x00\x00\x09' # incl_len = len(expected_buf) + b'\x44\x55\x66\x77' # orig_len + ) + + buf_little = ( + b'\x44\x33\x22\x11' # ts_sec + b'\x55\x44\x33\x22' # ts_usec + b'\x09\x00\x00\x00' # incl_len = len(expected_buf) + b'\x77\x66\x55\x44' # orig_len + ) + + def test_parser_with_big_endian(self): + ret, buf = pcaplib.PcapPktHdr.parser( + self.buf_big + self.expected_buf, 'big') + eq_(self.hdr.__dict__, ret.__dict__) + eq_(self.expected_buf, buf) + + def test_parser_with_little_endian(self): + ret, buf = pcaplib.PcapPktHdr.parser( + self.buf_little + self.expected_buf, 'little') + eq_(self.hdr.__dict__, ret.__dict__) + eq_(self.expected_buf, buf) + + @mock.patch('sys.byteorder', 'big') + def test_serialize_with_big_endian(self): + buf = self.hdr.serialize() + eq_(binary_str(self.buf_big), binary_str(buf)) + + @mock.patch('sys.byteorder', 'little') + def test_serialize_with_little_endian(self): + buf = self.hdr.serialize() + eq_(binary_str(self.buf_little), binary_str(buf)) + + +class Test_pcaplib_Reader(unittest.TestCase): + """ + Test case for pcaplib.Reader class + """ + + expected_outputs = [ + (0x1234 + (0x5678 / 1e6), b'test_data_1'), # sec=0x1234, usec=0x5678 + (0x2345 + (0x6789 / 1e6), b'test_data_2'), # sec=0x2345, usec=0x6789 + ] + + def _test(self, file_name): + outputs = [] + for ts, buf in pcaplib.Reader(open(file_name, 'rb')): + outputs.append((ts, buf)) + + eq_(self.expected_outputs, outputs) + + def test_with_big_endian(self): + self._test(os.path.join(PCAP_PACKET_DATA_DIR, 'big_endian.pcap')) + + def test_with_little_endian(self): + self._test(os.path.join(PCAP_PACKET_DATA_DIR, 'little_endian.pcap')) + + +class DummyFile(object): + + def __init__(self): + self.buf = b'' + + def write(self, buf): + self.buf += buf + + def close(self): + pass + + +class Test_pcaplib_Writer(unittest.TestCase): + """ + Test case for pcaplib.Writer class + """ + + @staticmethod + def _test(file_name): + expected_buf = open(file_name, 'rb').read() + f = DummyFile() + w = pcaplib.Writer(f) + w.write_pkt(b'test_data_1', ts=(0x1234 + (0x5678 / 1e6))) + w.write_pkt(b'test_data_2', ts=(0x2345 + (0x6789 / 1e6))) + eq_(expected_buf, f.buf) + + @mock.patch('sys.byteorder', 'big') + def test_with_big_endian(self): + self._test(os.path.join(PCAP_PACKET_DATA_DIR, 'big_endian.pcap')) + + @mock.patch('sys.byteorder', 'little') + def test_with_little_endian(self): + self._test(os.path.join(PCAP_PACKET_DATA_DIR, 'little_endian.pcap')) + + @staticmethod + @mock.patch.object(pcaplib.Writer, '_write_pcap_file_hdr', mock.MagicMock) + @mock.patch.object(pcaplib.Writer, '_write_pkt_hdr', mock.MagicMock) + def test_with_longer_buf(): + f = DummyFile() + snaplen = 4 + w = pcaplib.Writer(f, snaplen=snaplen) + w.write_pkt(b'hogehoge', ts=0) + expected_buf = b'hoge' # b'hogehoge'[:snaplen] + eq_(expected_buf, f.buf) + eq_(snaplen, len(f.buf)) diff --git a/tests/unit/lib/test_rpc.py b/tests/unit/lib/test_rpc.py new file mode 100644 index 00000000..2df123ee --- /dev/null +++ b/tests/unit/lib/test_rpc.py @@ -0,0 +1,360 @@ +# Copyright (C) 2013-2015 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013-2015 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import numbers +import socket +import struct +import unittest + +from nose.tools import raises +import six + +from ryu.lib import hub +from ryu.lib import rpc + + +class MyException(BaseException): + pass + + +class Test_rpc(unittest.TestCase): + """ Test case for ryu.lib.rpc + """ + + def _handle_request(self, m): + e = self._server_endpoint + msgid, method, params = m + if method == 'resp': + e.send_response(msgid, result=params[0]) + elif method == 'err': + e.send_response(msgid, error=params[0]) + elif method == 'callback': + n, cb, v = params + assert n > 0 + self._requests.add(e.send_request(cb, [msgid, n, cb, v])) + elif method == 'notify1': + e.send_notification(params[1], params[2]) + e.send_response(msgid, result=params[0]) + elif method == 'shutdown': + how = getattr(socket, params[0]) + self._server_sock.shutdown(how) + e.send_response(msgid, result=method) + else: + raise Exception("unknown method %s" % method) + + def _handle_notification(self, m): + e = self._server_endpoint + method, params = m + if method == 'notify2': + e.send_notification(params[0], params[1]) + + def _handle_response(self, m): + e = self._server_endpoint + msgid, error, result = m + assert error is None + self._requests.remove(msgid) + omsgid, n, cb, v = result + assert n >= 0 + if n == 0: + e.send_response(omsgid, result=v) + else: + self._requests.add(e.send_request(cb, [omsgid, n, cb, v])) + + def setUp(self): + self._server_sock, self._client_sock = socket.socketpair() + table = { + rpc.MessageType.REQUEST: self._handle_request, + rpc.MessageType.RESPONSE: self._handle_response, + rpc.MessageType.NOTIFY: self._handle_notification + } + self._requests = set() + self._server_sock.setblocking(0) + self._server_endpoint = rpc.EndPoint(self._server_sock, + disp_table=table) + self._server_thread = hub.spawn(self._server_endpoint.serve) + + def tearDown(self): + hub.kill(self._server_thread) + hub.joinall([self._server_thread]) + + def test_0_call_str(self): + c = rpc.Client(self._client_sock) + obj = 'hoge' + result = c.call('resp', [obj]) + assert result == obj + assert isinstance(result, str) + + def test_0_call_int(self): + c = rpc.Client(self._client_sock) + obj = 12345 + assert isinstance(obj, int) + result = c.call('resp', [obj]) + assert result == obj + assert isinstance(result, numbers.Integral) + + def test_0_call_int2(self): + c = rpc.Client(self._client_sock) + obj = six.MAXSIZE + assert isinstance(obj, int) + result = c.call('resp', [obj]) + assert result == obj + assert isinstance(result, numbers.Integral) + + def test_0_call_int3(self): + c = rpc.Client(self._client_sock) + obj = - six.MAXSIZE - 1 + assert isinstance(obj, int) + result = c.call('resp', [obj]) + assert result == obj + assert isinstance(result, numbers.Integral) + + def test_0_call_long(self): + c = rpc.Client(self._client_sock) + obj = 0xffffffffffffffff # max value for msgpack + assert isinstance(obj, numbers.Integral) + result = c.call('resp', [obj]) + assert result == obj + assert isinstance(result, numbers.Integral) + + def test_0_call_long2(self): + c = rpc.Client(self._client_sock) + # Note: the python type of this value is int for 64-bit arch + obj = -0x8000000000000000 # min value for msgpack + assert isinstance(obj, numbers.Integral) + result = c.call('resp', [obj]) + assert result == obj + assert isinstance(result, numbers.Integral) + + @raises(TypeError) + def test_0_call_bytearray(self): + c = rpc.Client(self._client_sock) + obj = bytearray(b'foo') + result = c.call('resp', [obj]) + assert result == obj + assert isinstance(result, str) + + def test_1_shutdown_wr(self): + # test if the server shutdown on disconnect + self._client_sock.shutdown(socket.SHUT_WR) + hub.joinall([self._server_thread]) + + @raises(EOFError) + def test_1_client_shutdown_wr(self): + c = rpc.Client(self._client_sock) + c.call('shutdown', ['SHUT_WR']) + + def test_1_call_True(self): + c = rpc.Client(self._client_sock) + obj = True + assert c.call('resp', [obj]) == obj + + def test_2_call_None(self): + c = rpc.Client(self._client_sock) + obj = None + assert c.call('resp', [obj]) is None + + def test_2_call_False(self): + c = rpc.Client(self._client_sock) + obj = False + assert c.call('resp', [obj]) == obj + + def test_2_call_dict(self): + c = rpc.Client(self._client_sock) + obj = {'hoge': 1, 'fuga': 2} + assert c.call('resp', [obj]) == obj + + def test_2_call_empty_dict(self): + c = rpc.Client(self._client_sock) + obj = {} + assert c.call('resp', [obj]) == obj + + def test_2_call_array(self): + c = rpc.Client(self._client_sock) + obj = [1, 2, 3, 4] + assert c.call('resp', [obj]) == obj + + def test_2_call_empty_array(self): + c = rpc.Client(self._client_sock) + obj = [] + assert c.call('resp', [obj]) == obj + + def test_2_call_tuple(self): + c = rpc.Client(self._client_sock) + # Note: msgpack library implicitly convert a tuple into a list + obj = (1, 2, 3) + assert c.call('resp', [obj]) == list(obj) + + def test_2_call_unicode(self): + c = rpc.Client(self._client_sock) + # Note: We use encoding='utf-8' option in msgpack.Packer/Unpacker + # in order to support Python 3. + # With this option, utf-8 encoded bytes will be decoded into unicode + # type in Python 2 and str type in Python 3. + obj = u"hoge" + result = c.call('resp', [obj]) + assert result == obj + assert isinstance(result, six.text_type) + + def test_2_call_small_binary(self): + c = rpc.Client(self._client_sock) + obj = struct.pack("100x") + result = c.call('resp', [obj]) + assert result == obj + assert isinstance(result, six.binary_type) + + def test_3_call_complex(self): + c = rpc.Client(self._client_sock) + obj = [1, 'hoge', {'foo': 1, 3: 'bar'}] + assert c.call('resp', [obj]) == obj + + @unittest.skip("doesn't work with eventlet 0.18 and later") + def test_4_call_large_binary(self): + c = rpc.Client(self._client_sock) + obj = struct.pack("10000000x") + result = c.call('resp', [obj]) + assert result == obj + assert isinstance(result, six.binary_type) + + def test_0_notification1(self): + l = [] + + def callback(n): + l.append(n) + c = rpc.Client(self._client_sock, notification_callback=callback) + obj = 'hogehoge' + robj = 'fugafuga' + assert c.call('notify1', [robj, 'notify_hoge', [obj]]) == robj + c.receive_notification() + assert len(l) == 1 + n = l.pop(0) + assert n is not None + method, params = n + assert method == 'notify_hoge' + assert params[0] == obj + + def test_0_notification2(self): + l = [] + + def callback(n): + l.append(n) + c = rpc.Client(self._client_sock, notification_callback=callback) + obj = 'hogehogehoge' + c.send_notification('notify2', ['notify_hoge', [obj]]) + c.receive_notification() + assert len(l) == 1 + n = l.pop(0) + assert n is not None + method, params = n + assert method == 'notify_hoge' + assert params[0] == obj + + def test_0_call_error(self): + c = rpc.Client(self._client_sock) + obj = 'hoge' + try: + c.call('err', [obj]) + raise Exception("unexpected") + except rpc.RPCError as e: + assert e.get_value() == obj + + def test_0_call_error_notification(self): + l = [] + + def callback(n): + l.append(n) + c = rpc.Client(self._client_sock, notification_callback=callback) + c.send_notification('notify2', ['notify_foo', []]) + hub.sleep(0.5) # give the peer a chance to run + obj = 'hoge' + try: + c.call('err', [obj]) + raise Exception("unexpected") + except rpc.RPCError as e: + assert e.get_value() == obj + assert len(l) == 1 + n = l.pop(0) + method, params = n + assert method == 'notify_foo' + assert params == [] + + def test_4_async_call(self): + """send a bunch of requests and then wait for responses + """ + num_calls = 9999 + old_blocking = self._client_sock.setblocking(0) + try: + e = rpc.EndPoint(self._client_sock) + s = set() + for i in range(1, num_calls + 1): + s.add(e.send_request('resp', [i])) + sum = 0 + while s: + e.block() + e.process() + done = set() + for x in s: + r = e.get_response(x) + if r is None: + continue + res, error = r + assert error is None + sum += res + done.add(x) + assert done.issubset(s) + s -= done + assert sum == (1 + num_calls) * num_calls / 2 + finally: + self._client_sock.setblocking(old_blocking) + + def test_4_async_call2(self): + """both sides act as rpc client and server + """ + assert not self._requests + num_calls = 100 + old_blocking = self._client_sock.setblocking(0) + try: + e = rpc.EndPoint(self._client_sock) + s = set() + for i in range(1, num_calls + 1): + s.add(e.send_request('callback', [i, 'ourcallback', 0])) + sum = 0 + while s: + e.block() + e.process() + done = set() + for x in s: + r = e.get_response(x) + if r is None: + continue + res, error = r + assert error is None + sum += res + done.add(x) + assert done.issubset(s) + s -= done + r = e.get_request() + if r is not None: + msgid, method, params = r + assert method == 'ourcallback' + omsgid, n, cb, v = params + assert omsgid in s + assert cb == 'ourcallback' + assert n > 0 + e.send_response(msgid, result=[omsgid, n - 1, cb, v + 1]) + assert sum == (1 + num_calls) * num_calls / 2 + finally: + self._client_sock.setblocking(old_blocking) + assert not self._requests diff --git a/tests/unit/lib/test_stringify.py b/tests/unit/lib/test_stringify.py new file mode 100644 index 00000000..46fb21f0 --- /dev/null +++ b/tests/unit/lib/test_stringify.py @@ -0,0 +1,75 @@ +# Copyright (C) 2013-2015 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013-2015 YAMAMOTO Takashi <yamamoto at valinux co jp> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function + +import base64 +import six +import unittest +from nose.tools import eq_ + +from ryu.lib import stringify + + +class C1(stringify.StringifyMixin): + def __init__(self, a, c): + print("init %s %s" % (a, c)) + self.a = a + self._b = 'B' + self.c = c + + +class Test_stringify(unittest.TestCase): + """ Test case for ryu.lib.stringify + """ + + def setUp(self): + pass + + def tearDown(self): + pass + + def test_jsondict(self): + if six.PY3: + def b64encode(s): + return base64.b64encode(s).decode('ascii') + else: + b64encode = base64.b64encode + j = {'C1': {'a': 'QUFB', 'c': 'Q0ND'}} + eq_(j['C1']['a'], b64encode(b'AAA')) + eq_(j['C1']['c'], b64encode(b'CCC')) + c = C1(a=b'AAA', c=b'CCC') + c2 = C1.from_jsondict(j['C1']) + eq_(c.__class__, c2.__class__) + eq_(c.__dict__, c2.__dict__) + eq_(j, c.to_jsondict()) + + def test_jsondict2(self): + + def my_encode(x): + return x.lower() + + def my_decode(x): + return x.upper() + + j = {'C1': {'a': 'aaa', 'c': 'ccc'}} + eq_(j['C1']['a'], my_encode('AAA')) + eq_(j['C1']['c'], my_encode('CCC')) + c = C1(a='AAA', c='CCC') + c2 = C1.from_jsondict(j['C1'], decode_string=my_decode) + eq_(c.__class__, c2.__class__) + eq_(c.__dict__, c2.__dict__) + eq_(j, c.to_jsondict(encode_string=my_encode)) |