Integrating INT into fabric pipeline
Change-Id: I9555de0852de79d1a3c7302ecaa17ff112fc5107
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
index 42a17dc..0f0948b 100644
--- 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
@@ -81,6 +81,52 @@
}
tables {
preamble {
+ id: 33581620
+ name: "FabricIngress.process_set_source_sink.tb_set_source"
+ alias: "tb_set_source"
+ }
+ match_fields {
+ id: 1
+ name: "standard_metadata.ingress_port"
+ bitwidth: 9
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16778827
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318787614
+ size: 256
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33561619
+ name: "FabricIngress.process_set_source_sink.tb_set_sink"
+ alias: "tb_set_sink"
+ }
+ match_fields {
+ id: 1
+ name: "standard_metadata.egress_spec"
+ bitwidth: 9
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16788951
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318770551
+ size: 256
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
id: 33611649
name: "FabricIngress.filtering.ingress_port_vlan"
alias: "ingress_port_vlan"
@@ -524,6 +570,216 @@
}
tables {
preamble {
+ id: 33566961
+ name: "FabricEgress.process_int_source.tb_int_source"
+ alias: "tb_int_source"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.ipv4.src_addr"
+ bitwidth: 32
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 2
+ name: "hdr.ipv4.dst_addr"
+ bitwidth: 32
+ 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
+ }
+ action_refs {
+ id: 16807851
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318776637
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33602084
+ name: "FabricEgress.process_int_transit.tb_int_insert"
+ alias: "tb_int_insert"
+ }
+ action_refs {
+ id: 16806530
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318794595
+ size: 2
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33561642
+ name: "FabricEgress.process_int_transit.tb_int_inst_0003"
+ alias: "tb_int_inst_0003"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.int_header.instruction_mask_0003"
+ bitwidth: 4
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16788439
+ }
+ action_refs {
+ id: 16792702
+ }
+ action_refs {
+ id: 16834796
+ }
+ action_refs {
+ id: 16815381
+ }
+ action_refs {
+ id: 16824457
+ }
+ action_refs {
+ id: 16796364
+ }
+ action_refs {
+ id: 16806322
+ }
+ action_refs {
+ id: 16819063
+ }
+ action_refs {
+ id: 16828306
+ }
+ action_refs {
+ id: 16799786
+ }
+ action_refs {
+ id: 16796975
+ }
+ action_refs {
+ id: 16801652
+ }
+ action_refs {
+ id: 16778440
+ }
+ action_refs {
+ id: 16790887
+ }
+ action_refs {
+ id: 16783849
+ }
+ action_refs {
+ id: 16837726
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318777781
+ size: 16
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33571998
+ name: "FabricEgress.process_int_transit.tb_int_inst_0407"
+ alias: "tb_int_inst_0407"
+ }
+ match_fields {
+ id: 1
+ name: "hdr.int_header.instruction_mask_0407"
+ bitwidth: 4
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16839298
+ }
+ action_refs {
+ id: 16837018
+ }
+ action_refs {
+ id: 16827414
+ }
+ action_refs {
+ id: 16786021
+ }
+ action_refs {
+ id: 16785131
+ }
+ action_refs {
+ id: 16808652
+ }
+ action_refs {
+ id: 16799296
+ }
+ action_refs {
+ id: 16780668
+ }
+ action_refs {
+ id: 16805625
+ }
+ action_refs {
+ id: 16778495
+ }
+ action_refs {
+ id: 16784981
+ }
+ action_refs {
+ id: 16806353
+ }
+ action_refs {
+ id: 16802140
+ }
+ action_refs {
+ id: 16827601
+ }
+ action_refs {
+ id: 16820295
+ }
+ action_refs {
+ id: 16810955
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ direct_resource_ids: 318818305
+ size: 16
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
+ id: 33607792
+ name: "FabricEgress.process_int_report.tb_generate_report"
+ alias: "tb_generate_report"
+ }
+ action_refs {
+ id: 16814383
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly()"
+ }
+ size: 1024
+ idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+ preamble {
id: 33599342
name: "FabricEgress.egress_next.egress_vlan"
alias: "egress_vlan"
@@ -610,6 +866,20 @@
}
actions {
preamble {
+ id: 16778827
+ name: "FabricIngress.process_set_source_sink.int_set_source"
+ alias: "int_set_source"
+ }
+}
+actions {
+ preamble {
+ id: 16788951
+ name: "FabricIngress.process_set_source_sink.int_set_sink"
+ alias: "int_set_sink"
+ }
+}
+actions {
+ preamble {
id: 16798734
name: "FabricIngress.filtering.drop"
alias: "filtering.drop"
@@ -997,6 +1267,343 @@
}
actions {
preamble {
+ id: 16807851
+ name: "FabricEgress.process_int_source.int_source_dscp"
+ alias: "int_source_dscp"
+ }
+ params {
+ id: 1
+ name: "max_hop"
+ bitwidth: 8
+ }
+ params {
+ id: 2
+ name: "ins_cnt"
+ bitwidth: 5
+ }
+ params {
+ id: 3
+ name: "ins_mask0003"
+ bitwidth: 4
+ }
+ params {
+ id: 4
+ name: "ins_mask0407"
+ bitwidth: 4
+ }
+}
+actions {
+ preamble {
+ id: 16806280
+ name: "FabricEgress.process_int_transit.int_update_total_hop_cnt"
+ alias: "int_update_total_hop_cnt"
+ }
+}
+actions {
+ preamble {
+ id: 16806530
+ name: "FabricEgress.process_int_transit.int_transit"
+ alias: "int_transit"
+ }
+ params {
+ id: 1
+ name: "switch_id"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16788439
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i0"
+ alias: "int_set_header_0003_i0"
+ }
+}
+actions {
+ preamble {
+ id: 16792702
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i1"
+ alias: "int_set_header_0003_i1"
+ }
+}
+actions {
+ preamble {
+ id: 16834796
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i2"
+ alias: "int_set_header_0003_i2"
+ }
+}
+actions {
+ preamble {
+ id: 16815381
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i3"
+ alias: "int_set_header_0003_i3"
+ }
+}
+actions {
+ preamble {
+ id: 16824457
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i4"
+ alias: "int_set_header_0003_i4"
+ }
+}
+actions {
+ preamble {
+ id: 16796364
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i5"
+ alias: "int_set_header_0003_i5"
+ }
+}
+actions {
+ preamble {
+ id: 16806322
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i6"
+ alias: "int_set_header_0003_i6"
+ }
+}
+actions {
+ preamble {
+ id: 16819063
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i7"
+ alias: "int_set_header_0003_i7"
+ }
+}
+actions {
+ preamble {
+ id: 16828306
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i8"
+ alias: "int_set_header_0003_i8"
+ }
+}
+actions {
+ preamble {
+ id: 16799786
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i9"
+ alias: "int_set_header_0003_i9"
+ }
+}
+actions {
+ preamble {
+ id: 16796975
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i10"
+ alias: "int_set_header_0003_i10"
+ }
+}
+actions {
+ preamble {
+ id: 16801652
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i11"
+ alias: "int_set_header_0003_i11"
+ }
+}
+actions {
+ preamble {
+ id: 16778440
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i12"
+ alias: "int_set_header_0003_i12"
+ }
+}
+actions {
+ preamble {
+ id: 16790887
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i13"
+ alias: "int_set_header_0003_i13"
+ }
+}
+actions {
+ preamble {
+ id: 16783849
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i14"
+ alias: "int_set_header_0003_i14"
+ }
+}
+actions {
+ preamble {
+ id: 16837726
+ name: "FabricEgress.process_int_transit.int_set_header_0003_i15"
+ alias: "int_set_header_0003_i15"
+ }
+}
+actions {
+ preamble {
+ id: 16839298
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i0"
+ alias: "int_set_header_0407_i0"
+ }
+}
+actions {
+ preamble {
+ id: 16837018
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i1"
+ alias: "int_set_header_0407_i1"
+ }
+}
+actions {
+ preamble {
+ id: 16827414
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i2"
+ alias: "int_set_header_0407_i2"
+ }
+}
+actions {
+ preamble {
+ id: 16786021
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i3"
+ alias: "int_set_header_0407_i3"
+ }
+}
+actions {
+ preamble {
+ id: 16785131
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i4"
+ alias: "int_set_header_0407_i4"
+ }
+}
+actions {
+ preamble {
+ id: 16808652
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i5"
+ alias: "int_set_header_0407_i5"
+ }
+}
+actions {
+ preamble {
+ id: 16799296
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i6"
+ alias: "int_set_header_0407_i6"
+ }
+}
+actions {
+ preamble {
+ id: 16780668
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i7"
+ alias: "int_set_header_0407_i7"
+ }
+}
+actions {
+ preamble {
+ id: 16805625
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i8"
+ alias: "int_set_header_0407_i8"
+ }
+}
+actions {
+ preamble {
+ id: 16778495
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i9"
+ alias: "int_set_header_0407_i9"
+ }
+}
+actions {
+ preamble {
+ id: 16784981
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i10"
+ alias: "int_set_header_0407_i10"
+ }
+}
+actions {
+ preamble {
+ id: 16806353
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i11"
+ alias: "int_set_header_0407_i11"
+ }
+}
+actions {
+ preamble {
+ id: 16802140
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i12"
+ alias: "int_set_header_0407_i12"
+ }
+}
+actions {
+ preamble {
+ id: 16827601
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i13"
+ alias: "int_set_header_0407_i13"
+ }
+}
+actions {
+ preamble {
+ id: 16820295
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i14"
+ alias: "int_set_header_0407_i14"
+ }
+}
+actions {
+ preamble {
+ id: 16810955
+ name: "FabricEgress.process_int_transit.int_set_header_0407_i15"
+ alias: "int_set_header_0407_i15"
+ }
+}
+actions {
+ preamble {
+ id: 16816602
+ name: "FabricEgress.process_int_outer_encap.int_update_ipv4"
+ alias: "int_update_ipv4"
+ }
+}
+actions {
+ preamble {
+ id: 16829666
+ name: "FabricEgress.process_int_outer_encap.int_update_udp"
+ alias: "int_update_udp"
+ }
+}
+actions {
+ preamble {
+ id: 16826978
+ name: "FabricEgress.process_int_outer_encap.int_update_shim"
+ alias: "int_update_shim"
+ }
+}
+actions {
+ preamble {
+ id: 16814383
+ name: "FabricEgress.process_int_report.do_report_encapsulation"
+ alias: "do_report_encapsulation"
+ }
+ params {
+ id: 1
+ name: "src_mac"
+ bitwidth: 48
+ }
+ params {
+ id: 2
+ name: "mon_mac"
+ bitwidth: 48
+ }
+ params {
+ id: 3
+ name: "src_ip"
+ bitwidth: 32
+ }
+ params {
+ id: 4
+ name: "mon_ip"
+ bitwidth: 32
+ }
+ params {
+ id: 5
+ name: "mon_port"
+ bitwidth: 16
+ }
+}
+actions {
+ preamble {
+ id: 16810741
+ name: "FabricEgress.process_int_sink.restore_header"
+ alias: "restore_header"
+ }
+}
+actions {
+ preamble {
+ id: 16787662
+ name: "FabricEgress.process_int_sink.int_sink"
+ alias: "int_sink"
+ }
+}
+actions {
+ preamble {
id: 16801047
name: "FabricEgress.pkt_io_egress.pop_vlan"
alias: "pkt_io_egress.pop_vlan"
@@ -1054,6 +1661,28 @@
}
direct_counters {
preamble {
+ id: 318787614
+ name: "FabricIngress.process_set_source_sink.counter_set_source"
+ alias: "counter_set_source"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33581620
+}
+direct_counters {
+ preamble {
+ id: 318770551
+ name: "FabricIngress.process_set_source_sink.counter_set_sink"
+ alias: "counter_set_sink"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33561619
+}
+direct_counters {
+ preamble {
id: 318815501
name: "FabricIngress.filtering.ingress_port_vlan_counter"
alias: "ingress_port_vlan_counter"
@@ -1197,6 +1826,50 @@
}
direct_counters {
preamble {
+ id: 318776637
+ name: "FabricEgress.process_int_source.counter_int_source"
+ alias: "counter_int_source"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33566961
+}
+direct_counters {
+ preamble {
+ id: 318794595
+ name: "FabricEgress.process_int_transit.counter_int_insert"
+ alias: "counter_int_insert"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33602084
+}
+direct_counters {
+ preamble {
+ id: 318777781
+ name: "FabricEgress.process_int_transit.counter_int_inst_0003"
+ alias: "counter_int_inst_0003"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33561642
+}
+direct_counters {
+ preamble {
+ id: 318818305
+ name: "FabricEgress.process_int_transit.counter_int_inst_0407"
+ alias: "counter_int_inst_0407"
+ }
+ spec {
+ unit: BOTH
+ }
+ direct_table_id: 33571998
+}
+direct_counters {
+ preamble {
id: 318827144
name: "FabricEgress.egress_next.egress_vlan_counter"
alias: "egress_vlan_counter"