Abstract: Method(s) and system(s) for transmitting Fibre Channel over Ethernet (FCoE) frames are disclosed. The method comprises, assigning an identifier to each of one or more fibre channel (FC) ports of an N_port ID Virtualization (NPIV) gateway (108). The method further comprises transmitting, for each of the one or more FC ports, the corresponding identifier address as a Fibre Channel Forwarder (FCF) MAC address to a plurality of Enodes (102) present in a communication network (104). The method further comprises, establishing, based at least on the FCF MAC address, a session between the Enode (102) and FC switch (110) through an FC port of the NPIV gateway (108) for switching at least one FCoE frame received from the Enode (102) to the FC switch (110).
FIELD OF INVENTION
[0001] The present subject matter relates to communication between Enodes and FC
nodes and, particularly, but not exclusively, to transmitting Fibre Channel over Ethernet (FCoE5 )
frames between Enodes and FC nodes.
BACKGROUND
[0002] With advancement in networking technology, networks supporting different
technologies are often integrated for availing the advantages associated with each of the
10 technologies. For example, in a typical data centre, computing devices interconnected via a
communication network based on Ethernet technology can be seen integrated with a Storage
Area Network (SAN) supporting Fibre Channel (FC) technology. The Ethernet technology
provides for a lossless network and the FC technology facilitates an efficient high-speed
transmission of data between devices. In order to integrate the aforementioned networks, Fibre
15 Channel over Ethernet protocol (FCoE) technology has been recently developed. The FCoE
technology enables integration of the lossless Ethernet based communication network and the
SAN network and facilitates transmission of data across devices present in the networks.
SUMMARY
[0003] This summary is provided to introduce concepts related to communication
20 between Enodes and FC nodes. This summary is not intended to identify essential features of the
claimed subject matter nor is it intended for use in determining or limiting the scope of the
claimed subject matter.
[0004] In one implementation, a method for transmitting Fibre Channel over Ethernet
(FCoE) frames is disclosed. The method comprises, assigning an identifier to each of one or
25 more Fibre Channel (FC) ports of an N_port ID Virtualization (NPIV) gateway. The method
further comprises transmitting, for each of the one or more FC ports, the corresponding identifier
as a Fibre Channel Forwarder (FCF) MAC address to a plurality of Enodes present in a
communication network. The method further comprises, establishing, based at least on the FCF
3
MAC address, a session between the Enode and FC switch through an FC port of the NPIV
gateway for switching at least one FCoE frame received from the Enode to the FC switch.
[0005] In another implementation, a N_port ID virtualization (NPIV) gateway is
described. The NPIV gateway includes a processor and an address allocation module coupled to
the processor. In one implementation, the address allocation module assigns an identifier to eac5 h
of one or more Fibre Channel (FC) ports of the NPIV gateway. The NPIV gateway further
includes a communication module coupled to the processor. The communication module
transmits, for each of the one or more FC ports, the corresponding identifier as a Fibre Channel
Forwarder (FCF) MAC address to a plurality of Enodes present in a communication network.
10 The communication module further establishes, based at least on the FCF MAC address, a
session between the Enode and FC switch through an FC port of the NPIV gateway for switching
at least one FCoE frame received from the Enode to the FC switch.
[0006] In accordance with another implementation of the present subject matter, a
computer-readable medium having embodied thereon a computer program for executing a
15 method for transmitting Fibre Channel over Ethernet (FCoE) frames is disclosed. The method
comprises, assigning an identifier to each of one or more Fibre Channel (FC) ports of an N_port
ID Virtualization (NPIV) gateway. The method further comprises transmitting, for each of the
one or more FC ports, the corresponding identifier as a Fibre Channel Forwarder (FCF) MAC
address to a plurality of Enodes present in a communication network. The method further
20 comprises, establishing, based at least on the FCF MAC address, a session between the Enode
and FC switch through an FC port of the NPIV gateway for switching at least one FCoE frame
received from the Enode to the FC switch.
BRIEF DESCRIPTION OF THE FIGURES
[0007] The detailed description is provided with reference to the accompanying figures.
25 In the figures, the left-most digit(s) of a reference number identifies the figure in which the
reference number first appears. The same numbers are used throughout the figures to reference
like features and components. Some embodiments of system and/or methods in accordance with
embodiments of the present subject matter are now described, by way of example only, and with
reference to the accompanying figures, in which:
4
[0008] Figure 1 illustrates an exemplary network environment implementation for
communication between Enodes and FC nodes, according to an embodiment of the present
subject matter;
[0009] Figure 2 illustrates a method for communication between Enodes and FC nodes,
according to an embodiment of the present subject matter5 .
DESCRIPTION OF EMBODIMENTS
[0010] Fibre Channel over Ethernet (FCoE) technology facilitates transmission of Fibre
Channel (FC) packets over Ethernet based communication networks. A Storage Area Network
(SAN) implementing the FC technology can be integrated with the Ethernet based
10 communication network. Owing to the integration of the Ethernet based communication network
and the SAN, complexity associated with implementing the aforementioned networks in parallel
is greatly reduced. For instance, the need for deploying large number of different hardware, such
as routers, switches, gateways, Host Bus Adapter (HBA's), and network interface cards (NIC's),
associated with each of the networks is reduced. Thus, deployment of the SAN and the Ethernet
15 based communication network in conjunction with the FCoE technology has proved to be a
viable and economical solution in an environment, such as an enterprise environment or data
center.
[0011] The computing devices, for example, laptops, servers, and workstation computers,
interconnected via the Ethernet based communication network are also referred to as FCoE
20 devices or Enodes. Similarly, the computing devices, for example, data servers and databases,
present in the SAN based on the FC technology are also referred to as FC nodes. The Ethernet
based communication network implementing the FCoE technology is hereinafter referred to as
FCoE network. Within SAN integrated with the FCoE network, the FCoE devices and the SAN
devices may communicate with each other.
25 [0012] In the FCoE network, network traffic is typically transmitted in FCoE frames. On
the other hand, in the SAN network, network traffic is typically transmitted in FC frames. Thus,
in order to facilitate communication between the Enodes and the FC nodes, an N_port ID
Virtualization (NPIV) gateway is deployed for converting FCoE frames to FC frames, and viceversa.
The NPIV gateway may be understood as a network device, such as a switch, having an
30 FCoE interface for supporting communication on the FCoE network side, and an FC interface for
5
supporting communication on the SAN side. Further on the SAN side, the NPIV gateway is
connected to a plurality of FC switches through one or more FC ports. As may be understood,
the SAN has a point-to-point connectivity architecture and the FC switches provide the
functionality of interconnecting the FC nodes and supports transmission of FC frames amongst
them. The FC switch further acts as a connecting point between the NPIV gateway and the F5 C
nodes connected to the FC switch.
[0013] In order to facilitate communication between an Enode and an FC node, a session
between the Enode and an FC switch, to which the FC node is connected, is created by the NPIV
gateway. Initially, a Fibre Channel Forwarder (FCF) based Media Access Control (MAC)
10 address, hereinafter referred to as FCF MAC address, of the NPIV gateway is multicasted to the
Enodes. The FCF MAC address may be understood as a MAC address based on which the
Enodes may identify the NPIV gateway. In a case, where the Enode may seek to establish the
session, the Enode transmits a login request, comprising the FCF MAC address, to the NPIV
gateway. Upon receiving the login request from the Enode, the NPIV gateway establishes the
15 session between the Enode and the FC switch through an FC port of the NPIV gateway. The FC
port through which the session is established is typically selected using known techniques, for
example, round robin scheduling technique. Upon establishment of the session, the NPIV
gateway routes the FCoE frames received from the Enode to the FC switch. The FC switch in
turn may forward the FC frames to the FC node.
20 [0014] In a known technique implemented for precisely routing the FCoE frames, the
NPIV gateway creates an Access Control List (ACL) entry in an internal hardware of the NPIV
gateway upon establishment of the session. The ACL entry may include information pertaining
to the session. For instance, the ACL entry may include information, such as an ether-type, a
virtual Local Area Network (VLAN) address of the Enode, a source MAC address of the Enode,
25 a destination MAC address, and an identity of the FC port to which the FCoE frames may be
routed. The FCoE frames received from the Enode may thus be routed to the FC port based on
the ACL entry. Thus, in order to ensure correct routing of FCoE frames, an ACL entry may be
established for each such session. However, owing to limited hardware support in the NPIV
gateway, a maximum number of sessions which the NPIV gateway may support is limited. As a
30 result, in a case where the NPIV gateway is handling the maximum number of sessions, Enodes
seeking to communicate with FC nodes may not be able to do so and may have to wait for a
6
prolonged period. The Enodes, during this period may send out repeated request for connection
which in turn may lead to congestion in the network. Further, in order to increase the scalability
of the network environment, a number of NPIV gateways being deployed in the network
environment may have to be increased. As a result, operational cost and maintenance associated
with the network environment may increas5 e
[0015] The present subject matter discloses systems and methods for facilitating
communication between Enodes and FC nodes. According to an implementation of the present
subject matter, an identifier is assigned to each of one or more FC ports of an NPIV gateway. In
an example, the identifier may be a Media Access Control (MAC) address. In said example, the
10 MAC addresses assigned to the FC ports may then be stored statically in a mapping table in the
NPIV gateway. For example, the MAC addresses may be stored statically in a Layer 2 (L2)
forwarding table in the NPIV gateway. Statically storing the MAC addresses facilitates in direct
switching of FCoE frames received from Enodes thereby averting the need for creating special
hardware entries, i.e., the ACL entries.
15 [0016] The identifiers assigned to the FC ports are then advertised as FCF MAC
addresses to a plurality of Enodes of the FCoE network for facilitating communication between
the Enodes and the FC nodes. For instance, for each FC port, a multicast discovery advertisement
(MDA) message including the FCF MAC address corresponding to the FC port may be
multicasted to the Enodes. Upon receiving the MDA messages, an Enode may select an FCF
20 MAC address from amongst the MAC addresses advertised to the Enode. The Enode may
subsequently request the NPIV gateway for establishing a session. Upon receiving the request
from the Enode, the NPIV gateway may establish the session between the Enode and FC switch
through the FC port corresponding to the FCF MAC address.
[0017] Upon establishment of the session, the Enode transmits the FCoE frames and
25 specifies the FCF MAC address in a header of the of the FCoE frames. Upon receiving the FCoE
frames, the NPIV gateway may identify the FC port corresponding to the FCF MAC address
based on the L2 forwarding table and may switch the FCoE frame to the FC port.
[0018] Thus, the present subject matter facilitates communication between Enodes and
FC nodes. In accordance with the present subject matter, as the FCoE frames are switched based
30 on the FCF MAC addresses included in the FCoE frames, the need for creating special hardware
7
entries, i.e., the ACL entries in the internal hardware of the NPIV gateway is averted. Thus, the
switching of the FCoE frames is independent of the hardware capacity of the NPIV gateway. As
a result, the NPIV gateway may render support to a large number of Enodes for communicating
with the FC nodes.
[0019] It should be noted that the description and figures merely illustrate the principle5 s
of the present subject matter. It will thus be appreciated that those skilled in the art will be able to
devise various arrangements that, although not explicitly described or shown herein, embody the
principles of the present subject matter and are included within its spirit and scope. Further, all
examples recited herein are principally intended expressly to be only for pedagogical purposes to
10 aid the reader in understanding the principles of the present subject matter and the concepts
contributed by the inventor(s) to furthering the art, and are to be construed as being without
limitation to such specifically recited examples and conditions. Moreover, all statements herein
reciting principles, aspects, and embodiments of the present subject matter, as well as specific
examples thereof, are intended to encompass equivalents thereof.
15 [0020] The manner in which the systems and the methods for communication between
Enodes and FC nodes shall be implemented has been explained in details with respect to the
Figures 1 and 2. While aspects of described systems and methods for communication between
Enodes and FC nodes can be implemented in any number of different computing systems,
transmission environments, and/or configurations, the embodiments are described in the context
20 of the following exemplary system(s).
[0021] Figure 1 illustrates a network environment 100 for communication between
Enodes and FC nodes. The network environment 100 includes one or more computing devices
102-1, 102-2, …., and 102-N, communicating with each other through a communication network
104. The computing devices 102-1, 102-2, …, and 102-N are hereinafter collectively referred to
25 as computing devices 102 and individually referred to as computing device 102. Each of the
computing devices 102 works on a communication protocol as defined by the communication
network 104 to which the computing devices 102 are communicatively coupled. The
communication network 104 may be a wireless network, or a combination of wired and wireless
networks. The communication network 104 can be a collection of individual networks,
30 interconnected with each other and functioning as a single large network (e.g., the internet or an
8
intranet). Examples of such individual networks include, but are not limited to, a Local Area
Network (LAN), a Wide Area Network (WAN), and the like. Further, depending on the
technology, the communication network 104 may include various network entities, such as
gateways, routers; however, such details have been omitted for ease of understanding. In an
implementation, the communication network 104 may be a communication network, fo5 r
example, a LAN implementing Fibre Channel over Ethernet (FCoE) technology for facilitating
the computing devices 102 to access resources pertaining to a Storage Area Network (SAN) 106.
In said implementation, the computing devices 102 are hereinafter collectively referred to as
Enodes 102, and individually referred to as the Enode 102. The SAN 106 may be understood as a
10 network interconnecting various data storage devices and processing devices, such as data
servers and databases (not shown in figure). The data storage devices and the processing devices
present in the SAN 106 are hereinafter collectively referred to as FC nodes and individually
referred to as FC node. Further, the SAN 106 may implement Fibre Channel (FC) technology for
data transmission between the FC nodes present in the SAN 106.
15 [0022] The network environment 100 further includes an N_port ID virtualization
(NPIV) gateway 108 and an FC switch 110. The NPIV gateway 108, hereinafter referred to as
gateway 108, may be understood as a switch having FC interface and FCoE interface for
facilitating communication between the Enodes 102 and the FC nodes present in the SAN 106. In
an example, the gateway 108 may have one or more FC ports for switching FCoE frames
20 received from the Enodes 102 to the FC switch 110. The FC switch 110 may then transmit the
FCoE frames to a destination FC node. As may be understood, the network environment 110
may include a plurality of NPIV gateways 108 and a plurality of FC switches 110, however, the
detail description has been described with reference to the gateway 108 and the FC switch 110
for the sake of brevity.
25 [0023] In an implementation, the gateway 108 includes one or more processor(s) 112, I/O
interface(s) 114, and a memory 116 coupled to the processor(s) 112. The processor(s) 112 may
be implemented as one or more microprocessors, microcomputers, microcontrollers, digital
signal processors, central processing units, state machines, logic circuitries, and/or any devices
that manipulate signals based on operational instructions. Among other capabilities, the
30 processor(s) 112 are configured to fetch and execute computer-readable instructions stored in the
memory 116.
9
[0024] The functions of the various elements shown in the figures, including any
functional blocks labeled as “processor(s)”, may be provided through the use of dedicated
hardware as well as hardware capable of executing software in association with appropriate
software. When provided by a processor, the functions may be provided by a single dedicated
processor, by a single shared processor, or by a plurality of individual processors, some of whic5 h
may be shared. Moreover, explicit use of the term “processor” should not be construed to refer
exclusively to hardware capable of executing software, and may implicitly include, without
limitation, digital signal processor (DSP) hardware, network processor, application specific
integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for
10 storing software, random access memory (RAM), and non volatile storage. Other hardware,
conventional and/or custom, may also be included.
[0025] The I/O interface(s) 114 may include a variety of software and hardware
interfaces, for example, interfaces for peripheral device(s), such as data input output devices,
referred to as I/O devices, storage devices, network devices, etc. The I/O device(s) may include
15 Universal Serial Bus (USB) ports, Ethernet ports, host bus adaptors, etc., and their corresponding
device drivers. The I/O interface(s) 114 facilitate the communication of the gateway 108 with
various networks, such as the communication network 104 and various communication and
computing devices, such as the FC switch 110.
[0026] The memory 116 may include any computer-readable medium known in the art
20 including, for example, volatile memory, such as static random access memory (SRAM) and
dynamic random access memory (DRAM), and/or non-volatile memory, such as read only
memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and
magnetic tapes. In one implementation, the gateway 108 also includes module(s) 118 and data
120.
25 [0027] The module(s) 118, amongst other things, include routines, programs, objects,
components, data structures, etc., which perform particular tasks or implement particular abstract
data types. The module(s) 118 may also be implemented as, signal processor(s), state
machine(s), logic circuitries, and/or any other device or component that manipulate signals based
on operational instructions.
10
[0028] Further, the module(s) 118 can be implemented in hardware, instructions executed
by a processing unit, or by a combination thereof. The processing unit can comprise a computer,
a processor, such as the processor 108, a state machine, a logic array or any other suitable
devices capable of processing instructions. The processing unit can be a general-purpose
processor which executes instructions to cause the general-purpose processor to perform th5 e
required tasks or, the processing unit can be dedicated to perform the required functions.
[0029] In another aspect of the present subject matter, the module(s) 118 may be
machine-readable instructions (software) which, when executed by a processor/processing unit,
perform any of the described functionalities. The machine-readable instructions may be stored on
10 an electronic memory device, hard disk, optical disk or other machine-readable storage medium
or non-transitory medium. In one implementation, the machine-readable instructions can be also
be downloaded to the storage medium via a network connection.
[0030] The module(s) 118 further includes an address allocation module 122, a
communication module 124, and other module(s) 126. The other module(s) 126 may include
15 programs or coded instructions that supplement applications and functions of the gateway 108.
[0031] The data 120 serves, amongst other things, serves as a repository for storing data
processed, received, associated, and generated by one or more of the module(s) 118. The data
120 includes, for example, address data 128, communication data 130, and other data 132. The
other data 132 includes data generated as a result of the execution of one or more modules in the
20 other module(s) 126.
[0032] As mentioned above, the gateway 108 facilitates communication between the
Enodes 102 and the FC nodes. In order to facilitate communication between an Enode, say the
Enode 102-1, and an FC node, the gateway 108 may initially establish a session between the
Enode 102-1 and the FC switch 110 through an FC port of the gateway 108.
25 [0033] For establishing the session, in one implementation, initially the address
allocation module 122 may assign a MAC to each of the FC ports of the gateway 108. In an
example, the address allocation module 122 may assign the MAC addresses from a pool of
reserved MAC addresses stored with the gateway 108. Upon assigning the MAC addresses, the
address allocation module 122 may store the MAC addresses corresponding to the FC ports in
30 the address data 128. In an example, the address allocation module 122 may store the MAC
11
addresses statically in a Layer 2 (L2) forwarding table. The assigning and statically storing of the
MAC addresses may be understood as learning of the MAC addresses by the gateway 108. As
may be understood, upon learning of a MAC address, network traffic pertaining to the MAC
address may be switched directly based on the MAC address. Henceforth, the gateway 108 may
switch data packets or FCoE frames based directly on a MAC address included in the data packe5 t
or the FCoE frame. As a result, the gateway 108 may not create additional entry for switching
traffic from the Enodes 102.
[0034] Upon assigning and storing the MAC addresses, the communication module 124
may transmit the MAC addresses as FCF MAC addresses to the Enodes 102. Prior to
10 transmitting the MAC addresses, the communication module 124 may send a Fibre Channel
Login Request (FLOGI) to the FC switch 110 for ascertaining the availability of the FC switch
110. Upon receiving a successful acknowledgement from the FC switch 110, the communication
module 124 may then transmit the MAC addresses to the Enodes 102. For example, for each of
the FC ports, the communication module may include the MAC address assigned to the FC port
15 as an FCF MAC address in an MDA message. Thereafter, the communication module 124 may
multicast the MDA to the Enodes 102. Further, in one example, the communication module 124
may multicast the MDA messages periodically. For instance, the communication module 124
may multicast the MDA messages after every two second. In another example, the
communication module 124 may receive a request from the Enode 102-1 for establishing the
20 session. In said example, the communication module 124 may transmit a unicast discovery
advertisement (UDA) message. The MDA message, besides the FCF MAC address, may include
one or more parameters, such as, a priority indicator and an availability of the FC port. As may
be understood, the availability bit indicates whether the FC port can handle additional sessions or
not. In an example, where the FC port may not be able to support any new sessions, the
25 availability bit pertaining to the FC port may be set as '0'. In another example, where the FC port
may be able to support new sessions, the availability bit may be set as '1'. In one implementation,
the communication module 124 may not multicast the FCF MAC addresses corresponding to the
FC ports for which the availability is set as '0'.
[0035] Upon receiving the MDA messages multicasted by the communication module
30 124, the Enode 102-1 may select an FCF MAC address for establishing the session. In an
example, the Enode 102-1 may select the FCF MAC address based on the parameters included in
12
the MDA message. For instance, the Enode 102-1 may select the FCF MAC address for
establishing the session based on the availability bit and the priority bit specified in the MDA
message. In another example, the Enode 102-1 may select the FCF MAC address based on
predetermined rules. The Enode 102-1 may then transmit a login request message including the
FCF MAC address to the gateway 108. For example, the Enode 102-1 may transmit a FIP LOG5 I
to the gateway 108.
[0036] Upon receiving the login request message, the communication module 124 may
establish the session between the Enode 102-1 and the FC switch 110 via the FC port
corresponding to the FCF MAC address specified in the login request message. For establishing
10 the session, the communication module 124 may convert the login request message to an FC
FDISC message and may subsequently transmit the FC FDISC message to the FC switch 110.
Upon receiving the FC FDISC message, the FC switch 110 may either accept or reject the
request for establishing the session. Upon receiving a successful acknowledgement, i.e.,
LS_ACC from the FC switch 110, the communication module 124 may then communicate the
15 successful acknowledgement of the session establishment to the Enode 102-1. Upon
establishment of the session, the Enode 102-1 may include the FCF MAC address in a header of
the FCoE frames transmitted by the Enode 102-1. In an implementation, the communication
module 124 may receive the FCoE frames transmitted by the Enode 102-1. Thereafter, the
communication module 124 may identify the FC port corresponding to the FCF MAC address
20 included in the header of the FCoE frame. Thereafter, the communication module 124 may
switch the FCoE frame to the FC port for transmittal to the FC switch 110.
[0037] In an illustrative example, the gateway 108 may be configured in a manner as
described below for servicing login request received from a particular vlan through particular FC
ports.
25 Example configuration
fibre-channel npiv-proxy load-balance Enode-based
fibre-channel port 2/1 mode NP
fibre-channel port 2/2 mode NP
fibre-channel vsan 1 members port 2/1-2
13
fcoe vlan 1000
fcoe vsan-map vsan 1 vlan 1000
In the example configuration illustrated above, the gateway 108 is configured to service the login
requests received from the Enodes 102, pertaining to the VLAN 1000, through the ports 2/1 and
2/2. In said example configuration, the gateway 108 advertises the MAC addresses assigned t5 o
the ports 2/1 and 2/2 as FCF MAC addresses to the Enodes present in the VLAN 1000. Upon
receiving a login request from an Enode of the VLAN 1000, a session is established between the
Enode and an FC switch through the FC port whose FCF MAC address is specified in the login
request message. The FCoE frames are then routed through the port.
10 [0038] Figure 2 illustrates a method 200 for communication between Enodes and FC
nodes, in accordance with an embodiment of the present subject matter. The order in which the
method 200 is described is not intended to be construed as a limitation, and any number of the
described method blocks can be combined in any order to implement the method 200, or an
alternative method. Additionally, individual blocks may be deleted from the method without
15 departing from the spirit and scope of the subject matter described herein. Furthermore, the
method can be implemented in any suitable hardware, software, firmware, or combination
thereof.
[0039] The method(s) may be described in the general context of computer executable
instructions. Generally, computer executable instructions can include routines, programs, objects,
20 components, data structures, procedures, modules, functions, etc., that perform particular
functions or implement particular abstract data types. The method may also be practiced in a
distributed computing environment where functions are performed by remote processing devices
that are linked through a communications network. In a distributed computing environment,
computer executable instructions may be located in both local and remote computer storage
25 media, including memory storage devices.
[0040] A person skilled in the art will readily recognize that steps of the method can be
performed by programmed computers. Herein, some embodiments are also intended to cover
program storage devices, for example, digital data storage media, which are machine or
computer readable and encode machine-executable or computer-executable programs of
30 instructions, wherein said instructions perform some or all of the steps of the described method.
14
The program storage devices may be, for example, digital memories, magnetic storage media,
such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data
storage media. The embodiments are also intended to cover all the communication networks and
communication devices configured to perform said steps of the exemplary method.
[0041] At block 202, a MAC address is assigned to each of one or more FC port5 s
pertaining to an NPIV gateway. The MAC addresses assigned to the FC ports may be obtained
from a pool of MAC addresses reserved with the NPIV gateway. The MAC addresses assigned
to the FC ports may then be stored statically in an L2 forwarding table of the NPIV gateway. In
an example, the address allocation module 122 may assign the MAC addresses to the FC ports.
10 [0042] At block 204, for each of the FC ports, corresponding MAC address is transmitted
as an FCF MAC address to a plurality of Enodes present in a communication network. The
communication network may be an Ethernet based communication network supporting FCoE
technology. As mentioned above in the description of Figure 1, prior to the transmission, the
availability of FC switches connected to the NPIV gateway is ascertained. Based on the
15 availability of the FC switches, the MAC addresses are then advertised to the ENodes. In an
example, the FCF MAC addresses is included in an MDA message and subsequently transmitted
to the Enodes. In said example, the MDA message may include one or more parameters
pertaining to the FC port. For instance, the MDA message may include a priority indicator and
an availability bit indicating a load of sessions currently being served by the FC port. In an
20 example, the communication module 124 may transmit the MDA message to the Enodes 102.
[0043] At block 206, a login request message is received from an Enode for establishing
a session with an FC switch through an FC port of the NPIV gateway. Upon receiving the MDA
messages, the Enode may select an FCF MAC address from amongst the FCF MAC addresses
advertised to the Enode. The Enode may then transmit the login request message including the
25 FCF MAC address to the NPIV gateway for establishing the session with the FC switch. For
example, the Enode may send a FIP FLOGI message to the NPIV gateway. In an example, the
communication module 124 may receive the login request message from the Enode 102-1.
[0044] At block 208, based on the login request message, the session is established with
the FC switch through the FC port for facilitating communication with an FC node. In an
30 example, the login request message is initially converted to FC FDISC message and
15
subsequently transmitted to the FC switch for seeking establishment of the session. The FC
switch may then either accept or reject the request for establishment of the session. In a case
where the FC switch accepts the request for establishment of the session, the session is then
established between the Enode and the FC switch. In an example, the communication module
124 may establish the session with the FC switch through the FC port based on the FCF MA5 C
address specified in the login request message. Upon establishment of the session, the Enodes
may transmit FCoE frames to be transmitted to the FC node and may include the FCF MAC
address in a header of the FCoE frame. Thereafter, FCoE frames received from the Enodes may
be switched to the FC port based on the FCF MAC address included in the header of the FCoE
10 frames. The FC port may then transmit the same to an FC switch for routing to the FC node. As
may be understood, the NPIV gateway may receive and transmit the FC frames which are to be
transmitted to the Enode. The NPIV gateway may then subsequently encapsulate the FC frames
into FCoE frames and may transmit the FCoE frames to the Enode.
[0045] Although implementations for communication between Enodes and FC nodes
15 have been described in a language specific to structural features and/or methods, it is to be
understood that the appended claims are not necessarily limited to the specific features or
methods described. Rather, the specific features and methods are disclosed as exemplary
implementations for communication between Enodes and FC nodes.
I/We claim:
1. A method for transmitting Fibre Channel over Ethernet (FCoE) frames, the method
comprising:
assigning an identifier to each of one or more fibre channel (FC) ports of an N_por5 t
ID Virtualization (NPIV) gateway (108);
transmitting, for each of the one or more FC ports, the corresponding identifier as a
Fibre Channel Forwarder (FCF) MAC address to a plurality of Enodes present in a
communication network (104); and
10 establishing, based at least on the FCF MAC address, a session between the Enode
(102) and FC switch (110) through an FC port of the NPIV gateway (108) for switching
at least one FCoE frame received from the Enode (102) to the FC switch (110).
2. The method as claimed in claim 1, wherein the identifiers corresponding to the one or
more FC ports are stored by the NPIV gateway (108).
15 3. The method as claimed in claim 1, wherein the switching further comprises:
receiving the FCoE frame from the Enode, wherein the FCoE frame further
comprises the FCF MAC address in a header of the FCoE frame; and
identifying the FC port corresponding to the FCF MAC address.
4. The method as claimed in claim 1, wherein the communication network is an Ethernet
20 based communication network.
5. The method as claimed in claim 1, wherein the FCF MAC address is transmitted in at
least one of a multicast discovery advertisement (MDA) message and a unicast discovery
advertisement (UDA) message.
6. The method as claimed in claim 1, wherein the FCF MAC address is selected by the
25 Enode based on predetermined rules.
7. The method as claimed in claim 1, wherein the establishing further comprises receiving a
login request message comprising the FCF MAC address.
8. A N_port ID Virtualization (NPIV) gateway (108) comprising:
a processor (112);
30 one or more Fibre Channel (FC) ports;
17
an address allocation module (122) coupled to the processor (112) to assign an
identifier to each of one or more fibre channel (FC) ports of the NPIV gateway (108); and
a communication module (124) coupled to the processor (112) to,
transmit, for each of the one or more FC ports, the corresponding identifier as
a Fibre Channel Forwarder (FCF) MAC address to a plurality of Enodes present i5 n
a communication network; and
establish, based at least on the FCF MAC address, a session between the
Enode (102) and FC switch (110) through an FC port of the NPIV gateway (108)
for switching at least one FCoE frame received from the Enode (102) to the FC
10 switch (110).
9. The NPIV gateway (108) as claimed in claim 8, wherein the communication module
(124) further is to receive the login request message from the Enode.
10. The NPIV gateway (108) as claimed in claim 8, wherein the communication module
(124) further is to,
15 receive the FCoE frame from the Enode, wherein the FCoE frame further comprises
the FCF MAC address in a header of the FCoE frame, and wherein the FCF MAC
address is selected by the Enode based on predetermined rules;
identify the FC port corresponding to the FCF MAC address; and
switch the FCoE frame to the FC port.
20 11. The NPIV gateway (108) as claimed in claim 8, wherein the communication network is
an Ethernet based communication network.
12. The NPIV gateway as claimed in claim 8, wherein the communication module (124)
further is to transmit the FCF MAC address in at least one of a multicast discovery
advertisement (MDA) message and a unicast discovery advertisement (UDA) message.
25 13. The NPIV gateway as claimed in claim 8, wherein the communication module (124)
further is to receive a login request message comprising the FCF MAC address.
14. A computer-readable medium having embodied thereon a computer program for
transmitting Fibre Channel over Ethernet (FCoE) frames, the method comprising:
assigning an identifier to each of one or more fibre channel (FC) ports of an N_port
30 ID Virtualization (NPIV) gateway (108);
18
transmitting, for each of the one or more FC ports, the corresponding identifier as a
Fibre Channel Forwarder (FCF) MAC address to a plurality of Enodes present in a
communication network (104); and
establishing, based at least on the FCF MAC address, a session between the Enode
(102) and FC switch (110) through an FC port of the NPIV gateway (108) for switchin5 g
at least one FCoE frame received from the Enode (102) to the FC switch (110).
| # | Name | Date |
|---|---|---|
| 1 | 3823-DEL-2013-AbandonedLetter.pdf | 2019-10-14 |
| 1 | SPEC IN.pdf | 2014-04-21 |
| 2 | FIG IN.pdf | 2014-04-21 |
| 2 | 3823-DEL-2013-FER.pdf | 2019-01-28 |
| 3 | Form-2(Online).pdf | 2016-07-23 |
| 3 | 3823-del-2013-GPA.pdf | 2014-05-27 |
| 4 | 3823-del-2013-Form-3.pdf | 2014-05-27 |
| 4 | 3823-del-2013-Correspondence-Others-(03-07-2014).pdf | 2014-07-03 |
| 5 | 3823-del-2013-Form-5-(03-07-2014).pdf | 2014-07-03 |
| 5 | 3823-del-2013-Form-2.pdf | 2014-05-27 |
| 6 | 3823-del-2013-Form-1.pdf | 2014-05-27 |
| 6 | 3823-del-2013-Correspondence-Others-(30-06-2014).pdf | 2014-06-30 |
| 7 | 3823-del-2013-Drawings.pdf | 2014-05-27 |
| 7 | 3823-del-2013-Correspondence-others.pdf | 2014-05-27 |
| 8 | 3823-del-2013-Description (Provisional).pdf | 2014-05-27 |
| 9 | 3823-del-2013-Drawings.pdf | 2014-05-27 |
| 9 | 3823-del-2013-Correspondence-others.pdf | 2014-05-27 |
| 10 | 3823-del-2013-Correspondence-Others-(30-06-2014).pdf | 2014-06-30 |
| 10 | 3823-del-2013-Form-1.pdf | 2014-05-27 |
| 11 | 3823-del-2013-Form-5-(03-07-2014).pdf | 2014-07-03 |
| 11 | 3823-del-2013-Form-2.pdf | 2014-05-27 |
| 12 | 3823-del-2013-Form-3.pdf | 2014-05-27 |
| 12 | 3823-del-2013-Correspondence-Others-(03-07-2014).pdf | 2014-07-03 |
| 13 | Form-2(Online).pdf | 2016-07-23 |
| 13 | 3823-del-2013-GPA.pdf | 2014-05-27 |
| 14 | FIG IN.pdf | 2014-04-21 |
| 14 | 3823-DEL-2013-FER.pdf | 2019-01-28 |
| 15 | SPEC IN.pdf | 2014-04-21 |
| 15 | 3823-DEL-2013-AbandonedLetter.pdf | 2019-10-14 |
| 1 | SearchStrategy_16-01-2019.pdf |