System and method for direct communications between FCoE devices
AssigneeEmulex Design & Manufacturing Corporation
InventorKenneth Hiroshi Hirata
Life of this patent
Estimating the term…
Abstract
Disclosed is an improved mechanism for direct communications and frame routing between FCoE devices within an Ethernet network supporting FCoE protocols. In particular, the methods and systems disclosed herein enable direct communications from one FCoE device to another without going through any intermediary such as an FCF (FCoE Forwarder) that is designed to route traffic between FCoE devices according to the current FCoE standards. This is accomplished by registering the Ethernet MAC address of an FCoE device in a name server via certain objects presently used in an FIP fabric login request, e.g., Port_Name or Node_Name, and other standard-specified objects and functionalities without requiring any changes to the existing FCoE and FC standards.
Claims43
A method of enabling direct communications between a number of Fibre Channel over Ethernet (FCoE) devices in an Ethernet network, said method comprising:
- registering said FCoE devices with a name server in said Ethernet network, said name server configured to accept or reject registration of each FCoE device, and upon acceptance of a registration, store at least one object associated with the registered FCoE device, said at least one object comprising a Port_Name or a Node_Name containing a Media Access Control (MAC) address of the FCoE device;
- receiving, at said name server, a discovery request from an origination FCoE device to discover all other registered FCoE devices in said Ethernet network;
- and
- in response to said discovery request, retrieving a plurality of objects stored in said name server for said other registered FCoE devices and sending said objects to said origination FCoE device, each of said objects indicative of a MAC address of its associated FCoE device.
A method of registering an Fibre Channel over Ethernet (FCoE) device with a name server in an Ethernet network, said method comprising:
- generating a fabric login request frame in said FCoE device in accordance with a pre-defined format, said fabric login request frame including at least a Port_Name that contains a Media Access Control (MAC) address assigned to said FCoE device;
- sending said fabric login request frame to a FCoE switch;
- in response to receiving said fabric login request frame in said FCoE switch, assigning a port identifier for a VN_Port to be created in said FCoE device;
- sending a fabric login reply frame to said FCoE device, said fabric login reply frame including said port identifier for said VN_Port and said MAC address contained in said Port_Name;
- and
- registering said Port_Name in said name server.
A method for one Fibre Channel over Ethernet (FCoE) device to discover and directly communicate with other FCoE devices in an Ethernet network supporting FCoE protocols, said method comprising:
- sending a query from said one FCoE device to a name server to discover said other FCoE devices registered with said name server;
- in response to said query, retrieving one or more Port_Names or one or more Node_Names associated with said other FCoE devices that are pre-stored in said name server during a fabric login of each of said FCoE devices, each of said one or more Port_Names and Node_Names formatted to contain an Ethernet MAC address of its associated FCoE device;
- sending said retrieved one or more Port_Names or Node_Names associated with said other FCoE devices to said one FCoE device;
- generating a table in said one FCoE device in accordance with said retrieved one or more Port_Names or Node_Names, said table containing associations between a plurality of Fibre Channel (FC) port identifiers and a plurality of Ethernet Media Access Control (MAC) addresses of said other FCoE devices;
- and
- sending FCoE frames from said one FCoE device directly to any of said other FCoE devices in accordance with said table.
A system comprising:
- a plurality of Fibre Channel over Ethernet (FCoE) devices over an Ethernet network, said FCoE devices registered with a name server, wherein each FCoE device is configured to:
- query said name server to retrieve a plurality of objects associated with other FCoE devices, each of said plurality of objects comprising a Port_Name or a Node_Name formatted to describe a Media Access Control (MAC) address of its associated FCoE device,
- create a table based upon said plurality of objects, said table including associations between a plurality of Fibre Channel (FC) port identifiers and said MAC addresses of said FCoE devices;
- identify from said table a MAC address of a destination FCoE device corresponding to a destination FC port identifier;
- and
- send FCoE frames with FC frames encapsulated therein directly to said destination FCoE device in accordance with said identified MAC address.
An Fibre Channel over Ethernet (FCoE) device comprising:
- an FCoE controller;
- an Ethernet Media Access Control (MAC) coupled with said FCoE controller;
- an Ethernet port configured to interface with an Ethernet network comprising said FCoE device and a number of other FCoE devices;
- a VN_Port having a distinct Fibre Channel (FC) port identifier and Port_Name, said VN_Port being an end point for FC frame communications;
- an FCoE Link End-Point (FCoE_LEP) interfacing said Ethernet MAC and said VN_Port, said FCoE_LEP configured to encapsulate FC frames into FCoE frames to be transmitted to said Ethernet network and decapsulate FC frames from FCoE frames received from said Ethernet network;
- and
- an address table configured to associate a plurality of FC port identifiers and a plurality of MAC addresses of said other FCoE devices in said Ethernet network so as to enable direct communications between said FCoE device and said other FCoE devices.
A non-transitory computer-readable storage medium comprising processor-executable instructions, said instructions, while executed, causing a processor to:
- register a first Fibre Channel over Ethernet (FCoE) device with a name server in an Ethernet network comprising a plurality of FCoE devices, said name server configured to accept or reject said registration of said FCoE target device, and upon acceptance of said registration, to store at least one of a Port_Name and a Node_Name associated with said first FCoE device,
- wherein said Port_Name and said Node_Name are formatted to contain at least a Media Access Control (MAC) address associated with said first FCoE device so that said first FCoE device is discoverable to one or more of said plurality of FCoE devices for direct communications without using any FCoE switch.
A non-transitory computer-readable storage medium comprising processor-executable instructions, said instructions, while executed, causing a processor to:
- receive a fabric login request frame from an Fibre Channel over Ethernet (FCoE) device, said fabric login request frame generated by said FCoE device in accordance with a pre-defined format, and including at least one of a Port_Name and a Node_Node, said Port_Name and Node_Name formatted to describe a Media Access Control (MAC) address assigned to said FCoE device;
- in response to said fabric login request, assign a port identifier for a VN_Port to be created in said FCoE device;
- generate a fabric login reply frame to include said port identifier and said MAC address contained in least one of said Port_Name and Node_Name;
- send said fabric login reply frame to said FCoE device;
- and
- register said Port_Name or said Node_Name in a name server to which said FCoE device is registered.
A non-transitory computer-readable storage medium comprising processor-executable instructions, said instructions, while executed, causing a processor to:
- query a name server to discover a plurality of FCoE devices in an Ethernet network, said name server configured to, in response to said query, retrieve a plurality of objects associated with said FCoE devices, said plurality of objects associated with said FCoE devices comprising one or more Port_Names or Node_Names, each of said Port_Name and Node_Name formatted to describe a Media Access Control (MAC) address of one of said FCoE devices;
- receive said plurality of objects from said name server;
- and
- based upon said plurality of objects, generate a table that associates a plurality of Fibre Channel (FC) port identifiers with said MAC addresses of said FCoE devices.
Dependencies are inferred from the claim text.