Sub-area FCID allocation scheme
First Claim
Patent Images
1. A method for communication in a Fibre Channel Network, comprising:
- receiving a Fibre Channel flogin request from a device to login to a switch;
identifying a first range of unallocated Fibre Channel addresses (FCIDs) available to assign to the device in the Fibre Channel Network;
allocating, in response to the request, the first range of unallocated FCIDs to the device, wherein the first range of FCIDs share a common number of most significant bits;
generating a single entry in a memory indicating the first range of FCIDs allocated to the device, wherein the single entry indicates the common number of most significant bits shared by the FCIDs allocated to the device;
receiving a plurality of Fibre Channel fabric discovery (fdisc) requests from the device;
in response to each fdisc request, assigning one of the FCIDs of the allocated range to the device;
determining the number of unallocated FCIDs in the first range available to assign to the device based on the common number of most significant bits and a number of remaining bits in each FCID in the first range of unallocated FCIDs;
upon determining that the device has used all of the FCIDs in the allocated range, identifying a second range of unallocated FCIDs available to assign to the device;
allocating the second range of FCIDs to the device; and
generating a second single entry in the memory indicating the second range of FCIDs.
1 Assignment
0 Petitions
Accused Products
Abstract
Certain embodiments of the present disclosure generally relate to allocating a sub-area of Fiber Channel addresses (FCIDs) to a device. A range of addresses may be assigned to the device using a mask address, where the most significant bits represent a mask and the least significant bits represent a sub-range of FCIDs available to be assigned to the device. Therefore, routing information may be stored efficiently in a Ternary Content Addressable Memory (TCAM) by storing a single entry in the TCAM for each sub-area of FCIDs allocated to a device, instead of storing an entry for each FCID. The single entry may indicate the mask address and the width of the mask.
28 Citations
15 Claims
-
1. A method for communication in a Fibre Channel Network, comprising:
-
receiving a Fibre Channel flogin request from a device to login to a switch; identifying a first range of unallocated Fibre Channel addresses (FCIDs) available to assign to the device in the Fibre Channel Network; allocating, in response to the request, the first range of unallocated FCIDs to the device, wherein the first range of FCIDs share a common number of most significant bits; generating a single entry in a memory indicating the first range of FCIDs allocated to the device, wherein the single entry indicates the common number of most significant bits shared by the FCIDs allocated to the device; receiving a plurality of Fibre Channel fabric discovery (fdisc) requests from the device; in response to each fdisc request, assigning one of the FCIDs of the allocated range to the device; determining the number of unallocated FCIDs in the first range available to assign to the device based on the common number of most significant bits and a number of remaining bits in each FCID in the first range of unallocated FCIDs; upon determining that the device has used all of the FCIDs in the allocated range, identifying a second range of unallocated FCIDs available to assign to the device; allocating the second range of FCIDs to the device; and generating a second single entry in the memory indicating the second range of FCIDs. - View Dependent Claims (2, 3, 4, 5, 15)
-
-
6. A switch, comprising:
-
a processor; and a memory containing a program configured to communicate in a Fibre Channel Network, which, when executed on the processor performs an operation, comprising; receiving a Fibre Channel flogin request from a device to login to the switch, identifying a first range of unallocated Fibre Channel addresses (FCIDs) available to assign to the device in the Fibre Channel Network, allocating, in response to the request, the first range of unallocated FCIDs to the device, wherein the first range of FCIDs share a common number of most significant bits, generating a single entry in a another memory indicating the first range of FCIDs allocated to the device, wherein the single entry indicates the common number of most significant bits shared by the FCIDs, receiving a plurality of Fibre Channel fabric discovery (fdisc) requests from the device, in response to each fdisc request, assigning one of the FCIDs of the allocated range to the device; determining the number of unallocated FCIDs in the first range available to assign to the device based on the common number of most significant bits and a number of remaining bits in each FCID in the first range of unallocated FCIDs; upon determining that the device has used all of the FCIDs in the allocated range, identifying a second range of unallocated FCIDs available to assign to the device; allocating the second range of FCIDs to the device; and generating a second single entry in the memory indicating the second range of FCIDs. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer-readable storage medium, containing a program, which, when executed on a processor is operable to:
-
receive a Fibre Channel flogin request from a device to login to a switch; identify a first range of unallocated Fibre Channel addresses (FCIDs) available to assign to the device in the Fibre Channel Network; allocate, in response to the request, the first range of unallocated FCIDs to the device, wherein the first range of FCIDs share a common number of most significant bits; generate a single entry in a memory indicating the first range of FCIDs allocated to the device, wherein the single entry indicates the common number of most significant bits shared by the FCIDs allocated to the device; receive a plurality of Fibre Channel fabric discovery (fdisc) requests from the device; in response to each fdisc request, assigning one of the FCIDs of the allocated range to the device; determine the number of unallocated FCIDs in the first range available to assign to the device based on the common number of most significant bits and a number of remaining bits in each FCID in the first range of unallocated FCIDs; upon determining that the device has used all of the FCIDs in the allocated range, identify a second range of unallocated FCIDs available to assign to the device; allocate the second range of FCIDs to the device; and generate a second single entry in the memory indicating the second range of FCIDs. - View Dependent Claims (12, 13, 14)
-
Specification