IP Library Granted Patent US 10,230,607
Granted Patent B2
US 10,230,607 · App. 15/416,642 · Granted Mar 12, 2019

System and method for using subnet prefix values in global route header (GRH) for linear forwarding table (LFT) lookup in a high performance computing environment

Inventors: Bjørn Dag Johnsen (Oslo, NO); Arvind Srinivasan (San Jose, CA); Shimon Muller (Sunnyvale, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L43/0876G06F11/3006G11C15/00H04L45/7457H04L47/20H04L47/70H04L49/25H04L67/1097H04L69/22G06F2201/88H04L49/358
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 10,230,607
App. No.
15/416,642
Granted
Mar 12, 2019
Kind
B2
Abstract

System and method for supporting intra- and inter-subnet address resolution in a network environment using the same linear forwarding tale (LFT) for both the intra- and inter-subnet forwarding. Subnet prefix values in global route headers (GRHs) are used for linear forwarding table (LFT) lookup in a high performance computing environments. An exemplary can provide for use of an Inter Subnet Route Number (ISRN) embedded in the subnet prefix values in the GRHs for LFT lookup in a network switch environment in a high performance computing environment such as a network having an InfiniBand (IB) architecture. A method can provide, at a computer environment, including a network fabric, one or more subnets, each of which subnets are associated with one or more network switches or hosts. The system and method is compatible with legacy switches and nodes that are not conversant with the ISRNs.

Claims (69)

1. A method for using packet headers for forwarding packets in a network switch environment in a high performance computing environment, the method comprising:

providing, at a computer environment including a network fabric, first and second subnets, the first subnet being different than the second subnet, the first subnet comprising a first set of network switches wherein each of the first set of network switches includes a linear forwarding table (LFT) and a plurality of physical ports, and the second subnet comprising a second set of network switches wherein each of the second set of network switches includes an LFT and a plurality of physical ports; and

allowing first network switch of the first set of network switches to be used for both intra-subnet forwarding of packets from the first network switch to one or more other ones of the first set of network switches of the first subnet and inter-subnet forwarding of the packets from the first network switch to one or more network switches of the second set of network switches of the second subnet respectively by:

receiving a first packet at the first network switch of the first set of network switches of the first subnet, the first packet comprising a local route header (LRH) portion identifying an address within the first subnet and a global route header (GRH) identifying an address within the second subnet;

inspecting a first portion of the LRH of the first packet;

determining a first or second condition of the first portion of the LRH of the first packet by:

comparing the first portion of the LRH relative to a predetermined value stored at the first network switch; and

selectively determining the first condition in accordance with a mis-match between the first portion of the LRH and the predetermined value; and

selectively determining the second condition in accordance with a match between the first portion of the LRH and the predetermined value by indexing a LFT of the first network switch to obtain a Special Switch Port (SSP) representative of a boundary of the first subnet;

selectively based on the first condition of the first portion of the LRH of the first packet, indexing the LFT of the first network switch to determine an intra-subnet port of the first switch and routing the first packet by the first switch to a one of the first set of network switches of the first subnet associated with the determined intra-subnet port of the first switch; and

selectively based on the second condition of the first portion of the LRH of the first packet, forming a new LRH by replacing the first portion of the LRH with a selected portion of the GRH and routing the first packet by the first switch to a one of the set of second network switches of the second subnet associated with the GRH and the formed new LRH by:

selecting an Inter-Subnet-Route-Number (ISRN) of the GRH;

using the ISRN of the GRH to index the first LFT of the first network switch; and

routing the first packet to the one of the set of second network switches of the second subnet in accordance with the indexing the first LFT using the ISRN of the GRH, wherein the second subnet is an intermediate core fabric of the network switch environment.

2. The method according to claim 1 , further comprising:

receiving from the intermediate core fabric of the network switch environment, a second packet at the first network switch of the first set of network switches of the first subnet;

determining the second packet received from intermediate core fabric is being forwarded using the ISRN; and

forwarding the second packet using the ISRN and using a target local identifier (LID) contained in a header of the second packet.

3. The method according to claim 1 , further comprising:

determining the first or second condition of the first portion of the LRH of the first packet by filtering a target local identifier (LID) of the first packet to determine whether the first packet is targeting a Special Switch Port (SSP).

4. The method according to claim 3 , wherein:

the determining the first condition of the first portion of the LRH of the first packet comprises determining that the first packet is not targeting the SSP; and

the determining the first condition of the first portion of the LRH of the first packet comprises determining that the first packet is targeting the SSP.

5. A system for using packet headers for forwarding packets in a network switch environment in a high performance computing environment, the system comprising:

a computer environment comprising:

a network fabric;

a first subnet; and

a second subnet, the first subnet being different than the second subnet, the first subnet comprising a first set of network switches wherein each of the first set of network switches includes a linear forwarding table (LFT) and a plurality of physical ports, and the second subnet comprising a second set of network switches wherein each of the second set of network switches includes an LFT and a plurality of physical ports; and

a first LFT of a first network switch of the first set of network switches,

wherein the first network switch of the first set of network switches is used for both intra-subnet forwarding of packets from the first network switch to one or more other ones of the first set of network switches of the first subnet and inter-subnet forwarding of the packets from the first network switch to one or more network switches of the second set of network switches of the second subnet respectively by the computer environment by:

receiving a first packet at the first network switch of the first set of network switches of the first subnet, the first packet comprising a local route header (LRH) portion identifying an address within the first subnet and a global route header (GRH) identifying an address within the second subnet;

inspecting a first portion of the LRH of the first packet;

determining a first or second condition of the first portion of the LRH of the first packet by:

comparing the first portion of the LRH relative to a predetermined value stored at the first network switch; and

selectively determining the first condition in accordance with a mis-match between the first portion of the LRH and the predetermined value; and

selectively determining the second condition in accordance with a match between the first portion of the LRH and the predetermined value by indexing a LFT of the first network switch to obtain a Special Switch Port (SSP) representative of a boundary of the first subnet;

selectively based on the first condition of the first portion of the LRH of the first packet, indexing the LFT of the first network switch to determine an intra-subnet port of the first switch and routing the first packet by the first switch to a one of the first set of network switches of the first subnet associated with the determined intra-subnet port of the first switch; and

selectively based on the second condition of the first portion of the LRH of the first packet, forming a new LRH by replacing the first portion of the LRH with a selected portion of the GRH and routing the first packet by the first switch to a one of the set of second network switches of the second subnet associated with the GRH and the formed new LRH by:

selecting an Inter-Subnet-Route-Number (ISRN) of the GRH;

using the ISRN of the GRH to index the first LFT of the first network switch; and

routing the first packet to the one of the set of second network switches of the second subnet in accordance with the indexing the first LFT using the ISRN of the GRH, wherein the second subnet is an intermediate core fabric of the network switch environment.

6. The system according to claim 5 , wherein the first network switch of the first set of network switches of the first subnet is operable to:

receive from the intermediate core fabric of the network switch environment, a second packet at the first network switch of the first set of network switches of the first subnet;

determine the second packet received from intermediate core fabric is being forwarded using the ISRN; and

forwarding the second packet using the ISRN and using a target local identifier (LID) contained in a header of the second packet.

7. The system according to claim 5 , wherein the first network switch of the first set of network switches of the first subnet is operable to:

determining the first or second condition of the first portion of the LRH of the first packet by filtering a target local identifier (LID) of the first packet to determine whether the first packet is targeting a Special Switch Port (SSP).

8. The system according to claim 7 , wherein the first network switch of the first set of network switches of the first subnet is operable to:

determine the first condition of the first portion of the LRH of the first packet by determining that the first packet is not targeting the SSP; and

determine the first or second condition of the first portion of the LRH of the first packet by determining that the first packet is targeting the SSP.

9. A non-transitory machine readable medium having instructions stored thereon that when executed by an associated computer comprising a network fabric, and first and second subnets, the first subnet being different than the second subnet, cause the associated computer to perform steps comprising:

providing, at a computer environment including a network fabric, first and second subnets, the first subnet being different than the second subnet, the first subnet comprising a first set of network switches wherein each of the first set of network switches includes a linear forwarding table (LFT) and a plurality of physical ports, and the second subnet comprising a second set of network switches wherein each of the second set of network switches includes an LFT and a plurality of physical ports; and

allowing a first network switch of a first set of network switches of the first subnet to be used for both intra-subnet forwarding of packets from the first network switch to one or more other ones of the first set of network switches of the first subnet and inter-subnet forwarding of the packets from the first network switch to one or more network switches of the second set of network switches of the second subnet respectively by:

receiving a first packet at the first network switch of the first set of network switches of the first subnet, the first packet comprising a local route header (LRH) portion identifying an address within the first subnet and a global route header (GRH) identifying an address within the second subnet;

inspecting a first portion of the LRH of the first packet;

determining a first or second condition of the first portion of the LRH of the first packet by:

comparing the first portion of the LRH relative to a predetermined value stored at the first network switch; and

selectively determining the first condition in accordance with a mis-match between the first portion of the LRH and the predetermined value; and

selectively determining the second condition in accordance with a match between the first portion of the LRH and the predetermined value by indexing a LFT of the first network switch to obtain a Special Switch Port (SSP) representative of a boundary of the first subnet;

selectively based on the first condition of the first portion of the LRH of the first packet, indexing the LFT of the first network switch to determine an intra-subnet port of the first switch and routing the first packet to a selected one of the first set of network switches of the first subnet; and

selectively based on the second condition of the first portion of the LRH of the first packet, forming a new LRH by replacing the first portion of the LRH with a selected portion of the GRH and routing the first packet by the first switch to a one of the set of second network switches of the second subnet associated with the GRH and the formed new LRH by:

selecting an Inter-Subnet-Route-Number (ISRN) of the GRH;

using the ISRN of the GRH to index the first LFT of the first network switch; and

routing the first packet to the one of the set of second network switches of the second subnet in accordance with the indexing the first LFT using the ISRN of the GRH, wherein the second subnet is an intermediate core fabric of the network switch environment.

10. The non-transitory machine readable medium according to claim 9 , further comprising:

determining the first or second condition of the first portion of the LRH of the first packet by filtering a target local identifier (LID) of the first packet to determine whether the first packet is targeting a Special Switch Port (SSP).

11. The non-transitory machine readable medium according to claim 10 , wherein:

the determining the first condition of the first portion of the LRH of the first packet comprises determining that the first packet is not targeting the SSP; and

the determining the second condition of the first portion of the LRH of the first packet comprises determining that the first packet is targeting the SSP.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2017
From: JOHNSEN, BJØRN DAG; SRINIVASAN, ARVIND; MULLER, SHIMON
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 041095/0398 →
Continuity (2)
Provisional Application 62288101 · Jan 28, 2016
Related Publication 20170222928A1 · Aug 3, 2017