- New and Changed Information
- Preface
- Overview
- Configuring Fibre Channel Domain Parameters
- Configuring N Port Identifier Virtualization
- Configuring and Managing VSANs
- DPVM
- Configuring VSAN Trunking
- Configuring and Managing Zones
- Distributing Device Alias Services
- Configuring Fibre Channel Routing Services and Protocols
- Managing FLOGI, Name Server, FDMI, and RSCN Databases
- Advanced Fibre Channel Features
- Configuring FC-SP and DHCHAP
- Configuring Port Security
- Configuring Fabric Binding
- Configuring Port Tracking
- Index
DPVM
- Information About DPVM
- Default Settings
- Licensing Requirements
- Guidelines and Limitations for DPVM
- Configuring DPVM
- Verifying the DPVM Configuration
- DPVM Example Configuration
- Feature History
Information About DPVM
You can use Dynamic Port VSAN Membership (DPVM) to dynamically assign VSAN membership to ports by assigning VSANs based on the device WWN. DPVM eliminates the need to reconfigure the port VSAN membership to maintain fabric topology when a host or storage device connection is moved between two Cisco SAN switches or two ports within a switch. It retains the configured VSAN regardless of where a device is connected or moved.
DPVM assignment is based on the port world wide name (pWWN) and node world wide name (nWWN). A DPVM database contains mapping information for each device pWWN/nWWN assignment and the corresponding VSAN. Cisco NX-OS checks the database during a device FLOGI and obtains the required VSAN details.
The pWWN identifies the host or device and the nWWN identifies a node that consists of multiple devices. You can assign any one of these identifiers or any combination of these identifiers to configure DPVM mapping. If you assign a combination, preference is given to the pWWN.
DPVM uses the Cisco Fabric Services (CFS) infrastructure to allow efficient database management and distribution.
DPVM Databases
The DPVM database consists of a series of device mapping entries. Each entry consists of a device pWWN or nWWN assignment along with the dynamic VSAN assigned. You can configure a maximum of 16,000 DPVM entries in the DPVM database. This database is global to the whole switch (and fabric) and is not maintained for each VSAN.
DPVM uses the following three databases:
- Configuration (config) database
-
Stores all configuration changes when CFS distribution is disabled. Changes to this database are reflected in the active DPVM database when you activate the DPVM config database.
- Active database
-
Represents the DPVM configuration that is currently active in the fabric.
- Pending database
-
Stores all configuration changes when CFS distribution is enabled. Changes to this database are reflected in the config or active DPVM database when you commit the DPVM pending database.
DPVM Database Distribution
DPVM can use CFS to distribute the database to all switches in the fabric to allow devices to move anywhere and keep the same VSAN membership.
![]() Note |
You should enable CFS distribution on all switches in the fabric. |
Using the CFS infrastructure, each DPVM server learns the DPVM database from each of its neighboring switches during the ISL bring-up process. If you change the database locally, the DPVM server notifies its neighboring switches, and that database is updated by all switches in the fabric.
When you enable CFS distribution for DPVM, the DPVM configuration database is copied into the DPVM pending database. All changes to the DPVM configuration are now stored in the DPVM pending database and the feature is locked (that is, no other switch can make changes to the DPVM database until you commit the changes or discard the changes and free the CFS lock).
The DPVM pending database includes the following changes:
- Adding, deleting, or modifying database entries.
- Activating, deactivating, or deleting the configuration database.
- Enabling or disabling autolearning.
CFS distributes these changes to all switches in a fabric when you commit the changes. You can also discard (abort) the changes at this point.
Database Merge
When you merge two independent fabrics into one fabric, DPVM attempts to merge the DPVM database (the configuration database and static (unlearned) entries in the active DPVM database). To ensure a successful database merge, follow these guidelines:
- Verify that the activation status and the auto-learn status is the same for both fabrics.
- Verify that the combined number of device entries in each database does not exceed 16000 entries.
![]() Note |
If you do not follow these two conditions, the merge will fail. The next CFS distribution will forcefully synchronize the databases and the activation states in the fabric. |
Default Settings
Parameters |
Default |
|---|---|
| DPVM feature |
Disabled |
DPVM CFS distribution |
Enabled |
Autolearning |
Disabled |
Licensing Requirements
| Product | License |
|---|---|
| Cisco Nexus 7000 Series | DPVM requires the Fibre Channel over Ethernet (FCoE) license for each F-series module. FCoE enabled in a storage virtual device context (VDC) does not require the Advanced Services License. For a complete explanation of the Cisco NX-OS licensing scheme and how to obtain and apply licenses, see the Cisco NX-OS Licensing Guide. |
Guidelines and Limitations for DPVM
DPVM has the following guidelines and limitations:
- You should enable DPVM CFS distribution for all switches in your fabric.
- Connect the dynamic device to an F-port on the switch.
- Verify that the static port VSAN of the F port is valid (not isolated, not suspended, and in existence).
- Verify that the dynamic VSAN configured for the device in the DPVM database is valid (not isolated, not suspended, and in existence).
- DPVM supports MAC-based device mapping for FCoE devices. DPVM does not support pWWN mapping for FCoE devices.
![]() Note |
DPVM overrides any existing static port VSAN membership configuration. If the VSAN that corresponds to the dynamic port is deleted or suspended, the port is shut down. |
Configuring DPVM
Enabling the DPVM Feature
You must enable the DPVM feature before you can configure DPVM.
1. config t
2. feature dpvm
3. (Optional) show feature
4. (Optional) copy running-config startup-config
DETAILED STEPS
Adding Entries into the DPVM Database
You can manually add entries into the config and pending DPVM databases.
![]() Note |
The DPVM pending database is stored in volatile memory. Changes are lost if the switch reboots. You should commit changes as soon as possible. |
1. config t
2. dpvm database
3. pwwn pwwn vsan vsan-id
4. nwwn nwwn vsan vsan-id
5. device-alias alias vsan vsan-id
6. exit
7. (Optional) show dpvm pending-diff
8. dpvm commit
DETAILED STEPS
You should compare the DPVM config database to the active database and activate these changes.
Activating the DPVM Config Database
You can activate the DPVM config database to make it the active database. Activation might fail if conflicting entries are found between the DPVM config database and the currently active DPVM database. However, you can force activation to override conflicting entries.
To disable DPVM, you must explicitly deactivate the currently active DPVM database by entering the no dpvm activate command.
1. config t
2. (Optional) dpvm database diff config
3. dpvm activate
DETAILED STEPS
Clearing the DPVM CFS Session Lock
If you have performed a DPVM task and have forgotten to release 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 changes to the DPVM pending database are discarded and the fabric lock is released.
1. clear dpvm session
DETAILED STEPS
| Command or Action | Purpose | |
|---|---|---|
| Step 1 | clear dpvm session Example: switch# clear dpvm session |
Discards the DPVM pending database and releases the CFS lock. |
Enabling Autolearning
You can configure the DPVM database to automatically learn (autolearn) about new devices within each VSAN. Autolearning is a two-part process. When you enable autolearning, DPVM creates learned entries by populating device pWWNs and VSANs in the active DPVM database. DPVM learns currently logged in devices as well as any new devices that log in while autolearning is enabled. These learned entries become permanent in the active DPVM database when you disable autolearning.
The following conditions apply to autolearning:
- If a device logs out while autolearn is enabled, that entry is automatically deleted from the active DPVM database.
- If the same device logs multiple times into the switch through different ports, the VSAN that corresponds to last login is remembered
- Learned entries do not override previously configured and activated entries.
1. configure terminal
2. dpvm auto-learn
3. (Optional) show dpvm ports [vsan vsan-id]
4. no dpvm auto-learn
DETAILED STEPS
Clearing Autolearned Entries
If DPVM autolearning is enabled, you can clear any or all learned entries from the active DPVM database.
![]() Note |
Clearing autolearned entries does not initiate a CFS session and can only be configured on the local switch. |
1. clear dpvm auto-learn pwwn pwwn
2. clear dpvm auto-learn
DETAILED STEPS
Displaying DPVM Database Merge Results
When you merge two independent fabrics, DPVM attempts to merge the associated DPVM databases. You can review the results of this database merge to determine if it succeeded or failed.
1. show dpvm merge status
2. show dpvm merge statistics
DETAILED STEPS
The following example shows conflicts in the DPVM database merge:
switch# show dpvm merge status
Last Merge Time Stamp : Fri March 25 15:46:36 2011
Last Merge State : Fail
Last Merge Result : Fail
Last Merge Failure Reason : DPVM DB conflict found during merge [cfs_status: 76]
Last Merge Failure Details: DPVM merge failed due to database conflict
Local Switch WWN : 20:00:00:0d:ec:24:e5:00
Remote Switch WWN : 20:00:00:0d:ec:09:d5:c0
--------------------------------------------------------------------------
Conflicting DPVM member(s) Loc VSAN Rem VSAN
--------------------------------------------------------------------------
dev-alias dpvm_dev_alias_1 [21:00:00:04:cf:cf:45:ba] 1313 1414
dev-alias dpvm_dev_alias_2 [21:00:00:04:cf:cf:45:bb] 1313 1414
dev-alias dpvm_dev_alias_3 [21:00:00:04:cf:cf:45:bc] 1313 1414
[Total 3 conflict(s)]
switch#
Verifying the DPVM Configuration
To display the DPVM configuration, perform one of the following tasks:
| Command |
Purpose |
|---|---|
show dpvm status |
Displays the status for the DPVM configuration. |
| show dpvm database [active] |
Displays information about DPVM databases. |
show dpvm merge {status | statistics} |
Displays information the last DPVM merge event. |
show dpvm pending [activation ] |
Displays information about the DPVM pending database. |
show dpvm pending-diff |
Displays the differences between the pending database and the config database. |
show dpvm ports [vsan vsan-id] |
Displays information about the dynamic ports associated with a VSAN. |
show dpvm session status |
Displays information about DPVM CFS session. |
DPVM Example Configuration
This example shows how to configure a basic DPVM configuration.
1. Enable DPVM and DPVM CFS distribution.
2. Activate the DPVM database.
3. Enable autolearning.
4. Access other switches in the fabric to verify the DPVM configuration.
5. Disable autolearning.
6. Access other switches in the fabric to verify the DPVM configuration.
DETAILED STEPS
Feature History
| Feature Name |
Releases |
Feature Information |
|---|---|---|
| DPVM |
5.2(1) |
This feature was introduced. |

Feedback