Patentable/Patents/US-9270586
US-9270586

Method for abstracting datapath hardware elements

PublishedFebruary 23, 2016
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A table based abstraction layer is interposed between applications and the packet forwarding hardware driver layer. All behavior and configuration of packet forwarding to be implemented in the hardware layer is articulated as fields in tables of the table based abstraction layer, and the higher level application software interacts with the hardware through the creation of and insertion and deletion of elements in these tables. The structure of the tables in the abstraction layer has no direct functional meaning to the hardware, but rather the tables of the table based abstraction layer simply exist to receive data to be inserted by the applications into the forwarding hardware. Information from the tables is extracted by the packet forwarding hardware driver layer and used to populate physical offset tables that may then be installed into the registers and physical tables utilized by the hardware to perform packet forwarding operations.

Patent Claims
18 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of abstracting datapath hardware elements in a network element, the method comprising the steps of: implementing a table based abstraction layer as an interface between applications running in a control plane of the network element and data path hardware elements, the table based abstraction layer including a set of tables and an API, the API defining table access operations that allow the applications to insert and extract data from the tables of the table based abstraction layer; and implementing a data path hardware element driver to access the table based abstraction layer and translate fields of the tables in the table based abstraction layer to tables and registers which are used by the data path hardware elements in connection with making forwarding decisions for packets of data.

2

2. The method of claim 1 , wherein all behavior and configuration of packet forwarding in the data path hardware elements is articulated as fields in the virtual tables, and wherein the application software running in the control plane interacts with the data path hardware elements through the creation of, insertion of, and deletion of, elements in these tables.

3

3. The method of claim 1 , wherein the API only defines table access operations such that interaction between the applications and the data path hardware elements are implemented solely through interaction with the set of tables.

4

4. The method of claim 1 , wherein the set of tables includes a virtual index table representing an abstraction of one or more of the tables and registers used by the data path hardware elements.

5

5. The method of claim 1 , wherein the set of tables includes a virtual search table having one or more records, each record containing one or more attributes and being associated with a unique key.

6

6. The method of claim 5 , wherein the set of tables includes a virtual search table representing an abstraction of functions that map a key to a search index.

7

7. The method of claim 5 , wherein a set of attributes have a key type (key attribute), and wherein adding a record to the virtual search table.

8

8. The method of claim 5 , wherein each record involves mapping the key attributes to a unique search index and storing the record at the search index.

9

9. The method of claim 5 , wherein the set of tables includes a virtual search table having one or more records, each record containing one or more attributes and being associated with a unique key, and wherein virtual search table API calls are implemented by translating the virtual search table calls to a set of virtual index table instructions.

10

10. A network element, comprising: a control plane configured to implement control processes; and a data plane including packet forwarding hardware elements configured to handle forwarding of packets on a communication network, the packet forwarding hardware elements including tables and registers containing data specifying how packets should be forwarded on the communication network; and a virtual table interface between the control plane and the data plane, the virtual table interface containing a set of virtual tables configured to receive data from the control processes and translate the data for insertion into the tables and registers of the data plane, the virtual table interface including a set of tables and an API, the API defining table access operations that allow the control processes to insert and extract data from the tables of the virtual table interface; and a data path hardware element driver to access the tables of the virtual table interface and translate fields of the tables in the virtual table interface to the tables and registers of the data plane.

11

11. The network element of claim 10 , wherein all behavior and configuration of packet forwarding in the data plane packet forwarding hardware elements is articulated as fields in the virtual tables, and wherein the control processes running in the control plane interact with the data plane packet forwarding hardware elements through the creation of, insertion of, and deletion of, elements in these tables.

12

12. The network element of claim 10 , wherein the API only defines table access operations such that interaction between the applications and the data path hardware elements are implemented solely through interaction with the set of tables.

13

13. The network element of claim 10 , wherein the set of tables includes a virtual index table representing an abstraction of one or more of the tables and registers used by the data path hardware elements.

14

14. The network element of claim 10 , wherein the set of tables includes a virtual search table having one or more records, each record containing one or more attributes and being associated with a unique key.

15

15. The network element of claim 14 , wherein the set of tables includes a virtual search table representing an abstraction of functions that map a key to a search index.

16

16. The network element of claim 14 , wherein a set of attributes have a key type (key attribute), and wherein adding a record to the virtual search table.

17

17. The network element of claim 14 , wherein each record involves mapping the key attributes to a unique search index and storing the record at the search index.

18

18. The network element of claim 14 , wherein the set of tables includes a virtual search table having one or more records, each record containing one or more attributes and being associated with a unique key, the network element further including a table manager configured to translate virtual search table API calls into a set of virtual index table instructions.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

September 27, 2012

Publication Date

February 23, 2016

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Method for abstracting datapath hardware elements” (US-9270586). https://patentable.app/patents/US-9270586

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.