IP Library Granted Patent US 9,612,872
Granted Patent B2
US 9,612,872 · App. 14/843,626 · Granted Apr 4, 2017

Data plane resource allocation

Inventor: Jaffar Hameed Abdul Kather Jilani (San Jose, CA)
Assignee: Ciena Corporation
G06F9/50
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,612,872
App. No.
14/843,626
Granted
Apr 4, 2017
Kind
B2
Abstract

A method for allocating data plane resources. The method allocates segments of hardware data plane resources to individual domains. In particular, in one or more embodiments, a new domain data plane request may request multiple segments of hardware data plane resources. In response to the request, a segment is reserved for a domain by assigning a domain identifier of the domain to the segment. Thus, the domain may use the allocated segment.

Claims (53)

1. A method for data plane resource allocation comprising:

receiving, for a domain, a new domain data plane request;

selecting, to satisfy the new domain data plane request, a segment in each of a plurality of hardware data plane resources;

reserving the segment in each of the plurality of hardware data plane resources by assigning a domain identifier of the domain to the segment;

receiving a signal of a packet on a physical interconnect of a port;

determining the domain identifier of the packet based on the domain identifier assigned to the segment having the port;

adding, subsequent to the receiving the signal on the physical interconnect, the domain identifier to the packet;

selecting the segment in at least a portion of the plurality of hardware data plane resources that is assigned the domain identifier;

processing the packet using the segment in at least the portion of the plurality of hardware data plane resources; and

removing, subsequent to the processing the packet using the segment, the domain identifier from the packet.

2. The method of claim 1 , wherein the domain data plane request specifies a distinct number of entries for each table of a plurality of tables, wherein the plurality of data plane resources comprises the plurality of tables.

3. The method of claim 2 , wherein the plurality of tables are a part of a network processor.

4. The method of claim 3 , wherein the plurality of tables comprises a table comprising a first segment and a second segment, and wherein the first segment and the second segment are selected based on the distinct number of entries specified in the data plane request for the table.

5. The method of claim 4 , wherein reserving the first segment and the second segment comprises storing, in the table, the domain identifier with a first segment identifier of the first segment and a second segment identifier of the second segment.

6. The method of claim 1 , further comprising:

validating the new domain data plane request.

7. The method of claim 1 , further comprising:

determining, by a network processor of a plurality of network processors, that the plurality of data plane resources span the plurality of network processors,

sending, by the network processor, a data plane resource request to each other network processor in the plurality of network processors,

wherein the plurality of network processors reserve the segment in each of the plurality of data plane resources.

8. A system for data plane resource allocation comprising:

a plurality of hardware data plane resources; and

a data plane system manager executing on a hardware network processor and configured to:

receive, for a domain, a new domain data plane request;

select, to satisfy the new domain data plane request, a segment in each of the plurality of hardware data plane resources;

reserve the segment in each of the plurality of hardware data plane resources by assigning a domain identifier of the domain to the segment;

receive a signal of a packet on a physical interconnect of a port;

determine the domain identifier of the packet based on the domain identifier assigned to the segment having the port;

add, subsequent to the receiving the signal on the physical interconnect, the domain identifier to the packet;

select the segment in at least a portion of the plurality of hardware data plane resources that is assigned the domain identifier;

process the packet using the segment in at least the portion of the plurality of hardware data plane resources; and

remove, subsequent to the processing the packet using the segment, the domain identifier from the packet.

9. The system of claim 8 , wherein the domain data plane request specifies a distinct number of entries for each table of a plurality of tables, wherein the plurality of data plane resources comprises the plurality of tables, and wherein the plurality of tables are a part of the hardware network processor.

10. The system of claim 9 , wherein the plurality of tables comprises a table comprising a first segment and a second segment, and wherein the first segment and the second segment are selected based on the distinct number of entries specified in the data plane request for the table.

11. The system of claim 10 , wherein reserving the first segment and the second segment comprises storing, in the table, the domain identifier with a first segment identifier of the first segment and a second segment identifier of the second segment.

12. A non-transitory computer readable medium comprising computer readable program code for data plane resource allocation, the computer readable program code comprising functionality for:

receiving, for a domain, a new domain data plane request;

selecting, to satisfy the new domain data plane request, a segment in each of a plurality of hardware data plane resources;

reserving the segment in each of the plurality of hardware data plane resources by assigning a domain identifier of the domain to the segment;

receiving a signal of a packet on a physical interconnect of a port;

determining the domain identifier of the packet based on the domain identifier assigned to the segment having the port;

adding, subsequent to the receiving the signal on the physical interconnect, the domain identifier to the packet;

selecting the segment in at least a portion of the plurality of hardware data plane resources that is assigned the domain identifier;

processing the packet using the segment in at least the portion of the plurality of hardware data plane resources; and

removing, subsequent to the processing the packet using the segment, the domain identifier from the packet.

13. The non-transitory computer readable medium of claim 12 , wherein the domain data plane request specifies a distinct number of entries for each table of a plurality of tables, wherein the plurality of data plane resources comprises the plurality of tables.

14. The non-transitory computer readable medium of claim 13 , wherein the plurality of tables are a part of a network processor.

15. The non-transitory computer readable medium of claim 13 , wherein the plurality of tables comprises a table comprising a first segment and a second segment, and wherein the first segment and the second segment are selected based on the distinct number of entries specified in the data plane request for the table.

16. The non-transitory computer readable medium of claim 15 , wherein reserving the first segment and the second segment comprises storing, in the table, the domain identifier with a first segment identifier of the first segment and a second segment identifier of the second segment.

17. The non-transitory computer readable medium of claim 12 , the computer readable program code further comprising functionality for:

determining, by a network processor of a plurality of network processors, that the plurality of data plane resources span the plurality of network processors,

sending, by the network processor, a data plane resource request to each other network processor in the plurality of network processors,

wherein the plurality of network processors reserve the segment in each of the plurality of data plane resources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: JILANI, JAFFAR HAMEED ABDUL KATHER
To: CIENA CORPORATION
Reel/Frame 036489/0956 →
Continuity (1)
Related Publication 20170060632A1 · Mar 2, 2017