IP Library Granted Patent US 9,270,586
Granted Patent B2
US 9,270,586 · App. 13/628,152 · Granted Feb 23, 2016

Method for abstracting datapath hardware elements

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,270,586
App. No.
13/628,152
Granted
Feb 23, 2016
Kind
B2
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.

Claims (24)

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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.

Assignments (13)
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 044891/0801 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2017
From: AVAYA INC.; AVAYA COMMUNICATION ISRAEL LTD; AVAYA HOLDINGS LIMITED
To: EXTREME NETWORKS, INC.
Reel/Frame 043569/0047 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2013
From: ASSARPOUR, HAMID
To: AVAYA INC.
Reel/Frame 029802/0185 →
SECURITY AGREEMENT Recorded Jan 10, 2013
From: AVAYA, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 029608/0256 →