Configuring Fibre Channel Domain Parameters

This chapter describes how to configure Fibre Channel domain parameters.

This chapter includes the following sections:

Information About Domain Parameters

The Fibre Channel domain (fcdomain) feature performs principal switch selection, domain ID distribution, FC ID allocation, and fabric reconfiguration functions as described in the FC-SW-2 standards. The domains are configured on a per-VSAN basis. If you do not configure a domain ID, the local switch uses a random ID.


Caution


Changes to fcdomain parameters should not be performed on a daily basis. These changes should be made by an administrator or individual who is completely familiar with switch operations.


When you change the configuration, be sure to save the running configuration. The next time you reboot the switch, the saved configuration is used. If you do not save the configuration, the previously saved startup configuration is used.

Fibre Channel Domains

The fcdomain has four phases:

  • Principal switch selection—This phase guarantees the selection of a unique principal switch across the fabric.

  • Domain ID distribution—This phase guarantees that each switch in the fabric obtains a unique domain ID.

  • FC ID allocation—This phase guarantees a unique FC ID assignment to each device attached to the corresponding switch in the fabric.

  • Fabric reconfiguration—This phase guarantees a resynchronization of all switches in the fabric to ensure they simultaneously restart a new principal switch selection phase.

The following figure shows an example fcdomain configuration.

Figure 1. Sample fcdomain Configuration

Domain Restarts

Fibre Channel domains can be started disruptively or nondisruptively. If you perform a disruptive restart, reconfigure fabric (RCF) frames are sent to other switches in the fabric and data traffic is disrupted on all the switches in the VSAN (including remotely segmented ISLs). If you perform a nondisruptive restart, build fabric (BF) frames are sent to other switches in the fabric and data traffic is disrupted only on the switch.

If you are attempting to resolve a domain ID conflict, you must manually assign domain IDs. A disruptive restart is required to apply most configuration changes, including manually assigned domain IDs. Nondisruptive domain restarts are acceptable only when changing a preferred domain ID into a static one (and the actual domain ID remains the same).


Note


A static domain is specifically configured by the user and may be different from the runtime domain. If the domain IDs are different, the runtime domain ID changes to take on the static domain ID after the next restart.


You can apply most of the configurations to their corresponding runtime values. Each of the following sections provide further details on how the fcdomain parameters are applied to the runtime values.

The fcdomain restart command applies your changes to the runtime settings. The disruptive option is not supported.

Restarting a Domain

You can restart the fabric disruptively or nondisruptively.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain restart vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain restart vsan vsan-id

Example:
switch (config)# fcdomain restart vsan 100

Forces the VSAN to reconfigure without traffic disruption. The VSAN ID ranges from 1 to 4093.

Switch Priority

By default, the configured priority is 128. The valid range to set the priority is between 1 and 254. Priority 1 has the highest priority. Value 255 is accepted from other switches, but cannot be locally configured.

Any new switch cannot become the principal switch when it joins a stable fabric. During the principal switch selection phase, the switch with the highest priority becomes the principal switch. If two switches have the same configured priority, the switch with the lower world-wide name (WWN) becomes the principal switch.

The priority configuration is applied to runtime when the fcdomain is restarted. This configuration is applicable to both disruptive and nondisruptive restarts.

Configuring Switch Priority

You can configure the priority for the principal switch.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain priority number vsan vsan-id
  3. no fcdomain priority number vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain priority number vsan vsan-id

Example:
switch(config)# fcdomain priority 12 vsan 1

Configures the specified priority for the local switch in the specified VSAN. The fcdomain priority ranges from 1 to 254. The VSAN ID ranges from 1 to 4093.

Step 3

no fcdomain priority number vsan vsan-id

Example:
switch(config)# no fcdomain priority 12 vsan 1

Reverts the priority to the factory default (128) in the specified VSAN. The fcdomain priority ranges from 1 to 254. The VSAN ID ranges from 1 to 4093.

Configuring Fabric Names

You can set the fabric name value for a disabled fcdomain.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain fabric-name 20:1:ac:16:5e:0:21:01 vsan vsan-id
  3. no fcdomain fabric-name 20:1:ac:16:5e:0:21:01 vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain fabric-name 20:1:ac:16:5e:0:21:01 vsan vsan-id

Example:
switch(config)# fcdomain fabric-name 20:1:ac:16:5e:0:21:01 vsan 1

Assigns the configured fabric name value in the specified VSAN. The VSAN ID ranges from 1 to 4093.

Step 3

no fcdomain fabric-name 20:1:ac:16:5e:0:21:01 vsan vsan-id

Example:
switch(config)# no fcdomain fabric-name 20:1:ac:16:5e:0:21:01 vsan 1

Changes the fabric name value to the factory default (20:01:00:05:30:00:28:df) in VSAN 3010. The VSAN ID ranges from 1 to 4093.

Incoming RCFs

You can configure the rcf-reject option on a per-interface, per-VSAN basis. By default, the rcf-reject option is disabled (that is, RCF request frames are not automatically rejected).

The rcf-reject option takes effect immediately.

No fcdomain restart is required.


Note


You do not need to configure the RCF reject option on virtual Fibre Channel interfaces.


Rejecting Incoming RCFs

You can reject incoming RCF request frames.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain rcf-reject vsan vsan-id
  3. no fcdomain rcf-reject vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain rcf-reject vsan vsan-id

Example:
switch(config-if)# fcdomain rcf-reject vsan 10

Enables the RCF filter on the specified interface in the specified VSAN. The VSAN ID ranges from 1 to 4093.

Step 3

no fcdomain rcf-reject vsan vsan-id

Example:
switch(config-if)# no fcdomain rcf-reject vsan 10

Disables (default) the RCF filter on the specified interface in the specified VSAN. The VSAN ID ranges from 1 to 4093.

Autoreconfiguring Merged Fabrics

By default, the autoreconfigure option is disabled. When you join two switches belonging to two different stable fabrics that have overlapping domains, the following situations can occur:

  • If the autoreconfigure option is enabled on both switches, a disruptive reconfiguration phase is started.

  • If the autoreconfigure option is disabled on either or both switches, the links between the two switches become isolated.

The autoreconfigure option takes immediate effect at runtime. You do not need to restart the fcdomain. If a domain is currently isolated due to domain overlap, and you later enable the autoreconfigure option on both switches, the fabric continues to be isolated. If you enabled the autoreconfigure option on both switches before connecting the fabric, a disruptive reconfiguration (RCF) will occur. A disruptive reconfiguration can affect data traffic. You can nondisruptively reconfigure the fcdomain by changing the configured domains on the overlapping links and eliminating the domain overlap.

Enabling Autoreconfiguration

You can enable automatic reconfiguration in a specific VSAN (or range of VSANs).

SUMMARY STEPS

  1. configure terminal
  2. fcdomain auto-reconfigure vsan vsan-id
  3. no fcdomain auto-reconfigure vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain auto-reconfigure vsan vsan-id

Example:
switch(config)# fcdomain auto-reconfigure vsan 1

Enables the automatic reconfiguration option in the specified VSAN. The VSAN ID ranges from 1 to 4093.

Step 3

no fcdomain auto-reconfigure vsan vsan-id

Example:
switch(config)# no fcdomain auto-reconfigure vsan 1

Disables the automatic reconfiguration option and reverts it to the factory default in the specified VSAN. The VSAN ID ranges from 1 to 4093.

Domain IDs

Domain IDs uniquely identify a switch in a VSAN. A switch may have different domain IDs in different VSANs. The domain ID is part of the overall FC ID.

Domain IDs - Guidelines

The configured domain ID can be preferred or static. By default, the configured domain ID is 0 (zero) and the configured type is preferred.


Note


The 0 (zero) value can be configured only if you use the preferred option.


If you do not configure a domain ID, the local switch sends a random ID in its request. We recommend that you use static domain IDs.

When a subordinate switch requests a domain, the following process takes place (see the figure below):

  • The local switch sends a configured domain ID request to the principal switch.

  • The principal switch assigns the requested domain ID if available. Otherwise, it assigns another available domain ID.

Figure 2. Configuration Process Using the Preferred Option

The operation of a subordinate switch changes based on three factors:

  • The allowed domain ID lists

  • The configured domain ID

  • The domain ID that the principal switch has assigned to the requesting switch

In specific situations, the changes are as follows:

  • When the received domain ID is not within the allowed list, the requested domain ID becomes the runtime domain ID and all interfaces on that VSAN are isolated.

  • When the assigned and requested domain IDs are the same, the preferred and static options are not relevant, and the assigned domain ID becomes the runtime domain ID.

  • When the assigned and requested domain IDs are different, the following cases apply:

    • If the configured type is static, the assigned domain ID is discarded, all local interfaces are isolated, and the local switch assigns itself the configured domain ID, which becomes the runtime domain ID.

    • If the configured type is preferred, the local switch accepts the domain ID assigned by the principal switch and the assigned domain ID becomes the runtime domain ID.

If you change the configured domain ID, the change is only accepted if the new domain ID is included in all the allowed domain ID lists currently configured in the VSAN. Alternatively, you can also configure zero-preferred domain ID.


Caution


You must enter the fcdomain restart command if you want to apply the configured domain changes to the runtime domain.



Note


If you have configured an allow domain ID list, the domain IDs that you add must be in that range for the VSAN.


Configuring Static or Preferred Domain IDs

You can specify a static or preferred domain ID.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain domain domain-id static vsan vsan-id
  3. no fcdomain domain domain-id static vsan vsan-id
  4. fcdomain domain domain-id preferred vsan vsan-id
  5. no fcdomain domain domain-id preferred vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain domain domain-id static vsan vsan-id

Example:
switch(config)# fcdomain domain 1 static vsan 3

Configures the switch in the specified VSAN to accept only a specific value and moves the local interfaces in the specified VSAN to an isolated state if the requested domain ID is not granted. The domain ID range is 1 to 239. The VSAN ID range is 1 to 4093.

Step 3

no fcdomain domain domain-id static vsan vsan-id

Example:
switch(config)# no fcdomain domain 1 static vsan 3

Resets the configured domain ID to factory defaults in the specified VSAN. The configured domain ID becomes 0 preferred.

Step 4

fcdomain domain domain-id preferred vsan vsan-id

Example:
switch(config)# fcdomain domain 1 preferred vsan 5

Configures the switch in the specified VSAN to request a preferred domain ID 3 and accepts any value assigned by the principal switch. The domain ID range is 1 to 239. The VSAN ID range is 1 to 4093.

Step 5

no fcdomain domain domain-id preferred vsan vsan-id

Example:
switch(config)# no fcdomain domain 1 preferred vsan 5

Resets the configured domain ID to 0 (default) in the specified VSAN. The configured domain ID becomes 0 preferred.

Allowed Domain ID Lists

By default, the valid range for an assigned domain ID list is from 1 to 239. You can specify a list of ranges to be in the allowed domain ID list and separate each range with a comma. The principal switch assigns domain IDs that are available in the locally configured allowed domain list.

Use allowed domain ID lists to design your VSANs with nonoverlapping domain IDs. This helps you in the future if you need to implement IVR without the NAT feature.

If you configure an allowed list on one switch in the fabric, we recommend that you configure the same list in all other switches in the fabric to ensure consistency or use CFS to distribute the configuration.

Configuring Allowed Domain ID Lists

You can configure the allowed domain ID list.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain allowed domain-id range vsan vsan-id
  3. no fcdomain allowed domain-id range vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain allowed domain-id range vsan vsan-id

Example:
switch(config)# fcdomain allowed 3 vsan 10

Configures the list to allow switches with the domain ID range in the specified VSAN. The domain ID range is from 1 to 239. The VSAN ID range is from 1 to 4093.

Step 3

no fcdomain allowed domain-id range vsan vsan-id

Example:
switch(config)# no fcdomain allowed 3 vsan 10

Reverts to the factory default of allowing domain IDs from 1 through 239 in the specified VSAN.

CFS Distribution of Allowed Domain ID Lists

You can enable the distribution of the allowed domain ID list configuration information to all Cisco SAN switches in the fabric using the Cisco Fabric Services (CFS) infrastructure. This feature allows you to synchronize the configuration across the fabric from the console of a single switch. Because the same configuration is distributed to the entire VSAN, you can avoid a possible misconfiguration and the possibility that two switches in the same VSAN have configured incompatible allowed domains.

Use CFS to distribute the allowed domain ID list to ensure consistency in the allowed domain ID lists on all switches in the VSAN.


Note


We recommend configuring the allowed domain ID list and committing it on the principal switch.


Enabling Distribution

You can enable (or disable) allowed domain ID list configuration distribution.

CFS distribution of allowed domain ID lists is disabled by default. You must enable distribution on all switches to which you want to distribute the allowed domain ID lists.

Before you begin

CFS has the following prerequisites:

CFS is enabled by default. All devices in the fabric must have CFS enabled, or they do not receive distributions. If CFS is disabled for an application, that application does not distribute any configuration, and it does not accept a distribution from other devices in the fabric. To enable the CFS use cfs distribute command.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain distribute
  3. no fcdomain distribute

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain distribute

Example:
switch(config)# fcdomain distribute

Enables domain configuration distribution.

Step 3

no fcdomain distribute

Example:
switch(config)# no fcdomain distribute

Disables (default) domain configuration distribution.

Locking the Fabric

The first action that modifies the existing configuration creates the pending configuration and locks the feature in the fabric. After you lock the fabric, the following conditions apply:

  • No other user can make any configuration changes to this feature.

  • A pending configuration is created by copying the active configuration. Subsequent modifications are made to the pending configuration and remain there until you commit the changes to the active configuration (and other switches in the fabric) or discard them.

Committing Changes

You can commit pending domain configuration changes and release the lock.

To apply the pending domain configuration changes to other SAN switches in the VSAN, you must commit the changes. The pending configuration changes are distributed and, on a successful commit, the configuration changes are applied to the active configuration in the SAN switches throughout the VSAN and the fabric lock is released.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain commit vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain commit vsan vsan-id

Example:
switch(config)# fcdomain commit vsan 45

Commits the pending domain configuration changes.

Discarding Changes

You can discard pending domain configuration changes and release the lock.

At any time, you can discard the pending changes to the domain configuration and release the fabric lock. If you discard (abort) the pending changes, the configuration remains unaffected and the lock is released.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain abort vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain abort vsan vsan-id

Example:
switch(config)# fcdomain abort vsan 30

Discards the pending domain configuration changes.

Clearing a Fabric Lock

If you have performed a domain configuration task and have not released the lock by either committing or discarding the changes, an administrator can release the lock from any switch in the fabric. If the administrator performs this task, your pending changes are discarded and the fabric lock is released.

The pending changes are only available in the volatile directory and are discarded if the switch is restarted.

To release a fabric lock, enter the clear fcdomain session vsan command in EXEC mode using a login ID that has administrative privileges:

switch# clear fcdomain session vsan 10

Displaying CFS Distribution Status

You can display the status of CFS distribution for allowed domain ID lists by using the show fcdomain status command:

switch# show fcdomain status
CFS distribution is enabled

Displaying Pending Changes

You can display the pending configuration changes by using the show fcdomain pending command:

switch# show fcdomain pending vsan 10
Pending Configured Allowed Domains
----------------------------------
VSAN 10
Assigned or unallowed domain IDs: 1-9,24,100,231-239.
[User] configured allowed domain IDs: 10-230.

You can display the differences between the pending configuration and the current configuration by using the show fcdomain pending-diff command:

switch# show fcdomain pending-diff vsan 10
Current Configured Allowed Domains
----------------------------------
VSAN 10
Assigned or unallowed domain IDs: 24,100.
[User] configured allowed domain IDs: 1-239.
Pending Configured Allowed Domains
----------------------------------
VSAN 10
Assigned or unallowed domain IDs: 1-9,24,100,231-239.
[User] configured allowed domain IDs: 10-230.

Displaying Session Status

You can display the status of the distribution session by using the show fcdomain session-status vsan command:

switch# show fcdomain session-status vsan 1
Last Action Time Stamp : None
Last Action : None
Last Action Result : None
Last Action Failure Reason : none

Contiguous Domain ID Assignments

By default, the contiguous domain assignment is disabled. When a subordinate switch requests the principal switch for two or more domains and the domains are not contiguous, the following situations can occur:

  • If the contiguous domain assignment is enabled in the principal switch, the principal switch locates contiguous domains and assigns them to the subordinate switches. If contiguous domains are not available, the switch software rejects this request.

  • If the contiguous domain assignment is disabled in the principal switch, the principal switch assigns the available domains to the subordinate switch.

Enabling Contiguous Domain ID Assignments

You can enable contiguous domains in a specific VSAN (or a range of VSANs).

SUMMARY STEPS

  1. configure terminal
  2. fcdomain contiguous-allocation vsan vsan-id
  3. no fcdomain contiguous-allocation vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain contiguous-allocation vsan vsan-id

Example:
switch(config)# fcdomain contiguous-allocation vsan 22-30

Enables the contiguous allocation option in the specified VSAN range.

Note

 

The contiguous-allocation option takes immediate effect at runtime. You do not need to restart the fcdomain.

Step 3

no fcdomain contiguous-allocation vsan vsan-id

Example:
switch(config)# no fcdomain contiguous-allocation vsan 7

Disables the contiguous allocation option and reverts it to the factory default in the specified VSAN.

FC IDs

When an N port logs into a SAN switch, it is assigned an FC ID. By default, the persistent FC ID feature is enabled. If this feature is disabled, the following situations can occur:

  • An N port logs into a SAN switch. The WWN of the requesting N port and the assigned FC ID are retained and stored in a volatile cache. The contents of this volatile cache are not saved across reboots.

  • The switch is designed to preserve the binding FC ID to the WWN on a best-effort basis. For example, if one N port disconnects from the switch and its FC ID is requested by another device, this request is granted and the WWN with the initial FC ID association is released.

  • The volatile cache stores up to 4000 entries of WWN to FC ID binding. If this cache is full, a new (more recent) entry overwrites the oldest entry in the cache. In this case, the corresponding WWN to FC ID association for the oldest entry is lost.

  • N ports receive the same FC IDs if disconnected and reconnected to any port within the same switch (as long as it belongs to the same VSAN).

Persistent FC IDs

When persistent FC IDs are enabled, the following occurs:

  • The current FC IDs in use in the fcdomain are saved across reboots.

  • The fcdomain automatically populates the database with dynamic entries that the switch has learned about after a device (host or disk) is plugged into a port interface.


Note


If you connect to the switch from an AIX or HP-UX host, be sure to enable the persistent FC ID feature in the VSAN that connects these hosts.



Note


When persistent FC IDs are enabled, FC IDs cannot be changed after a reboot. FC IDs are enabled by default, but can be disabled for each VSAN.


A persistent FC ID assigned to an F port can be moved across interfaces and can continue to maintain the same persistent FC ID.

Enabling the Persistent FC ID Feature

You can enable the persistent FC ID feature.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain fcid persistent vsan vsan-id
  3. no fcdomain fcid persistent vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain fcid persistent vsan vsan-id

Example:
switch(config)# fcdomain fcid persistent vsan 78

Activates (default) persistency of FC IDs in the specified VSAN.

Step 3

no fcdomain fcid persistent vsan vsan-id

Example:
switch(config)# no fcdomain fcid persistent vsan 33

Disables the FC ID persistency feature in the specified VSAN.

Persistent FC ID Configuration Guidelines

When the persistent FC ID feature is enabled, you can enter the persistent FC ID submode and add static or dynamic entries in the FC ID database. By default, all added entries are static. Persistent FC IDs are configured on a per-VSAN basis.

When manually configuring a persistent FC ID, follow these requirements:

  • Ensure that the persistent FC ID feature is enabled in the required VSAN.

  • Ensure that the required VSAN is an active VSAN. Persistent FC IDs can only be configured on active VSANs.

  • Verify that the domain part of the FC ID is the same as the runtime domain ID in the required VSAN. If the software detects a domain mismatch, the command is rejected.

  • Verify that the port field of the FC ID is 0 (zero) when configuring an area.

Configuring Persistent FC IDs

You can configure persistent FC IDs.

SUMMARY STEPS

  1. configure terminal
  2. fcdomain fcid database
  3. vsan vsan-id wwn 33:e8:00:05:30:00:16:df fcid fcid
  4. vsan vsan-id wwn 11:22:11:22:33:44:33:44 fcid fcid dynamic
  5. vsan vsan-id wwn 11:22:11:22:33:44:33:44 fcid fcid area

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

fcdomain fcid database

Example:
switch(config)# fcdomain fcid database

Enters FC ID database configuration submode.

Step 3

vsan vsan-id wwn 33:e8:00:05:30:00:16:df fcid fcid

Example:
switch(config-fcid-db)# vsan 26 wwn 33:e8:00:05:30:00:16:df fcid 4

Configures a device WWN (33:e8:00:05:30:00:16:df) with the FC ID 0x070128 in the specified VSAN.

Note

 

To avoid assigning a duplicate FC ID, use the show fcdomain address-allocation vsan command to display the FC IDs in use.

Step 4

vsan vsan-id wwn 11:22:11:22:33:44:33:44 fcid fcid dynamic

Example:
switch(config-fcid-db)# vsan 13 wwn 11:22:11:22:33:44:33:44 fcid 6 dynamic

Configures a device WWN (11:22:11:22:33:44:33:44) with the FC ID 0x070123 in the specified VSAN in dynamic mode.

Step 5

vsan vsan-id wwn 11:22:11:22:33:44:33:44 fcid fcid area

Example:
switch(config-fcid-db)# vsan 88 wwn 11:22:11:22:33:44:33:44 fcid 4 area

Configures a device WWN (11:22:11:22:33:44:33:44) with the FC IDs 0x070100 through 0x701FF in the specified VSAN.

Note

 

To secure the entire area for this fcdomain, assign 00 as the last two characters of the FC ID.

Unique Area FC IDs for HBAs


Note


Read this section only if the Host Bus Adapter (HBA) port and the storage port are connected to the same switch.


Some HBA ports require a different area ID than for the storage ports when they are both connected to the same switch. For example, if the storage port FC ID is 0x6f7704, the area for this port is 77. In this case, the HBA port’s area can be anything other than 77. The HBA port’s FC ID must be manually configured to be different from the storage port’s FC ID.

Cisco SAN switches facilitate this requirement with the FC ID persistence feature. You can use this feature to preassign an FC ID with a different area to either the storage port or the HBA port.

Configuring Unique Area FC IDs for an HBA

You can configure a different area ID for the HBA port.

The following task uses an example configuration with a switch domain of 111(6f hex). The server connects to the switch over FCoE. The HBA port connects to interface vfc20.

Procedure

Step 1

Obtain the port WWN (Port Name field) ID of the HBA using the show flogi database command.

switch# show flogi database 
-----------------------------------------------------------------
INTERFACE VSAN  FCID          PORT NAME                NODE NAME
------------------------------------------------------------------
 vfc20     3   0x6f7703  50:05:08:b2:00:71:c8:c2   50:05:08:b2:00:71:c8:c0

Step 2

Shut down the HBA interface in the SAN switch.

switch# configure terminal
switch(config)# interface vfc 20 
switch(config-if)# shutdown 
switch(config-if)# end 

Step 3

Verify that the FC ID feature is enabled using the show fcdomain vsan command.

switch# show fcdomain vsan 3
...
Local switch configuration information:
        State: Enabled
        FCID persistence: Disabled

If this feature is disabled, continue to the next step to enable the persistent FC ID.

If this feature is already enabled, skip to the following step.

Step 4

Enable the persistent FC ID feature in the SAN switch.

switch# configure terminal
switch(config)# fcdomain fcid persistent vsan 3
switch(config)# end

Step 5

Assign a new FC ID with a different area allocation. In this example, replace 77 with ee.

switch# configure terminal
switch(config)# fcdomain fcid database
switch(config-fcid-db)# vsan 3 wwn 50:05:08:b2:00:71:c8:c2 
fcid 0x6fee00 area

Step 6

Enable the HBA interface in the SAN switch.

switch# configure terminal
switch(config)# interface vfc 20
switch(config-if)# no shutdown 
switch(config-if)# end 

Step 7

Verify the pWWN ID of the HBA by using the show flogi database command.

switch# show flogi database 
------------------------------------------------------------------
INTERFACE VSAN  FCID      PORT NAME                 NODE NAME
------------------------------------------------------------------
 vfc20    3   0x6fee00    50:05:08:b2:00:71:c8:c2   50:05:08:b2:00:71:c8:c0

Persistent FC ID Selective Purging

Persistent FC IDs can be purged selectively. Static entries and FC IDs currently in use cannot be deleted. The table below identifies the FC ID entries that are deleted or retained when persistent FC IDs are purged.

Table 1. Purged FC IDs

Persistent FC ID state

Persistent Usage State

Action

Static

In use

Not deleted

Static

Not in use

Not deleted

Dynamic

In use

Not deleted

Dynamic

Not in use

Deleted

Purging Persistent FC IDs

You can purge persistent FC IDs.

SUMMARY STEPS

  1. purge fcdomain fcid vsan vsan-id
  2. purge fcdomain fcid vsan vsan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

purge fcdomain fcid vsan vsan-id

Example:
switch# purge fcdomain fcid vsan 667

Purges all dynamic and unused FC IDs in the specified VSAN.

Step 2

purge fcdomain fcid vsan vsan-id

Example:
switch# purge fcdomain fcid vsan 50-100

Purges dynamic and unused FC IDs in the specified VSAN range.

Verifying the fcdomain Configuration


Note


If the fcdomain feature is disabled, the runtime fabric name in the display is the same as the configured fabric name.


This example shows how to display information about fcdomain configurations:

switch# show fcdomain vsan 2

Use the show fcdomain domain-list command to display the list of domain IDs of all switches belonging to a specified VSAN. This list provides the WWN of the switches owning each domain ID. The next example uses the following values:

  • A switch with WWN of 20:01:00:05:30:00:47:df is the principal switch and has domain 200.

  • A switch with WWN of 20:01:00:0d:ec:08:60:c1 is the local switch (the one where you typed the CLI command to show the domain-list) and has domain 99.

  • The IVR manager obtained virtual domain 97 using 20:01:00:05:30:00:47:df as the WWN for a virtual switch.

switch# show fcdomain domain-list vsan 76
Number of domains: 3
Domain ID              WWN
---------    -----------------------
0xc8(200)    20:01:00:05:30:00:47:df [Principal]
 0x63(99)    20:01:00:0d:ec:08:60:c1 [Local]
 0x61(97)    50:00:53:0f:ff:f0:10:06 [Virtual (IVR)]

Use the show fcdomain allowed vsan command to display the list of allowed domain IDs configured on this switch..

switch# show fcdomain allowed vsan 1
Assigned or unallowed domain IDs: 1-96,100,111-239.
[Interoperability Mode 1] allowed domain IDs: 97-127.
[User] configured allowed domain IDs: 50-110.

Ensure that the requested domain ID passes the switch software checks, if interop 1 mode is required in this switch.

The following example shows how to display all existing, persistent FC IDs for a specified VSAN. You can also specify the unused option to view only persistent FC IDs that are still not in use.

switch# show fcdomain fcid persistent vsan 1000

The following example shows how to display frame and other fcdomain statistics for a specified VSAN or SAN port channel:

switch# show fcdomain statistics vsan 1
VSAN Statistics
Number of Principal Switch Selections: 0
Number of times Local Switch was Principal: 0
Number of non disruptive reconfigurations: 0
Number of disruptive reconfigurations: 0

The following example shows how to display FC ID allocation statistics including a list of assigned and free FC IDs:

switch# show fcdomain address-allocation vsan 1

The following example shows how to display the valid address allocation cache. The cache is used by the principal switch to reassign the FC IDs for a device (disk or host) that exited and reentered the fabric. In the cache content, VSAN refers to the VSAN that contains the device, WWN refers to the device that owned the FC IDs, and mask refers to a single or entire area of FC IDs.

switch# show fcdomain address-allocation cache

Default Settings for Fibre Channel Domains

The following table lists the default settings for all fcdomain parameters.

Table 2. Default fcdomain Parameters

Parameters

Default

fcdomain feature

Enabled

Configured domain ID

0 (zero)

Configured domain

Preferred

auto-reconfigure option

Disabled

contiguous-allocation option

Disabled

Priority

128

Allowed list

1 to 239

Fabric name

20:01:00:05:30:00:28:df

rcf-reject

Disabled

Persistent FC ID

Enabled

Allowed domain ID list configuration distribution

Disabled