Support for different tofino systems (mavericks and montara)
The tofino driver will now register two pipeconf, one for each system.
The right one should be injected via netcfg.
Change-Id: I0fc3e8afa6fedef13d1ab7067811707748e8e916
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log
new file mode 100644
index 0000000..0e8372e
--- /dev/null
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log
@@ -0,0 +1,155 @@
++---------------------------------------------------------------------+
+| Log file: mau.tp.log |
+| Compiler version: 5.1.0 (fca32d1) |
+| Created on: Thu Sep 7 13:56:08 2017 |
++---------------------------------------------------------------------+
+
+----- Stage 0 ------
+ _condition_0
+ ingress_pkt
+----- Stage 1 ------
+ _condition_1
+ table0
+----- Stage 2 ------
+ _condition_2
+ ingress_port_count_table
+ egress_port_count_table
+----- Stage 0 ------
+ _condition_3
+ egress_pkt
+------------------------------------------
+ Running Table Placement 4
+------------------------------------------
+Cannot use hash action for table ingress_port_count_table.
+Cannot use hash-action for table ingress_port_count_table with no key because the number of entries required by side-effect table ingress_port_counter is not a power of 2 -- 254.
+Cannot use hash action for table egress_port_count_table.
+Cannot use hash-action for table egress_port_count_table with no key because the number of entries required by side-effect table egress_port_counter is not a power of 2 -- 254.
+Cannot use hash action for table ingress_pkt.
+Table ingress_pkt has no side effect tables.
+Cannot use hash action for table egress_pkt.
+Table egress_pkt has no side effect tables.
+Cannot use hash action for table table0.
+Cannot use hash-action for table table0 because it requires a ternary-style match for field ig_intr_md.ingress_port.
+------------------------------------------
+ Table Groups
+------------------------------------------
+Table Grouping (ingress) with match table ingress_port_count_table (1024) [ingress_port_count_table__action__ (1024), ingress_port_counter (254)]
+Table Grouping (ingress) with match table egress_port_count_table (1024) [egress_port_count_table__action__ (1024), egress_port_counter (254)]
+Table Grouping (ingress) with match table ingress_pkt (1024) [ingress_pkt__action__ (1024)]
+Table Grouping (egress) with match table egress_pkt (1024) [egress_pkt__action__ (1024)]
+Table Grouping (ingress) with match table table0 (512) [table0__action__ (512), table0_counter (512)]
+Table Grouping (ingress) with condition table _condition_0 (0) []
+Table Grouping (ingress) with condition table _condition_1 (0) []
+Table Grouping (ingress) with condition table _condition_2 (0) []
+Table Grouping (egress) with condition table _condition_3 (0) []
+Phase 0 possible? False Cannot implement ingress_pkt in phase 0 resources because table does not have the correct condition
+------------------------------------
+ Starting placement pass 0
+------------------------------------
+
+Nodes could place:
+ _condition_0 (2)
+>> choose Table Grouping (ingress) with match table ingress_pkt (1024) [ingress_pkt__action__ (1024)]
+Earliest stage can place: 0
+Placing table: ingress_pkt__action__ with 1024 entries
+Table ingress_pkt__action__ with 0 entries is directly referenced
+Match Table ingress_pkt has a total of 1 entries in stage 0
+ Direct mapped table ingress_pkt__action__ has 0 entries
+>> set ingress_pkt (8) to placed
+>> set _condition_0 (2) to placed
+
+Nodes could place:
+ _condition_1 (3)
+>> choose Table Grouping (ingress) with match table table0 (512) [table0__action__ (512), table0_counter (512)]
+Earliest stage can place: 1
+Placing table: table0__action__ with 512 entries
+Placing table: table0_counter with 512 entries
+Table table0__action__ with 0 entries is directly referenced
+Table table0_counter with 4096 entries is directly referenced
+Match Table table0 has a total of 512 entries in stage 1
+ Direct mapped table table0__action__ has 0 entries
+ Direct mapped table table0_counter has 4096 entries
+>> set table0 (7) to placed
+>> set _condition_1 (3) to placed
+
+Nodes could place:
+ _condition_2 (4)
+>> choose Table Grouping (ingress) with match table ingress_port_count_table (1024) [ingress_port_count_table__action__ (1024), ingress_port_counter (254)]
+Earliest stage can place: 2
+Placing table: ingress_port_count_table__action__ with 1024 entries
+Placing table: ingress_port_counter with 254 entries
+Table ingress_port_count_table__action__ with 0 entries is directly referenced
+Table ingress_port_counter with 4096 entries is indirectly referenced
+Match Table ingress_port_count_table has a total of 1 entries in stage 2
+ Direct mapped table ingress_port_count_table__action__ has 0 entries
+>> set ingress_port_count_table (5) to placed
+>> set _condition_2 (4) to placed
+
+Nodes could place:
+ egress_port_count_table (6)
+egress_port_count_table and _condition_2 not mutually exclusive
+egress_port_count_table and ingress_port_count_table not mutually exclusive
+>> choose Table Grouping (ingress) with match table egress_port_count_table (1024) [egress_port_count_table__action__ (1024), egress_port_counter (254)]
+Earliest stage can place: 2
+egress_port_count_table and _condition_2 not mutually exclusive
+egress_port_count_table and ingress_port_count_table not mutually exclusive
+Placing table: egress_port_count_table__action__ with 1024 entries
+Placing table: egress_port_counter with 254 entries
+Table egress_port_count_table__action__ with 0 entries is directly referenced
+Table egress_port_counter with 4096 entries is indirectly referenced
+Match Table egress_port_count_table has a total of 1 entries in stage 2
+ Direct mapped table egress_port_count_table__action__ has 0 entries
+>> set egress_port_count_table (6) to placed
+------------------------------------
+ Starting placement pass 1
+------------------------------------
+
+Nodes could place:
+ _condition_3 (2)
+>> choose Table Grouping (egress) with match table egress_pkt (1024) [egress_pkt__action__ (1024)]
+Earliest stage can place: 0
+Placing table: egress_pkt__action__ with 1024 entries
+Table egress_pkt__action__ with 0 entries is directly referenced
+Match Table egress_pkt has a total of 1 entries in stage 0
+ Direct mapped table egress_pkt__action__ has 0 entries
+>> set egress_pkt (3) to placed
+>> set _condition_3 (2) to placed
+
+------------------------------------------
+ Logical Table IDs
+------------------------------------------
+Logical Table IDs in stage 0 are:
+ 0 : ingress_pkt
+ 1 : egress_pkt
+Logical Table IDs in stage 1 are:
+ 0 : table0
+Logical Table IDs in stage 2 are:
+ 0 : ingress_port_count_table
+ 1 : egress_port_count_table
+
+------------------------------------------
+
+action mapping for ingress_port_count_table
+ count_ingress -> egress_port_count_table
+action mapping for egress_port_count_table
+ count_egress -> --END_OF_PIPELINE--
+action mapping for ingress_pkt
+ _packet_out -> _condition_1
+action mapping for egress_pkt
+ add_packet_in_hdr -> --END_OF_PIPELINE--
+action mapping for table0
+ set_egress_port -> _condition_2
+ send_to_cpu -> _condition_2
+ _drop -> _condition_2
+true/false mapping for _condition_0
+ False -> _condition_1
+ True -> ingress_pkt
+true/false mapping for _condition_1
+ False -> _condition_2
+ True -> table0
+true/false mapping for _condition_2
+ False -> --END_OF_PIPELINE--
+ True -> ingress_port_count_table
+true/false mapping for _condition_3
+ False -> --END_OF_PIPELINE--
+ True -> egress_pkt