Support for Tofino pipeconfs in ECMP app

Change-Id: I34c16f5f349c480f53b1bfc6a1fd91ec5a328ee3
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info
new file mode 100644
index 0000000..3c338f0
--- /dev/null
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info
@@ -0,0 +1,266 @@
+tables {
+  preamble {
+    id: 33612022
+    name: "ecmp_group_table"
+    alias: "ecmp_group_table"
+  }
+  match_fields {
+    id: 1
+    name: "ecmp_metadata.groupId"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "ecmp_metadata.selector"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16794308
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  direct_resource_ids: 302009688
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33617813
+    name: "table0"
+    alias: "table0"
+  }
+  match_fields {
+    id: 1
+    name: "ig_intr_md.ingress_port"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "ethernet.dstAddr"
+    bitwidth: 48
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "ethernet.srcAddr"
+    bitwidth: 48
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "ethernet.etherType"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 16794308
+  }
+  action_refs {
+    id: 16830055
+  }
+  action_refs {
+    id: 16829080
+  }
+  action_refs {
+    id: 16784184
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  direct_resource_ids: 301990488
+  size: 1024
+  with_entry_timeout: true
+}
+tables {
+  preamble {
+    id: 33560548
+    name: "ingress_pkt"
+    alias: "ingress_pkt"
+  }
+  action_refs {
+    id: 16835928
+  }
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33618793
+    name: "egress_port_count_table"
+    alias: "egress_port_count_table"
+  }
+  action_refs {
+    id: 16822771
+  }
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33579767
+    name: "ingress_port_count_table"
+    alias: "ingress_port_count_table"
+  }
+  action_refs {
+    id: 16837943
+  }
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33608529
+    name: "egress_pkt"
+    alias: "egress_pkt"
+  }
+  action_refs {
+    id: 16835663
+  }
+  size: 1024
+}
+actions {
+  preamble {
+    id: 16800567
+    name: "NoAction"
+    alias: "NoAction"
+  }
+}
+actions {
+  preamble {
+    id: 16794308
+    name: "set_egress_port"
+    alias: "set_egress_port"
+  }
+  params {
+    id: 1
+    name: "port"
+    bitwidth: 9
+  }
+}
+actions {
+  preamble {
+    id: 16830055
+    name: "ecmp_group"
+    alias: "ecmp_group"
+  }
+  params {
+    id: 1
+    name: "groupId"
+    bitwidth: 16
+  }
+}
+actions {
+  preamble {
+    id: 16829080
+    name: "send_to_cpu"
+    alias: "send_to_cpu"
+  }
+}
+actions {
+  preamble {
+    id: 16784184
+    name: "_drop"
+    alias: "_drop"
+  }
+}
+actions {
+  preamble {
+    id: 16835928
+    name: "_packet_out"
+    alias: "_packet_out"
+  }
+}
+actions {
+  preamble {
+    id: 16822771
+    name: "count_egress"
+    alias: "count_egress"
+  }
+}
+actions {
+  preamble {
+    id: 16837943
+    name: "count_ingress"
+    alias: "count_ingress"
+  }
+}
+actions {
+  preamble {
+    id: 16835663
+    name: "add_packet_in_hdr"
+    alias: "add_packet_in_hdr"
+  }
+}
+counters {
+  preamble {
+    id: 302008596
+    name: "egress_port_counter"
+    alias: "egress_port_counter"
+    annotations: "@min_width(32)"
+  }
+  spec {
+    unit: PACKETS
+  }
+  size: 254
+}
+counters {
+  preamble {
+    id: 301991238
+    name: "ingress_port_counter"
+    alias: "ingress_port_counter"
+    annotations: "@min_width(32)"
+  }
+  spec {
+    unit: PACKETS
+  }
+  size: 254
+}
+direct_counters {
+  preamble {
+    id: 302009688
+    name: "ecmp_group_table_counter"
+    alias: "ecmp_group_table_counter"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 33612022
+}
+direct_counters {
+  preamble {
+    id: 301990488
+    name: "table0_counter"
+    alias: "table0_counter"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 33617813
+}
+# Manually adding controller_packet_metadata for packet I/O since P4_14 doesn't support annotations.
+controller_packet_metadata {
+  preamble {
+    id: 2868941301
+    name: "packet_in"
+    annotations: "@controller_header(\"packet_in\")"
+  }
+  metadata {
+    id: 1
+    name: "ingress_port"
+    bitwidth: 9
+  }
+}
+controller_packet_metadata {
+  preamble {
+    id: 2868916615
+    name: "packet_out"
+    annotations: "@controller_header(\"packet_out\")"
+  }
+  metadata {
+    id: 1
+    name: "egress_port"
+    bitwidth: 9
+  }
+}