Method and system for load balancing in infiniband switches and networks
First Claim
Patent Images
1. A method for routing packets in an InfiniBand (IB) multi level switch coupled to a network, comprising:
- (a) receiving a packet at a port of the switch;
(b) parsing information from a packet header of the packet;
(c) determining if alternate routing is enabled for the packet;
wherein the alternate routing is selectably enabled and disabled by a switch processor by setting a control value that is based on a destination field for identifying a destination for the packet, and a queue pair value;
(d) if alternate routing is not enabled, then routing the packet using a base route address that is based on the destination field included in a packet header for the packet;
(e) if alternate routing is enabled, determining an alternate route address for the packet by adding the base route address to an offset value;
wherein an offset circuit for the port computes the offset value by using a plurality of different fields extracted from the packet header; and
(f) routing the packet using the alternate route address, if the alternate route address is valid.
2 Assignments
0 Petitions
Accused Products
Abstract
A switch element and a method for routing packets in an IB Multi Level switch and network is provided. The method includes determining if alternate routing is enabled for a packet; determining an alternate route address for the packet, if alternate routing is enabled; and routing the packet using the alternate route address, if the alternate route address is valid. The switch element includes a routing table in a port that determines a base route address; and if alternate routing is enabled for a packet, the port determines an alternate route address for a packet; and routes the packet using the alternate route address.
26 Citations
18 Claims
-
1. A method for routing packets in an InfiniBand (IB) multi level switch coupled to a network, comprising:
-
(a) receiving a packet at a port of the switch; (b) parsing information from a packet header of the packet; (c) determining if alternate routing is enabled for the packet;
wherein the alternate routing is selectably enabled and disabled by a switch processor by setting a control value that is based on a destination field for identifying a destination for the packet, and a queue pair value;(d) if alternate routing is not enabled, then routing the packet using a base route address that is based on the destination field included in a packet header for the packet; (e) if alternate routing is enabled, determining an alternate route address for the packet by adding the base route address to an offset value;
wherein an offset circuit for the port computes the offset value by using a plurality of different fields extracted from the packet header; and(f) routing the packet using the alternate route address, if the alternate route address is valid. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An IB switch element for routing packets, comprising:
-
a processor that sets a control value for enabling and disabling routing of a packet by an alternate route;
wherein the control value is based on a destination field for identifying a destination for the packet, and a queue pair value;a port that receives the packet and is configured to determine a base address for routing the packet, the base address being based on the destination field in a packet header; an offset circuit for determining an offset value that is used to determine the alternate route address, wherein the offset circuit computes the offset value based on a configuration setting set by the processor and uses a plurality of different fields extracted from the packet header; and a circuit for determining the alternate route address to route the packet, wherein the circuit adds the offset value to the base address, compares the value generated from adding the base address and the offset value to a plurality of input values that are configured and stored by the processor and based on the comparison, generates a select signal for selecting the alternate route address, if the alternate route address is a valid route. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method for routing packets, comprising:
-
(a) receiving a packet at a port of a switch coupled to a network; (b) parsing information from a packet header of the packet; (c) determining if alternate routing is enabled for the packet;
wherein the alternate routing is selectably enabled and disabled by a processor by setting a control value that is based on a destination field for identifying a destination for the packet and a queue pair value;(d) if alternate routing is not enabled, then routing the packet using a base route address that is based on the destination field included in the packet header of the packet; (e) if alternate routing is enabled, determining an alternate route address for the packet by adding the base route address to an offset value;
wherein an offset circuit for the port computes the offset value by using a plurality of different fields extracted from the packet header; and(f) routing the packet using the alternate route address, if the alternate route address is valid. - View Dependent Claims (18)
-
Specification