Inter-Fabric Routing
Abstract
A method and apparatus is shown for communicating Fibre Channel frames between distinct fabrics. A proxy zone is established in each fabric with a physically present local device and a remote fabric device. A router creates a proxy device in each fabric for every device not physically connected to the fabric. The proxy devices appear to be directly attached to the router. The router handles all address translations between proxy and physical addresses. When multiple routers are encountered, the ingress router does all address translation. No routing or encapsulation headers are used except when routing between two routers. The source ID and the originator exchange identifier are stored at the egress router for all link requests that require special handling. When replies pass through that router, the destination ID and originator exchange identifier are compared with the stored information. On a match, the reply is specially handled.
Claims
exact text as granted — not AI-modified1 .- 20 . (canceled)
21 . A routing device, comprising:
a switch configured to direct a frame from a first fabric to a second fabric, the frame comprising a source ID corresponding to a first physical port address of a first physical device and a destination ID corresponding to a first proxy address of a first proxy device, the first physical port address and the first proxy address being first fabric addresses; and routing logic configured to translate the destination ID to a second physical port address of a second physical device and the source ID to a second proxy address of a second proxy device, the second physical port address and the second proxy address being second fabric addresses; wherein the frame is a link service frame comprising a port address in a payload and said routing logic further identifies the frame as needing software processing by examining a header and a command code in the frame, the software processing comprising translating the port address in the payload.
22 . The routing device of claim 21 , wherein examining the header comprises examining an R_CTL value.
23 . The routing device of claim 21 , wherein the frame comprises translated source and destination IDs and is directed to a wide area network (WAN) identified as a path to the second fabric.
24 . The routing device of claim 23 , wherein the frame is prepared for transmission over the WAN as one or more SONET frames or as one or more Gigabit Ethernet frames.
25 . The routing device of claim 21 , wherein the frame comprises translated source and destination IDs and is directed to a third fabric identified as a path to the second fabric.
26 . The routing device of claim 25 , wherein the frame is prepared for transmission over the third fabric by adding an inter-fabric routing header.
27 . The routing device of claim 26 , wherein the inter-fabric routing header comprises a hop count field and an expiration timer.
28 . The routing device of claim 26 , wherein the inter-fabric routing header comprises a source fabric identifier that identifies the first fabric and a destination fabric identifier that identifies the second fabric.
29 . The routing device of claim 26 , wherein the frame is further prepared for transmission by adding an encapsulation header after adding the inter-fabric routing header.
30 . A routing device, comprising:
a processor that performs software processing; and a module; wherein the module translates a destination ID within a received frame from that of a first proxy address of a first proxy device to that of a second physical port address of a second physical device and a source ID from that of a first physical port address of a first physical device to that of a second proxy address of a second proxy device, the first physical port address and the first proxy address being first fabric addresses and the second physical port address and the second proxy address being second fabric addresses; and the module further identifying the frame as needing software processing by examining a header and a command code in the frame, the frame further comprising a port address in a payload, and the software processing comprising translating the port address in the payload.
31 . The routing device of claim 30 , wherein examining the header comprises examining an R_CTL value.
32 . The routing device of claim 30 , wherein the frame comprises translated source and destination IDs and the module further directs the frame to a wide area network (WAN) identified as a path to the second fabric.
33 . The routing device of claim 32 , wherein the module further prepares the frame for transmission over the WAN as one or more SONET frames or as one or more Gigabit Ethernet frames.
34 . The routing device of claim 30 , wherein the frame comprises translated source and destination IDs and the module further directs the frame to a third fabric identified as a path to the second fabric.
35 . The routing device of claim 34 , wherein the module further prepares the frame for transmission over the third fabric by adding an inter-fabric routing header.
36 . The routing device of claim 35 , wherein the inter-fabric routing header comprises a hop count field and an expiration timer.
37 . The routing device of claim 35 , wherein the inter-fabric routing header comprises a source fabric identifier that identifies the first fabric and a destination fabric identifier that identifies the second fabric.
38 . The routing device of claim 35 , wherein the module further prepares the frame for transmission by adding an encapsulation header after adding the inter-fabric routing header.
39 . A method, comprising:
translating, by a routing device, a destination ID within a received frame from that of a first proxy address of a first proxy device to that of a second physical port address of a second physical device and a source ID from that of a first physical port address of a first physical device to that of a second proxy address of a second proxy device, the first physical port address and the first proxy address being first fabric addresses and the second physical port address and the second proxy address being second fabric addresses; identifying, by the routing device, the frame as needing software processing by examining a header and a command code in the frame, the frame further comprising a port address in a payload, wherein the software processing comprises translating the port address in the payload.
40 . The method of claim 39 , wherein examining the header comprises examining an R_CTL value.
41 . The method of claim 39 , wherein the frame comprises translated source and destination IDs and the method further comprises directing the frame to a wide area network (WAN) identified as a path to the second fabric.
42 . The method of claim 41 , further comprising preparing, by the routing device, the frame for transmission over the WAN as one or more SONET frames or as one or more Gigabit Ethernet frames.
43 . The method of claim 39 , wherein the frame comprises translated source and destination IDs and the method further comprises directing the frame to a third fabric identified as a path to the second fabric.
44 . The method of claim 43 , further comprising preparing, by the routing device, the frame for transmission over the third fabric by adding an inter-fabric routing header.
45 . The method of claim 44 , wherein the inter-fabric routing header comprises a hop count field and an expiration timer.
46 . The method of claim 44 , wherein the inter-fabric routing header comprises a source fabric identifier that identifies the first fabric and a destination fabric identifier that identifies the second fabric.
47 . The method of claim 44 , further comprising preparing, by the routing device, the frame for transmission by adding an encapsulation header after adding the inter-fabric routing header.
48 . The method of claim 39 , further comprising:
identifying, by the routing device, a second frame as a link services request; identifying, by the routing device, a source ID of the second frame as matching the first proxy address; storing, by the routing device, the source ID and an exchange ID of the second frame; identifying, by the routing device, a third frame as a link services reply; and translating, by the routing device, a port address within a data payload of the third frame if a destination ID and an exchange ID within the third frame respectively match the stored source ID and stored exchange ID.
49 . A method, comprising:
identifying a first frame as a link service frame comprising a port address in a payload; storing the source ID and an exchange ID of the first frame; and identifying a second frame as a link services reply and translating a port address within a data payload of the second frame, if the destination ID and the exchange ID within the second frame respectively match the stored source ID and the stored exchange ID.
50 . The method of claim 49 , further comprising directing the second frame to a wide area network (WAN) identified as a path to the first fabric.
51 . The method of claim 50 , further comprising preparing the second frame for transmission over the WAN as one or more SONET frames or as one or more Gigabit Ethernet frames.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.