Patent ID: 6957438

Claim:
An application programming interface to a forwarding plane for processing data packets in a network device that forwards packets across a network, the application programming interface comprising: an input module that receives routing platform independent function calls, wherein the function calls include routing platform independent input control data, and wherein the routing platform independent input control data includes table data to update a routing table; at least one control module that receives the input control data via the function calls, the at least one control module producing routing platform specific output control data based upon the input control data, the output control data being capable of controlling execution of the forwarding plane, wherein the at least one control module comprises a plurality of objects arranged in a hierarchical tree structure, the function calls instantiating at least one of the objects for storing the output control data in a memory device, and wherein the at least one control module includes a region module that identifies a specified amount of memory for storing the output control data; and an output module that forwards the output control data from the at least one control module.