OFパケットをデコードして遊んでみた③
table_features全体をデコードするようにしてみました。 巨大ですね…。これはヒドい。
iex(7)> :timer.tc fn -> do_decode table_features end {755, {:ok, [version: 4, type: :multipart_request, xid: 0, body: [flags: [:more], body: [[table_id: 0, name: "Flow Table 0x00", matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>, metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>, max_entries: 16777216, properties: [[instructions: {:instruction_ids, [goto_table: 131076, write_actions: 262148, clear_actions: 393220]}], [next_tables: {:next_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, ...]}], [write_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [apply_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [match: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, :icmpv6_type, :icmpv6_code, :ipv6_nd_target, ...]}], [wildcards: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, :icmpv6_type, :icmpv6_code, ...]}], [write_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, :icmpv6_type, ...]}], [apply_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, ...]}], [experimenter: [experimenter: 101, exp_type: 0, data: ""]], [experimenter: [experimenter: 101, exp_type: 1, data: <<0, 0, 0, 1>>]], [experimenter: [experimenter: 101, exp_type: 2, data: <<0, 0, 0, 1, 0, 0, 0, 2>>]]]], [table_id: 1, name: "Flow Table 0x01", matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>, metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>, max_entries: 16777216, properties: [[instructions: {:instruction_ids, [goto_table: 131076, write_actions: 262148, clear_actions: 393220]}], [next_tables: {:next_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, ...]}], [write_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [apply_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [match: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, :icmpv6_type, :icmpv6_code, ...]}], [wildcards: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, :icmpv6_type, ...]}], [write_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, ...]}], [apply_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, ...]}]]], [table_id: 2, name: "Flow Table 0x02", matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>, metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>, max_entries: 16777216, properties: [[instructions: {:instruction_ids, [goto_table: 131076, write_actions: 262148, clear_actions: 393220]}], [next_tables: {:next_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, ...]}], [write_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [apply_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [match: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, :icmpv6_type, ...]}], [wildcards: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, ...]}], [write_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, ...]}], [apply_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, ...]}]]], [table_id: 3, name: "Flow Table 0x03", matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>, metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>, max_entries: 16777216, properties: [[instructions: {:instruction_ids, [goto_table: 131076, write_actions: 262148, clear_actions: 393220]}], [next_tables: {:next_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, ...]}], [write_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [apply_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [match: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, :ipv6_flabel, ...]}], [wildcards: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, ...]}], [write_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, ...]}], [apply_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, ...]}]]], [table_id: 4, name: "Flow Table 0x04", matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>, metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>, max_entries: 16777216, properties: [[instructions: {:instruction_ids, [goto_table: 131076, write_actions: 262148, clear_actions: 393220]}], [next_tables: {:next_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, ...]}], [write_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [apply_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [match: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, :ipv6_dst, ...]}], [wildcards: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, ...]}], [write_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, ...]}], [apply_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, ...]}]]], [table_id: 5, name: "Flow Table 0x05", matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>, metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>, max_entries: 16777216, properties: [[instructions: {:instruction_ids, [goto_table: 131076, write_actions: 262148, clear_actions: 393220]}], [next_tables: {:next_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, ...]}], [write_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [apply_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [match: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, :ipv6_src, ...]}], [wildcards: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, ...]}], [write_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, ...]}], [apply_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, ...]}]]], [table_id: 6, name: "Flow Table 0x06", matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>, metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>, max_entries: 16777216, properties: [[instructions: {:instruction_ids, [goto_table: 131076, write_actions: 262148, clear_actions: 393220]}], [next_tables: {:next_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, ...]}], [write_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [apply_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [match: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, :arp_tha, ...]}], [wildcards: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, ...]}], [write_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, ...]}], [apply_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, ...]}]]], [table_id: 7, name: "Flow Table 0x07", matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>, metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>, max_entries: 16777216, properties: [[instructions: {:instruction_ids, [goto_table: 131076, write_actions: 262148, clear_actions: 393220]}], [next_tables: {:next_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, ...]}], [write_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [apply_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [match: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, :arp_sha, ...]}], [wildcards: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, ...]}], [write_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, ...]}], [apply_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, ...]}]]], [table_id: 8, name: "Flow Table 0x08", matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>, metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>, max_entries: 16777216, properties: [[instructions: {:instruction_ids, [goto_table: 131076, write_actions: 262148, clear_actions: 393220]}], [next_tables: {:next_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, ...]}], [write_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [apply_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [match: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, ...]}], [wildcards: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, ...]}], [write_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, ...]}], [apply_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, ...]}]]], [table_id: 9, name: "Flow Table 0x09", matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>, metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>, max_entries: 16777216, properties: [[instructions: {:instruction_ids, [goto_table: 131076, write_actions: 262148, clear_actions: 393220]}], [next_tables: {:next_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, ...]}], [write_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [apply_actions: {:action_ids, [:output, :group, :set_queue, :set_mpls_ttl, :dec_mpls_ttl, :set_nw_ttl, :dec_nw_ttl, :copy_ttl_out, :copy_ttl_in, :push_vlan, :pop_vlan, :push_mpls, :pop_mpls, :push_pbb, :pop_pbb, :set_field]}], [match: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, :arp_tpa, ...]}], [wildcards: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, :arp_spa, ...]}], [write_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, ...]}], [apply_setfield: {:oxm_ids, [:in_port, :metadata, :eth_dst, :eth_src, :eth_type, :vlan_vid, :vlan_pcp, :ip_dscp, :ip_ecn, :ip_proto, :ipv4_src, :ipv4_dst, :tcp_src, :tcp_dst, :udp_src, :udp_dst, :sctp_src, :sctp_dst, :icmpv4_type, :icmpv4_code, :arp_op, ...]}]]]]]], ""}}