+---------------------------------------------------------------------+
|  Log file: mau.tp.log                                               |
|  Compiler version: 5.1.0 (fca32d1)                                  |
|  Created on: Wed Sep 13 12:56:12 2017                               |
+---------------------------------------------------------------------+

----- Stage 0 ------
   _condition_0
   process_packet_out_table
   table0
----- Stage 1 ------
   _condition_2
   ingress_port_count_table
   egress_port_count_table
----- Stage 0 ------
   _condition_0
   process_packet_out_table
   table0
----- Stage 1 ------
   _condition_2
   ingress_port_count_table
   egress_port_count_table
----- Stage 0 ------
   _condition_0
   process_packet_out_table
   table0
----- Stage 1 ------
   _condition_2
   ingress_port_count_table
   egress_port_count_table
------------------------------------------
 Running Table Placement 4
------------------------------------------
Can use hash action for table ingress_port_count_table???  True
Decided that match table ingress_port_count_table is more efficiently allocated using hash-action to ingress_port_counter.
Can use hash action for table egress_port_count_table???  True
Decided that match table egress_port_count_table is more efficiently allocated using hash-action to egress_port_counter.
Cannot use hash action for table process_packet_out_table.
Table process_packet_out_table 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 (512)]
Table Grouping (ingress) with match table egress_port_count_table (1024) [egress_port_count_table__action__ (1024), egress_port_counter (512)]
Table Grouping (ingress) with match table process_packet_out_table (1024) [process_packet_out_table__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_2 (0) []
Phase 0 possible?  False   Cannot implement table0 in phase 0 resources because table uses side effect tables.
------------------------------------
  Starting placement pass 0
------------------------------------

Nodes could place:
  _condition_0 (2)
>> choose Table Grouping (ingress) with match table table0 (512) [table0__action__ (512), table0_counter (512)]
Earliest stage can place: 0
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 0
  Direct mapped table table0__action__ has 0 entries
  Direct mapped table table0_counter has 4096 entries
>> set table0 (7) to placed
>> set _condition_0 (2) to placed

Nodes could place:
  process_packet_out_table (3)
process_packet_out_table and _condition_0 not mutually exclusive
>> choose Table Grouping (ingress) with match table process_packet_out_table (1024) [process_packet_out_table__action__ (1024)]
Earliest stage can place: 0
process_packet_out_table and _condition_0 not mutually exclusive
Placing table: process_packet_out_table__action__ with 1024 entries
Table process_packet_out_table__action__ with 0 entries is directly referenced
Match Table process_packet_out_table has a total of 1 entries in stage 0
  Direct mapped table process_packet_out_table__action__ has 0 entries
>> set process_packet_out_table (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 (512)]
Earliest stage can place: 1
Placing table: ingress_port_count_table__action__ with 1024 entries
Placing table: ingress_port_counter with 512 entries
Table ingress_port_count_table__action__ with 0 entries is directly referenced
Table ingress_port_counter with 2048 entries is indirectly referenced
Match Table ingress_port_count_table has a total of 1024 entries in stage 1
  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 (512)]
Earliest stage can place: 1
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 512 entries
Table egress_port_count_table__action__ with 0 entries is directly referenced
Table egress_port_counter with 2048 entries is indirectly referenced
Match Table egress_port_count_table has a total of 1024 entries in stage 1
  Direct mapped table egress_port_count_table__action__ has 0 entries
>> set egress_port_count_table (6) to placed

------------------------------------------
 Logical Table IDs
------------------------------------------
Logical Table IDs in stage 0 are:
  0  :  table0
  1  :  process_packet_out_table
Logical Table IDs in stage 1 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 process_packet_out_table
   _process_packet_out -> _condition_2
action mapping for table0
   set_egress_port -> _condition_2
   send_to_cpu -> _condition_2
   _drop -> _condition_2
true/false mapping for _condition_0
   False -> process_packet_out_table
   True -> table0
true/false mapping for _condition_2
   False -> --END_OF_PIPELINE--
   True -> ingress_port_count_table
