ONOS-7251 ONOS-7264 Support for clone to CPU action in fabric.p4
Clone to CPU is available only for packets processed via multicast
groups. Can be changed in the future when implementation for clone
session APIs is available in PI and P4 targets.
Also:
- compile "fabric-full" profile and generate constants from it
- use interpreter to map logical ports to data plane port IDs
Change-Id: I7db30c08dcf69ed9c870748cce8a797bbd5d6f78
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
new file mode 100644
index 0000000..4aaf7bb
--- /dev/null
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
@@ -0,0 +1,1244 @@
+tables {
+ preamble {
+ id: 33618733
+ name: "FabricIngress.spgw_ingress.ue_filter_table"
+ alias: "ue_filter_table"
+ }
+ match_fields {
+ id: 1
+ name: "ipv4.dst_addr"
+ bitwidth: 32
+ match_type: LPM
+ }
+ action_refs {
+ id: 16800567
+ }
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33615906
+ name: "FabricIngress.spgw_ingress.s1u_filter_table"
+ alias: "s1u_filter_table"
+ }
+ match_fields {
+ id: 1
+ name: "spgw_meta.s1u_sgw_addr"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16800567
+ }
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33582731
+ name: "FabricIngress.spgw_ingress.dl_sess_lookup"
+ alias: "dl_sess_lookup"
+ }
+ match_fields {
+ id: 1
+ name: "ipv4.dst_addr"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16804065
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33611263
+ name: "FabricIngress.spgw_ingress.ue_cdr_table"
+ alias: "ue_cdr_table"
+ }
+ match_fields {
+ id: 1
+ name: "ipv4.dst_addr"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16818129
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318781522
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33611649
+ name: "FabricIngress.filtering.ingress_port_vlan"
+ alias: "ingress_port_vlan"
+ }
+ match_fields {
+ id: 1
+ name: "standard_metadata.ingress_port"
+ bitwidth: 9
+ match_type: EXACT
+ }
+ match_fields {
+ id: 2
+ name: "hdr.vlan_tag.is_valid"
+ bitwidth: 1
+ match_type: EXACT
+ }
+ match_fields {
+ id: 3
+ name: "hdr.vlan_tag.vlan_id"
+ bitwidth: 12
+ match_type: TERNARY
+ }
+ action_refs {
+ id: 16835546
+ }
+ action_refs {
+ id: 16793253
+ }
+ action_refs {
+ id: 16819938
+ annotations: "@defaultonly()"
+ }
+ action_refs {
+ id: 16798734
+ }
+ const_default_action_id: 16819938
+ direct_resource_ids: 318815501
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33596298
+ name: "FabricIngress.filtering.fwd_classifier"
+ alias: "fwd_classifier"
+ }
+ match_fields {
+ id: 1
+ name: "standard_metadata.ingress_port"
+ bitwidth: 9
+ match_type: EXACT
+ }
+ match_fields {
+ id: 2
+ name: "hdr.ethernet.dst_addr"
+ bitwidth: 48
+ match_type: EXACT
+ }
+ match_fields {
+ id: 3
+ name: "fabric_metadata.original_ether_type"
+ bitwidth: 16
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16840921
+ }
+ const_default_action_id: 16840921
+ direct_resource_ids: 318827326
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33596749
+ name: "FabricIngress.forwarding.bridging"
+ alias: "bridging"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.vlan_tag.vlan_id"
+ bitwidth: 12
+ match_type: EXACT
+ }
+ match_fields {
+ id: 2
+ name: "hdr.ethernet.dst_addr"
+ bitwidth: 48
+ match_type: TERNARY
+ }
+ action_refs {
+ id: 16811012
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318770289
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33574274
+ name: "FabricIngress.forwarding.mpls"
+ alias: "mpls"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.mpls.label"
+ bitwidth: 20
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16827758
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318830507
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33586372
+ name: "FabricIngress.forwarding.unicast_v4"
+ alias: "unicast_v4"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.ipv4.dst_addr"
+ bitwidth: 32
+ match_type: LPM
+ }
+ action_refs {
+ id: 16828976
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318768492
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33574876
+ name: "FabricIngress.forwarding.acl"
+ alias: "acl"
+ }
+ match_fields {
+ id: 1
+ name: "standard_metadata.ingress_port"
+ bitwidth: 9
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 2
+ name: "fabric_metadata.ip_proto"
+ bitwidth: 8
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 3
+ name: "fabric_metadata.l4_src_port"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 4
+ name: "fabric_metadata.l4_dst_port"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 5
+ name: "fabric_metadata.original_ether_type"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 6
+ name: "hdr.ethernet.dst_addr"
+ bitwidth: 48
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 7
+ name: "hdr.ethernet.src_addr"
+ bitwidth: 48
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 8
+ name: "hdr.vlan_tag.vlan_id"
+ bitwidth: 12
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 9
+ name: "hdr.ipv4.src_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 10
+ name: "hdr.ipv4.dst_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 11
+ name: "hdr.icmp.icmp_type"
+ bitwidth: 8
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 12
+ name: "hdr.icmp.icmp_code"
+ bitwidth: 8
+ match_type: TERNARY
+ }
+ action_refs {
+ id: 16785374
+ }
+ action_refs {
+ id: 16801806
+ }
+ action_refs {
+ id: 16784835
+ }
+ action_refs {
+ id: 16833260
+ }
+ action_refs {
+ id: 16819938
+ annotations: "@defaultonly()"
+ }
+ const_default_action_id: 16819938
+ direct_resource_ids: 318772272
+ size: 256
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33578363
+ name: "FabricIngress.forwarding.multicast_v4"
+ alias: "multicast_v4"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.vlan_tag.vlan_id"
+ bitwidth: 12
+ match_type: EXACT
+ }
+ match_fields {
+ id: 2
+ name: "hdr.ipv4.dst_addr"
+ bitwidth: 32
+ match_type: LPM
+ }
+ action_refs {
+ id: 16809157
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318797896
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33568751
+ name: "FabricIngress.forwarding.unicast_v6"
+ alias: "unicast_v6"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.ipv6.dst_addr"
+ bitwidth: 128
+ match_type: LPM
+ }
+ action_refs {
+ id: 16823773
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318820865
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33581295
+ name: "FabricIngress.forwarding.multicast_v6"
+ alias: "multicast_v6"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.vlan_tag.vlan_id"
+ bitwidth: 12
+ match_type: EXACT
+ }
+ match_fields {
+ id: 2
+ name: "hdr.ipv6.dst_addr"
+ bitwidth: 128
+ match_type: LPM
+ }
+ action_refs {
+ id: 16819612
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318815310
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33562709
+ name: "FabricIngress.next.vlan_meta"
+ alias: "vlan_meta"
+ }
+ match_fields {
+ id: 1
+ name: "fabric_metadata.next_id"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16790685
+ }
+ action_refs {
+ id: 16819938
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318785328
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33571723
+ name: "FabricIngress.next.simple"
+ alias: "simple"
+ }
+ match_fields {
+ id: 1
+ name: "fabric_metadata.next_id"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16802668
+ }
+ action_refs {
+ id: 16808391
+ }
+ action_refs {
+ id: 16780007
+ }
+ action_refs {
+ id: 16806134
+ }
+ action_refs {
+ id: 16795970
+ }
+ action_refs {
+ id: 16791579
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318769096
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33608588
+ name: "FabricIngress.next.hashed"
+ alias: "hashed"
+ }
+ match_fields {
+ id: 1
+ name: "fabric_metadata.next_id"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16800211
+ }
+ action_refs {
+ id: 16779239
+ }
+ action_refs {
+ id: 16819349
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ implementation_id: 285233747
+ direct_resource_ids: 318800532
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33606828
+ name: "FabricIngress.next.multicast"
+ alias: "multicast"
+ }
+ match_fields {
+ id: 1
+ name: "fabric_metadata.next_id"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16789575
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318801752
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33599342
+ name: "FabricEgress.egress_next.egress_vlan"
+ alias: "egress_vlan"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.vlan_tag.vlan_id"
+ bitwidth: 12
+ match_type: EXACT
+ }
+ match_fields {
+ id: 2
+ name: "standard_metadata.egress_port"
+ bitwidth: 9
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16790030
+ }
+ action_refs {
+ id: 16819938
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318827144
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+actions {
+ preamble {
+ id: 16800567
+ name: "NoAction"
+ alias: "NoAction"
+ }
+}
+actions {
+ preamble {
+ id: 16819938
+ name: "nop"
+ alias: "nop"
+ }
+}
+actions {
+ preamble {
+ id: 16823970
+ name: "drop_now"
+ alias: "drop_now"
+ }
+}
+actions {
+ preamble {
+ id: 16819909
+ name: "FabricIngress.spgw_ingress.gtpu_decap"
+ alias: "gtpu_decap"
+ }
+}
+actions {
+ preamble {
+ id: 16804065
+ name: "FabricIngress.spgw_ingress.set_dl_sess_info"
+ alias: "set_dl_sess_info"
+ }
+ params {
+ id: 1
+ name: "teid"
+ bitwidth: 32
+ }
+ params {
+ id: 2
+ name: "s1u_enb_addr"
+ bitwidth: 32
+ }
+ params {
+ id: 3
+ name: "s1u_sgw_addr"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16818129
+ name: "FabricIngress.spgw_ingress.update_ue_cdr"
+ alias: "update_ue_cdr"
+ }
+}
+actions {
+ preamble {
+ id: 16798734
+ name: "FabricIngress.filtering.drop"
+ alias: "filtering.drop"
+ }
+}
+actions {
+ preamble {
+ id: 16793253
+ name: "FabricIngress.filtering.set_vlan"
+ alias: "filtering.set_vlan"
+ }
+ params {
+ id: 1
+ name: "new_vlan_id"
+ bitwidth: 12
+ }
+}
+actions {
+ preamble {
+ id: 16835546
+ name: "FabricIngress.filtering.push_internal_vlan"
+ alias: "push_internal_vlan"
+ }
+ params {
+ id: 1
+ name: "new_vlan_id"
+ bitwidth: 12
+ }
+}
+actions {
+ preamble {
+ id: 16840921
+ name: "FabricIngress.filtering.set_forwarding_type"
+ alias: "set_forwarding_type"
+ }
+ params {
+ id: 1
+ name: "fwd_type"
+ bitwidth: 3
+ }
+}
+actions {
+ preamble {
+ id: 16811012
+ name: "FabricIngress.forwarding.set_next_id_bridging"
+ alias: "set_next_id_bridging"
+ }
+ params {
+ id: 1
+ name: "next_id"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16827758
+ name: "FabricIngress.forwarding.pop_mpls_and_next"
+ alias: "pop_mpls_and_next"
+ }
+ params {
+ id: 1
+ name: "next_id"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16828976
+ name: "FabricIngress.forwarding.set_next_id_unicast_v4"
+ alias: "set_next_id_unicast_v4"
+ }
+ params {
+ id: 1
+ name: "next_id"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16785374
+ name: "FabricIngress.forwarding.set_next_id_acl"
+ alias: "set_next_id_acl"
+ }
+ params {
+ id: 1
+ name: "next_id"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16801806
+ name: "FabricIngress.forwarding.punt_to_cpu"
+ alias: "punt_to_cpu"
+ }
+}
+actions {
+ preamble {
+ id: 16784835
+ name: "FabricIngress.forwarding.clone_to_cpu"
+ alias: "clone_to_cpu"
+ }
+}
+actions {
+ preamble {
+ id: 16833260
+ name: "FabricIngress.forwarding.drop"
+ alias: "forwarding.drop"
+ }
+}
+actions {
+ preamble {
+ id: 16809157
+ name: "FabricIngress.forwarding.set_next_id_multicast_v4"
+ alias: "set_next_id_multicast_v4"
+ }
+ params {
+ id: 1
+ name: "next_id"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16823773
+ name: "FabricIngress.forwarding.set_next_id_unicast_v6"
+ alias: "set_next_id_unicast_v6"
+ }
+ params {
+ id: 1
+ name: "next_id"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16819612
+ name: "FabricIngress.forwarding.set_next_id_multicast_v6"
+ alias: "set_next_id_multicast_v6"
+ }
+ params {
+ id: 1
+ name: "next_id"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16790685
+ name: "FabricIngress.next.set_vlan"
+ alias: "next.set_vlan"
+ }
+ params {
+ id: 1
+ name: "new_vlan_id"
+ bitwidth: 12
+ }
+}
+actions {
+ preamble {
+ id: 16802668
+ name: "FabricIngress.next.output_simple"
+ alias: "output_simple"
+ }
+ params {
+ id: 1
+ name: "port_num"
+ bitwidth: 9
+ }
+}
+actions {
+ preamble {
+ id: 16808391
+ name: "FabricIngress.next.set_vlan_output"
+ alias: "set_vlan_output"
+ }
+ params {
+ id: 1
+ name: "new_vlan_id"
+ bitwidth: 12
+ }
+ params {
+ id: 2
+ name: "port_num"
+ bitwidth: 9
+ }
+}
+actions {
+ preamble {
+ id: 16780007
+ name: "FabricIngress.next.l3_routing_simple"
+ alias: "l3_routing_simple"
+ }
+ params {
+ id: 1
+ name: "port_num"
+ bitwidth: 9
+ }
+ params {
+ id: 2
+ name: "smac"
+ bitwidth: 48
+ }
+ params {
+ id: 3
+ name: "dmac"
+ bitwidth: 48
+ }
+}
+actions {
+ preamble {
+ id: 16806134
+ name: "FabricIngress.next.mpls_routing_v4_simple"
+ alias: "mpls_routing_v4_simple"
+ }
+ params {
+ id: 1
+ name: "port_num"
+ bitwidth: 9
+ }
+ params {
+ id: 2
+ name: "smac"
+ bitwidth: 48
+ }
+ params {
+ id: 3
+ name: "dmac"
+ bitwidth: 48
+ }
+ params {
+ id: 4
+ name: "label"
+ bitwidth: 20
+ }
+}
+actions {
+ preamble {
+ id: 16795970
+ name: "FabricIngress.next.mpls_routing_v6_simple"
+ alias: "mpls_routing_v6_simple"
+ }
+ params {
+ id: 1
+ name: "port_num"
+ bitwidth: 9
+ }
+ params {
+ id: 2
+ name: "smac"
+ bitwidth: 48
+ }
+ params {
+ id: 3
+ name: "dmac"
+ bitwidth: 48
+ }
+ params {
+ id: 4
+ name: "label"
+ bitwidth: 20
+ }
+}
+actions {
+ preamble {
+ id: 16791579
+ name: "FabricIngress.next.l3_routing_vlan"
+ alias: "l3_routing_vlan"
+ }
+ params {
+ id: 1
+ name: "port_num"
+ bitwidth: 9
+ }
+ params {
+ id: 2
+ name: "smac"
+ bitwidth: 48
+ }
+ params {
+ id: 3
+ name: "dmac"
+ bitwidth: 48
+ }
+ params {
+ id: 4
+ name: "new_vlan_id"
+ bitwidth: 12
+ }
+}
+actions {
+ preamble {
+ id: 16800211
+ name: "FabricIngress.next.l3_routing_hashed"
+ alias: "l3_routing_hashed"
+ }
+ params {
+ id: 1
+ name: "port_num"
+ bitwidth: 9
+ }
+ params {
+ id: 2
+ name: "smac"
+ bitwidth: 48
+ }
+ params {
+ id: 3
+ name: "dmac"
+ bitwidth: 48
+ }
+}
+actions {
+ preamble {
+ id: 16779239
+ name: "FabricIngress.next.mpls_routing_v4_hashed"
+ alias: "mpls_routing_v4_hashed"
+ }
+ params {
+ id: 1
+ name: "port_num"
+ bitwidth: 9
+ }
+ params {
+ id: 2
+ name: "smac"
+ bitwidth: 48
+ }
+ params {
+ id: 3
+ name: "dmac"
+ bitwidth: 48
+ }
+ params {
+ id: 4
+ name: "label"
+ bitwidth: 20
+ }
+}
+actions {
+ preamble {
+ id: 16819349
+ name: "FabricIngress.next.mpls_routing_v6_hashed"
+ alias: "mpls_routing_v6_hashed"
+ }
+ params {
+ id: 1
+ name: "port_num"
+ bitwidth: 9
+ }
+ params {
+ id: 2
+ name: "smac"
+ bitwidth: 48
+ }
+ params {
+ id: 3
+ name: "dmac"
+ bitwidth: 48
+ }
+ params {
+ id: 4
+ name: "label"
+ bitwidth: 20
+ }
+}
+actions {
+ preamble {
+ id: 16789575
+ name: "FabricIngress.next.set_mcast_group"
+ alias: "set_mcast_group"
+ }
+ params {
+ id: 1
+ name: "gid"
+ bitwidth: 16
+ }
+}
+actions {
+ preamble {
+ id: 16829135
+ name: "FabricEgress.spgw_egress.gtpu_encap"
+ alias: "gtpu_encap"
+ }
+}
+actions {
+ preamble {
+ id: 16801047
+ name: "FabricEgress.pkt_io_egress.pop_vlan"
+ alias: "pkt_io_egress.pop_vlan"
+ }
+}
+actions {
+ preamble {
+ id: 16790030
+ name: "FabricEgress.egress_next.pop_vlan"
+ alias: "egress_next.pop_vlan"
+ }
+}
+action_profiles {
+ preamble {
+ id: 285233747
+ name: "FabricIngress.next.ecmp_selector"
+ alias: "ecmp_selector"
+ }
+ table_ids: 33608588
+ with_selector: true
+ size: 64
+}
+counters {
+ preamble {
+ id: 302011205
+ name: "FabricIngress.port_counters_control.egress_port_counter"
+ alias: "egress_port_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ size: 511
+}
+counters {
+ preamble {
+ id: 302002771
+ name: "FabricIngress.port_counters_control.ingress_port_counter"
+ alias: "ingress_port_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ size: 511
+}
+direct_counters {
+ preamble {
+ id: 318781522
+ name: "FabricIngress.spgw_ingress.ue_counter"
+ alias: "ue_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33611263
+}
+direct_counters {
+ preamble {
+ id: 318815501
+ name: "FabricIngress.filtering.ingress_port_vlan_counter"
+ alias: "ingress_port_vlan_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33611649
+}
+direct_counters {
+ preamble {
+ id: 318827326
+ name: "FabricIngress.filtering.fwd_classifier_counter"
+ alias: "fwd_classifier_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33596298
+}
+direct_counters {
+ preamble {
+ id: 318770289
+ name: "FabricIngress.forwarding.bridging_counter"
+ alias: "bridging_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33596749
+}
+direct_counters {
+ preamble {
+ id: 318830507
+ name: "FabricIngress.forwarding.mpls_counter"
+ alias: "mpls_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33574274
+}
+direct_counters {
+ preamble {
+ id: 318768492
+ name: "FabricIngress.forwarding.unicast_v4_counter"
+ alias: "unicast_v4_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33586372
+}
+direct_counters {
+ preamble {
+ id: 318772272
+ name: "FabricIngress.forwarding.acl_counter"
+ alias: "acl_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33574876
+}
+direct_counters {
+ preamble {
+ id: 318797896
+ name: "FabricIngress.forwarding.multicast_v4_counter"
+ alias: "multicast_v4_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33578363
+}
+direct_counters {
+ preamble {
+ id: 318820865
+ name: "FabricIngress.forwarding.unicast_v6_counter"
+ alias: "unicast_v6_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33568751
+}
+direct_counters {
+ preamble {
+ id: 318815310
+ name: "FabricIngress.forwarding.multicast_v6_counter"
+ alias: "multicast_v6_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33581295
+}
+direct_counters {
+ preamble {
+ id: 318785328
+ name: "FabricIngress.next.vlan_meta_counter"
+ alias: "vlan_meta_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33562709
+}
+direct_counters {
+ preamble {
+ id: 318769096
+ name: "FabricIngress.next.simple_counter"
+ alias: "simple_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33571723
+}
+direct_counters {
+ preamble {
+ id: 318800532
+ name: "FabricIngress.next.hashed_counter"
+ alias: "hashed_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33608588
+}
+direct_counters {
+ preamble {
+ id: 318801752
+ name: "FabricIngress.next.multicast_counter"
+ alias: "multicast_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33606828
+}
+direct_counters {
+ preamble {
+ id: 318827144
+ name: "FabricEgress.egress_next.egress_vlan_counter"
+ alias: "egress_vlan_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33599342
+}
+controller_packet_metadata {
+ preamble {
+ id: 67146229
+ name: "packet_in"
+ annotations: "@controller_header(\"packet_in\")"
+ }
+ metadata {
+ id: 1
+ name: "ingress_port"
+ bitwidth: 9
+ }
+ metadata {
+ id: 2
+ name: "_pad"
+ bitwidth: 7
+ }
+}
+controller_packet_metadata {
+ preamble {
+ id: 67121543
+ name: "packet_out"
+ annotations: "@controller_header(\"packet_out\")"
+ }
+ metadata {
+ id: 1
+ name: "egress_port"
+ bitwidth: 9
+ }
+ metadata {
+ id: 2
+ name: "_pad"
+ bitwidth: 7
+ }
+}
+type_info {
+}