US 12,113,708 B2
Provisioning memory resources on flexible hardware platforms
Maxime Daniel Lorrillere, North Vancouver (CA); and Suhas Raghunath Joshi, San Jose, CA (US)
Assigned to Arista Networks, Inc., Santa Clara, CA (US)
Filed by Arista Networks, Inc., Santa Clara, CA (US)
Filed on Mar. 25, 2022, as Appl. No. 17/704,103.
Prior Publication US 2023/0308390 A1, Sep. 28, 2023
Int. Cl. H04L 45/00 (2022.01); H04L 45/42 (2022.01); H04L 47/762 (2022.01); H04L 47/78 (2022.01)
CPC H04L 45/66 (2013.01) [H04L 45/42 (2013.01); H04L 47/762 (2013.01); H04L 47/781 (2013.01)] 19 Claims
OG exemplary drawing
 
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.