CPC H04L 45/66 (2013.01) [H04L 45/42 (2013.01); H04L 47/762 (2013.01); H04L 47/781 (2013.01)] | 19 Claims |
1. A method of allocating programmable memory in a network device the method comprising:
receiving a set of desired features for the network device, wherein the set of desired features is supported by a set of tables to be stored across a plurality of memory banks of the programmable memory;
determining a plurality of constraints associated with the set of desired features and the programmable memory;
converting the plurality of constraints into a plurality of Boolean representations of the constraints wherein the plurality of Boolean representations of the constraints comprises Boolean representations each representing a state of memory allocation of one or more memory banks in the plurality of memory banks to a corresponding table in the set of tables;
using a Satisfiability Modulo Theories (SMT) solver to generate a result by evaluating a feasibility of allocating the programmable memory for the desired features based on the Boolean representations of the constraints, wherein the result generated using the SMT solver indicates whether or not a solution exists for allocating the programmable memory for the desired features given the plurality of constraints; and
returning the result.
|