diff --git a/pipelines/fabric/src/main/resources/include/control/acl.p4 b/pipelines/fabric/src/main/resources/include/control/acl.p4
index 9eece9a..5b8718b 100644
--- a/pipelines/fabric/src/main/resources/include/control/acl.p4
+++ b/pipelines/fabric/src/main/resources/include/control/acl.p4
@@ -82,7 +82,7 @@
         }
 
         const default_action = nop_acl();
-        size = 128;
+        size = ACL_TABLE_SIZE;
         counters = acl_counter;
     }
 
diff --git a/pipelines/fabric/src/main/resources/include/control/filtering.p4 b/pipelines/fabric/src/main/resources/include/control/filtering.p4
index 638d9a1..cc8e313 100644
--- a/pipelines/fabric/src/main/resources/include/control/filtering.p4
+++ b/pipelines/fabric/src/main/resources/include/control/filtering.p4
@@ -61,6 +61,7 @@
         }
         const default_action = deny();
         counters = ingress_port_vlan_counter;
+        size = PORT_VLAN_TABLE_SIZE;
     }
 
     /*
@@ -94,6 +95,7 @@
         }
         const default_action = set_forwarding_type(FWD_BRIDGING);
         counters = fwd_classifier_counter;
+        size = FWD_CLASSIFIER_TABLE_SIZE;
     }
 
     apply {
diff --git a/pipelines/fabric/src/main/resources/include/control/forwarding.p4 b/pipelines/fabric/src/main/resources/include/control/forwarding.p4
index e5f89cb..89544ea 100644
--- a/pipelines/fabric/src/main/resources/include/control/forwarding.p4
+++ b/pipelines/fabric/src/main/resources/include/control/forwarding.p4
@@ -40,6 +40,9 @@
         bridging_counter.count();
     }
 
+    // FIXME: using ternary for eth_dst prevents our ability to scale in
+    //  bridging heavy environments. Do we really need ternary? Can we come up
+    //  with a multi-table/algorithmic approach?
     table bridging {
         key = {
             fabric_metadata.vlan_id: exact @name("vlan_id");
@@ -51,6 +54,7 @@
         }
         const default_action = nop();
         counters = bridging_counter;
+        size = BRIDGING_TABLE_SIZE;
     }
 
     /*
@@ -74,6 +78,7 @@
         }
         const default_action = nop();
         counters = mpls_counter;
+        size = MPLS_TABLE_SIZE;
     }
 
     /*
@@ -90,6 +95,9 @@
         routing_v4_counter.count();
     }
 
+    #ifdef _ROUTING_V4_TABLE_ANNOT
+    _ROUTING_V4_TABLE_ANNOT
+    #endif
     table routing_v4 {
         key = {
             hdr.ipv4.dst_addr: lpm @name("ipv4_dst");
@@ -101,6 +109,7 @@
         }
         const default_action = nop();
         counters = routing_v4_counter;
+        size = ROUTING_V4_TABLE_SIZE;
     }
 
 #ifdef WITH_IPV6
@@ -124,6 +133,7 @@
         }
         const default_action = nop();
         counters = routing_v6_counter;
+        size = ROUTING_V6_TABLE_SIZE;
     }
 #endif // WITH_IPV6
 
diff --git a/pipelines/fabric/src/main/resources/include/control/next.p4 b/pipelines/fabric/src/main/resources/include/control/next.p4
index 98b3812..88e870c 100644
--- a/pipelines/fabric/src/main/resources/include/control/next.p4
+++ b/pipelines/fabric/src/main/resources/include/control/next.p4
@@ -81,6 +81,7 @@
         }
         const default_action = nop();
         counters = next_vlan_counter;
+        size = NEXT_VLAN_TABLE_SIZE;
     }
 
 #ifdef WITH_XCONNECT
@@ -112,6 +113,7 @@
         }
         counters = xconnect_counter;
         const default_action = nop();
+        size = XCONNECT_NEXT_TABLE_SIZE;
     }
 #endif // WITH_XCONNECT
 
@@ -150,6 +152,7 @@
         }
         const default_action = nop();
         counters = simple_counter;
+        size = SIMPLE_NEXT_TABLE_SIZE;
     }
 #endif // WITH_SIMPLE_NEXT
 
@@ -158,7 +161,8 @@
      * Hashed table.
      * Execute an action profile selector based on next id.
      */
-    action_selector(HashAlgorithm.crc16, 32w64, 32w16) hashed_selector;
+    @max_group_size(HASHED_SELECTOR_MAX_GROUP_SIZE)
+    action_selector(HashAlgorithm.crc16, HASHED_ACT_PROFILE_SIZE, 32w16) hashed_selector;
     direct_counter(CounterType.packets_and_bytes) hashed_counter;
 
     action output_hashed(port_num_t port_num) {
@@ -195,6 +199,7 @@
         implementation = hashed_selector;
         counters = hashed_counter;
         const default_action = nop();
+        size = HASHED_NEXT_TABLE_SIZE;
     }
 #endif // WITH_HASHED_NEXT
 
@@ -220,6 +225,7 @@
         }
         counters = multicast_counter;
         const default_action = nop();
+        size = MULTICAST_NEXT_TABLE_SIZE;
     }
 
     apply {
@@ -293,6 +299,7 @@
         }
         const default_action = nop();
         counters = egress_vlan_counter;
+        size = EGRESS_VLAN_TABLE_SIZE;
     }
 
     apply {
