1461106037-1b46eda2-4a7e-46fe-93f0-dfe9b078c9a3

1. 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.
2. The application programming interface as defined by claim 1 wherein the at least one control module includes:
a mapping module that specifies units of the output control data for storage in memory.
3. The application programming interface as defined by claim 1 wherein the at least one control module includes:
a read handler module that permits output control data to be read from memory by an application program.
4. The application programming interface as defined by claim 1 wherein the at least one control module includes:
a write handler module that permits the output control data to be written to memory by an application program.
5. The application programming interface as defined by claim 4 wherein the write handler module permits the output control data to be modified in memory by the application program.
6. The application programming interface as defined by claim 1 wherein the network device is a router.
7. An application programming interface to a forwarding plane for processing data packets in a network device that forwards data packets across a network, the application programming interface comprising:
a hierarchical tree of objects that control execution of the forwarding plane, wherein the tree of objects includes a region object that identifies a specified amount of memory for storing control data,
each of the objects being responsive to routing platform independent function calls from an application program, 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,
each of the objects producing routing platform specific control data, based upon the input control data in the function calls, to control execution of the forwarding plane, and
wherein at least one of the objects arranged in a hierarchical tree structure are capable of being instantiated by the function calls from the application program, producing the control data, and storing the control data in a memory.
8. The application programming interface as defined by claim 7 wherein the application program instantiates the at least one of the objects by forwarding a given function call having an instantiation message to class code for one of the objects, the given function call having given data to be stored in the memory.
9. The application programming interface as defined by claim 7 wherein the tree of objects includes:
a mapping object that specifies units of the control data for storage in memory.
10. The application programming interface as defined by claim 7 wherein the tree of objects includes:
a read handler object that permits control data to be read from memory by the application program.
11. The application programming interface as defined by claim 7 wherein the tree of objects includes:
a write handler object that permits the control data to be written to memory by the application program.
12. The application programming interface as defined by claim 11 wherein the write handler object permits the control data to be modified in memory by the application program.
13. The application programming interface as defined by claim 7 wherein the network device includes a router.
14. A computer program product, the computer program product having a computer readable medium with computer program code for providing an application programming interface to a forwarding plane for processing packets in a network device that forwards data packets across a network thereon, the computer program product comprising:
program code for instantiating a hierarchical tree of objects that control execution of the forwarding plane wherein the tree of objects includes a region object that identifies a specified amount of memory for storing control data,
each of the objects having program code that is responsive to routing platform independent function calls from an application program, 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,
each of the objects having program code for producing routing platform specific control data, based upon the input control data in the function calls, to control execution of the forwarding plane, and
wherein one of the objects has program code for instantiating in response to function calls from the application program, the one of the objects producing given control data, the one of the objects storing the given control data in memory.
15. The computer program product as defined by claim 14 wherein the application program instantiates the one of the objects by forwarding a given function call having an instantiation message to class code for the one of the objects, the given function call having given data to be stored in memory.
16. A network device having an application programming interface to a forwarding plane that processes data packets for forwarding across a network, the network device being capable of executing an application program that produces function calls, the network device comprising:
a processor for executing the application program;
the application programming interface having a control module that controls the forwarding plane in response to at least one routing platform independent function call from the application program, wherein the control module produces routing platform specific control data responsive to routing platform independent input control data in the at least one function call from the application program, wherein the routing platform independent input control data includes table data to update a routing table, wherein the control module includes a region module that identifies a specified amount of memory for storing control data for controlling the forwarding plane; and
wherein the control module comprises a plurality of objects arranged in a hierarchical tree structure, the at least one function call instantiating at least one of the objects for generating control data that controls the forwarding plane.
17. The network device as defined by claim 16 wherein the control module includes:
a mapping module that specifies units of control data for storage in memory, the control data controlling the forwarding plane.
18. The network device as defined by claim 16 wherein the control module includes:
a read handler module that permits control data to be read from memory by the application program, the control data controlling the forwarding plane.
19. The network device as defined by claim 16 wherein the control module includes:
a write handler module that permits control data to be written to memory by the application program, the control data controlling the forwarding plane.
20. The network device as defined by claim 19 wherein the write handler module permits the control data to be modified in memory by the application program.
21. The network device as defined by claim 16 further including a router.
22. An application programming interface to a forwarding plane for processing data packets in a network device that forwards data packets across a network, the application programming interface comprising:
a control module that receives routing platform independent input control data from routing platform independent function calls from an application program, wherein the routing platform independent input control data includes table data to update a routing table, the control module producing routing platform specific control data for use by the forwarding plane responsive to the input control data received in the function calls from the application program, the forwarding plane processing the data packets as specified by the control data;
a management module that receives management data for managing the forwarding plane;
wherein the control module includes a plurality of submodules that form a hierarchical tree structure for processing the control data; and
wherein the control module includes a region module that identifies a specified amount of memory for storing the control data for controlling the forwarding plane.
23. The application programming interface as defined by claim 22 wherein the submodules include objects formed in accord with object oriented programming principles.
24. The application programming interface as defined by claim 22 wherein the control data is received from a control plane that is a part of the network device.
25. The application programming interface as defined by claim 22 wherein the network device includes a router.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for fabricating a contact, comprising:
forming a permanent antireflective coating on a substrate;
forming a pattern of resist islands in a first resist directly on the permanent antireflective coating, the resist islands occupying volumes where contacts will be formed;
filling spaces between the resist islands with an interlevel dielectric composition;
removing the resist islands to form contact holes in the interlevel dielectric composition;
opening up the antireflection coating to expose contact pads within the contacts holes; and
filling the contacts holes with an electrically conductive fill material to form contacts.
2. The method as recited in claim 1, wherein the substrate includes front end of line devices and forming a permanent antireflective coating on a substrate includes forming the antireflection coating over the front end of line devices.
3. The method as recited in claim 1, wherein the interlevel dielectric composition includes at least one of a polymer, a copolymer, a blend including at least two of any combination of polymers andor copolymers, wherein the polymers include one monomer and the copolymers include at least two monomers and wherein the monomers of the polymers and the monomers of the copolymers are selected from: a siloxane, silane, carbosilane, oxycarbosilane, silsesquioxane, alkyltrialkoxysilane, tetra-alkoxysilane, unsaturated alkyl substituted silsesquioxane, unsaturated alkyl substituted siloxane, unsaturated alkyl substituted silane, an unsaturated alkyl substituted carbosilane, unsaturated alkyl substituted oxycarbosilane, carbosilane substituted silsesquioxane, carbosilane substituted siloxane, carbosilane substituted silane, carbosilane substituted carbosilane, carbosilane substituted oxycarbosilane, oxycarbosilane substituted silsesquioxane, oxycarbosilane substituted siloxane, oxycarbosilane substituted silane, oxycarbosilane substituted carbosilane, and oxycarbosilane substituted oxycarbosilane.
4. The method as recited in claim 1, wherein the interlevel dielectric composition includes a material curable to become a permanent interlevel dielectric layer, the method further comprising curing the interlevel dielectric composition thereby converting the interlevel dielectric composition into a patterned permanent interlevel dielectric layer.
5. The method as recited in claim 1, wherein the contact pads include silicided regions.
6. The method as recited in claim 1, wherein the conductive fill material includes at least one of Cu, W, Ta, Ti, Ru, their alloys and conductive carbon materials.
7. The method as recited in claim 1, wherein patterning the interlevel dielectric composition includes forming contact holes having different dimensions in a same patterning process.
8. The method as recited in claim 1, wherein patterning the interlevel dielectric composition includes forming the interlevel dielectric composition by one of a spin-on and a chemical vapor deposition process.