Method and system for programmable data dependant network routing
First Claim
1. A method for routing fibre channel frames using a fibre channel switch element, comprising:
- (a) receiving a fibre channel frame at a port of the fibre channel switch element;
(b) indexing a look up table by using an output value generated by a hashing module for the fibre channel switch element;
a domain value for routing the fibre channel frame to another fibre channel switch, an area value for routing the fibre channel frame to a port of the fibre channel switch that received the fibre channel frame, a virtual storage area network identifier for routing the fibre channel frame within a virtual storage area network, and an arbitrated loop physical address (AL_PA) value included in a header of the fibre channel frame;
(c) selecting a column value from the look up table based on a column select signal generated by a hardware logic;
wherein the column select signal is based on the output value generated by the hashing module; and
wherein the output value is a pseudo random number value generated by the hashing module by applying a hash function on a field of a fibre channel frame header of the fibre channel frame; and
the pseudo random number value is used for selecting the column value used for routing the frame; and
(d) based on the selected column value, routing the frame if a route is valid.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and system for routing fiber channel frames using a fiber channel switch element is provided. The switch element includes, a hashing module whose output is used to select the column from a look up table to route frames. The method includes, indexing a look up table using domain, area, virtual storage area network identifier, a hashing module output and/or AL_PA values; selecting a column from the look up table based on a column select signal; and routing a frame if a route is valid. The hashing module takes a fiber channel header to generate a pseudo random value used for selecting a column from the look up table. The hashing module uses same field values in an exchange to generate the pseudo random value. A hash function is used on a frame'"'"'s OX_ID, D_ID, S_ID, and/or RX_ID to route fiber channel frames.
430 Citations
16 Claims
-
1. A method for routing fibre channel frames using a fibre channel switch element, comprising:
-
(a) receiving a fibre channel frame at a port of the fibre channel switch element; (b) indexing a look up table by using an output value generated by a hashing module for the fibre channel switch element;
a domain value for routing the fibre channel frame to another fibre channel switch, an area value for routing the fibre channel frame to a port of the fibre channel switch that received the fibre channel frame, a virtual storage area network identifier for routing the fibre channel frame within a virtual storage area network, and an arbitrated loop physical address (AL_PA) value included in a header of the fibre channel frame;(c) selecting a column value from the look up table based on a column select signal generated by a hardware logic;
wherein the column select signal is based on the output value generated by the hashing module; and
wherein the output value is a pseudo random number value generated by the hashing module by applying a hash function on a field of a fibre channel frame header of the fibre channel frame; and
the pseudo random number value is used for selecting the column value used for routing the frame; and(d) based on the selected column value, routing the frame if a route is valid. - View Dependent Claims (2, 3, 10, 11, 12)
-
-
4. A fibre channel switch element configured to select a route from amongst a plurality of routes, for routing fibre channel frames, the fibre channel switch element comprising:
-
at least one port for receiving and transmitting a fibre channel frame; a look up table with a plurality of columns that are indexed by an output from a hashing module, a domain value for routing the fibre channel frame to another fibre channel switch element, an area value for routing the fibre channel frame to a port of the fibre channel switch that received the fibre channel frame, a virtual storage area network identifier for routing the fibre channel frame within a virtual storage area network and an arbitrated loop physical address (AL—
PA) value; anda hardware logic that receives a plurality of inputs and based on one of the inputs, a column select signal is generated, wherein the column select signal is used to select a value from one of toe plurality of columns to route the fibre channel frame; and
wherein the column select signal is based on the output value generated by the hashing module; and
wherein the output value is a pseudo random number value generated by the hashing module by applying a hash function on a field of a fibre channel frame header of the fibre channel frame for selecting the column value. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
13. A network system, comprising:
-
host computing system for sending and receiving information; a least one storage system for storing information; and a least one fibre channel switch element configured to select a route from amongst a plurality of routes, for routing fibre channel frames in the network, where the fibre channel switch element includes; (a) at least one port for receiving and transmitting a fibre channel frame; (b) a look up table with a plurality of columns that are indexed by an output from a hashing module, a domain value for routing the fibre channel frame to another fibre channel switch element, an area value for routing the fibre channel frame to a port of the fibre channel switch that received the fibre channel frame, a virtual storage area network identifier for routing the fibre channel frame within a virtual storage area network and an arbitrated loop physical address (AL_PA) value; and c) a hardware logic that receives a plurality of inputs and based on one of the inputs, a column select signal is generated, wherein the column select signal is used to select a value from one of the plurality of columns to route the fibre channel frame; and
wherein the column select signal is based on the output value generated by the hashing module; and
wherein the output value is a pseudo random number value generated by the hashing module by applying a hash function on a field of a fibre channel frame header of the fibre channel frame for selecting the column value. - View Dependent Claims (14, 15, 16)
-
Specification