The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This chapter contains the following sections:
Information About vPCs
A virtual port channel (vPC) allows links that are physically connected to two different Cisco Nexus devices or Cisco Nexus Fabric Extenders to appear as a single port channel by a third device (see the following figure). The third device can be a switch, server, or any other networking device. You can configure vPCs in topologies that include Cisco Nexus devices connected to Cisco Nexus Fabric Extenders. A vPC can provide multipathing, which allows you to create redundancy by enabling multiple parallel paths between nodes and load balancing traffic where alternative paths exist.
You configure the EtherChannels by using one of the following:
When you configure the EtherChannels in a vPC—including the vPC peer link channel—each switch can have up to 16 active links in a single EtherChannel.
Note | You must enable the vPC feature before you can configure or run the vPC functionality. |
To enable the vPC functionality, you must create a peer-keepalive link and a peer-link under the vPC domain for the two vPC peer switches to provide the vPC functionality.
To create a vPC peer link you configure an EtherChannel on one Cisco Nexus device by using two or more Ethernet ports. On the other switch, you configure another EtherChannel again using two or more Ethernet ports. Connecting these two EtherChannels together creates a vPC peer link.
Note | We recommend that you configure the vPC peer-link EtherChannels as trunks. |
The vPC domain includes both vPC peer devices, the vPC peer-keepalive link, the vPC peer link, and all of the EtherChannels in the vPC domain connected to the downstream device. You can have only one vPC domain ID on each vPC peer device.
Note | Always attach all vPC devices using EtherChannels to both vPC peer devices. |
A vPC provides the following benefits:
Terminology
The terminology used in vPCs is as follows:
vPC—combined EtherChannel between the vPC peer devices and the downstream device.
vPC peer device—One of a pair of devices that are connected with the special EtherChannel known as the vPC peer link.
vPC peer link—link used to synchronize states between the vPC peer devices.
vPC member port—Interfaces that belong to the vPCs.
vPC domain—domain that includes both vPC peer devices, the vPC peer-keepalive link, and all of the port channels in the vPC connected to the downstream devices. It is also associated to the configuration mode that you must use to assign vPC global parameters. The vPC domain ID must be the same on both switches.
vPC peer-keepalive link—The peer-keepalive link monitors the vitality of a vPC peer Cisco Nexus device. The peer-keepalive link sends configurable, periodic keepalive messages between vPC peer devices.
No data or synchronization traffic moves over the vPC peer-keepalive link; the only traffic on this link is a message that indicates that the originating switch is operating and running vPCs.
To create a vPC domain, you must first create a vPC domain ID on each vPC peer switch using a number from 1 to 1000. This ID must be the same on a set of vPC peer devices.
You can configure the EtherChannels and vPC peer links by using LACP or no protocol. When possible, we recommend that you use LACP on the peer-link, because LACP provides configuration checks against a configuration mismatch on the EtherChannel.
The vPC peer switches use the vPC domain ID that you configure to automatically assign a unique vPC system MAC address. Each vPC domain has a unique MAC address that is used as a unique identifier for the specific vPC-related operations, although the switches use the vPC system MAC addresses only for link-scope operations, such as LACP. We recommend that you create each vPC domain within the contiguous network with a unique domain ID. You can also configure a specific MAC address for the vPC domain, rather than having the Cisco NX-OS software assign the address.
The vPC peer switches use the vPC domain ID that you configure to automatically assign a unique vPC system MAC address. The switches use the vPC system MAC addresses only for link-scope operations, such as LACP or BPDUs. You can also configure a specific MAC address for the vPC domain.
We recommend that you configure the same VPC domain ID on both peers and, the domain ID should be unique in the network. For example, if there are two different VPCs (one in access and one in aggregation) then each vPC should have a unique domain ID.
After you create a vPC domain, the Cisco NX-OS software automatically creates a system priority for the vPC domain. You can also manually configure a specific system priority for the vPC domain.
Note | If you manually configure the system priority, you must ensure that you assign the same priority value on both vPC peer switches. If the vPC peer switches have different system priority values, the vPC will not come up. |
The Cisco NX-OS software uses a peer-keepalive link between the vPC peers to transmit periodic, configurable keepalive messages. You must have Layer 3 connectivity between the peer switches to transmit these messages; the system cannot bring up the vPC peer link unless a peer-keepalive link is already up and running.
You can configure a hold-timeout and a timeout value simultaneously.
Hold-timeout value—The hold-timeout value range is between 3 to 10 seconds, with a default value of 3 seconds. This timer starts when the vPC peer link goes down. The purpose of the hold-timeout period is to prevent false-positive cases.
If you configure a hold-timeout value that is lower than the timeout value, then the vPC system ignores vPC peer-keepalive messages for the hold-timeout period and considers messages for the reminder of the timeout period. If no keepalive message is received for this period, the vPC secondary device takes over the role of the primary device. For example, if the hold-timeout value is 3 seconds and the timeout value is 5 seconds, for the first 3 seconds vPC keepalive messages are ignored (such as, when accommodating a supervisor failure for a few seconds after peer link failure) and keepalive messages are considered for the remaining timeout period of 2 seconds. After this period, the vPC secondary device takes over as the primary device, in case there is no keep alive message.
Timeout value—The timeout value range is between 3 to 20 seconds, with a default value of 5 seconds. This timer starts at the end of the hold-timeout interval. If you configure a timeout value that is lower than or equal to the hold-timeout value, then the timeout duration is initiated after the hold-timeout period. For example, if the timeout value is 3 seconds and the hold-timeout value is 5 seconds, the timeout period starts after 5 seconds.
Note | We recommend that you configure the vPC peer-keepalive link on the Cisco Nexus device to run in the management VRF using the mgmt 0 interfaces. If you configure the default VRF, ensure that the vPC peer link is not used to carry the vPC peer-keepalive messages. |
Many configuration and operational parameters must be identical on all interfaces in the vPC. After you enable the vPC feature and configure the peer link on both vPC peer switches, Cisco Fabric Services (CFS) messages provide a copy of the configuration on the local vPC peer switch configuration to the remote vPC peer switch. The system then determines whether any of the crucial configuration parameters differ on the two switches.
Enter the show vpc consistency-parameters command to display the configured values on all interfaces in the vPC. The displayed configurations are only those configurations that would limit the vPC peer link and vPC from coming up.
The compatibility check process for vPCs differs from the compatibility check for regular EtherChannels.
A new type 2 consistency check has been added to validate the switchport mac learn settings on the vPC port-channels. The CLI show vpc consistency-check vPC <vpc no.> has been enhanced to display the local and peer values of the switchport mac-learn configuration. Because it is a type 2 check, vPC is operationally up even if there is a mismatch between the local and the peer values, but the mismatch can be displayed from the CLI output.
switch# sh vpc consistency-parameters vpc 1112 Legend: Type 1 : vPC will be suspended in case of mismatch Name Type Local Value Peer Value ------------- ---- ---------------------- ----------------------- Shut Lan 1 No No STP Port Type 1 Default Default STP Port Guard 1 None None STP MST Simulate PVST 1 Default Default nve configuration 1 nve nve lag-id 1 [(fa0, [(fa0, 0-23-4-ee-be-64, 8458, 0-23-4-ee-be-64, 8458, 0, 0), (8000, 0, 0), (8000, f4-4e-5-84-5e-3c, 457, f4-4e-5-84-5e-3c, 457, 0, 0)] 0, 0)] mode 1 active active Speed 1 10 Gb/s 10 Gb/s Duplex 1 full full Port Mode 1 trunk trunk Native Vlan 1 1 1 MTU 1 1500 1500 Admin port mode 1 Switchport MAC Learn 2 Enable Disable> Newly added consistency parameter vPC card type 1 Empty Empty Allowed VLANs - 311-400 311-400 Local suspended VLANs - -
The configuration parameters in this section must be configured identically on both switches at either end of the vPC peer link.
Note | You must ensure that all interfaces in the vPC have the identical operational and configuration parameters listed in this section. Enter the show vpc consistency-parameters command to display the configured values on all interfaces in the vPC. The displayed configurations are only those configurations that would limit the vPC peer link and vPC from coming up. |
The switch automatically checks for compatibility of these parameters on the vPC interfaces. The per-interface parameters must be consistent per interface, and the global parameters must be consistent globally.
If any of these parameters are not enabled or defined on either switch, the vPC consistency check ignores those parameters.
Note | To ensure that none of the vPC interfaces are in the suspend mode, enter the show vpc brief and show vpc consistency-parameters commands and check the syslog messages. |
When any of the following parameters are not configured identically on both vPC peer switches, a misconfiguration might cause undesirable behavior in the traffic flow:
To ensure that all the configuration parameters are compatible, we recommend that you display the configurations for each vPC peer switch once you configure the vPC.
Some Type-1 consistency checks are performed on a per-VLAN basis when spanning tree is enabled or disabled on a VLAN. VLANs that do not pass the consistency check are brought down on both the primary and secondary switches while other VLANs are not affected.
The vPC auto-recovery feature re-enables vPC links in the following scenarios:
When both vPC peer switches reload and only one switch reboots, auto-recovery allows that switch to assume the role of the primary switch and the vPC links will be allowed to come up after a predetermined period of time. The reload delay period in this scenario can range from 240 to 3600 seconds.
When vPCs are disabled on a secondary vPC switch due to a peer-link failure and then the primary vPC switch fails or is unable to forward traffic, the secondary switch reenables the vPCs. In this scenario, the vPC waits for three consecutive keepalive failures to recover the vPC links.
A vPC peer link is the link that is used to synchronize the states between the vPC peer devices.
Note | You must configure the peer-keepalive link before you configure the vPC peer link or the peer link will not come up. |
You can have only two switches as vPC peers; each switch can serve as a vPC peer to only one other vPC peer. The vPC peer switches can also have non-vPC links to other switches.
To make a valid configuration, you configure an EtherChannel on each switch and then configure the vPC domain. You assign the EtherChannel on each switch as a peer link. For redundancy, we recommend that you should configure at least two dedicated ports into the EtherChannel; if one of the interfaces in the vPC peer link fails, the switch automatically falls back to use another interface in the peer link.
Note | We recommend that you configure the EtherChannels in trunk mode. |
Many operational parameters and configuration parameters must be the same in each switch connected by a vPC peer link. Because each switch is completely independent on the management plane, you must ensure that the switches are compatible on the critical parameters. vPC peer switches have separate control planes. After configuring the vPC peer link, you should display the configuration on each vPC peer switch to ensure that the configurations are compatible.
Note | You must ensure that the two switches connected by the vPC peer link have certain identical operational and configuration parameters. |
When you configure the vPC peer link, the vPC peer switches negotiate that one of the connected switches is the primary switch and the other connected switch is the secondary switch. By default, the Cisco NX-OS software uses the lowest MAC address to elect the primary switch. The software takes different actions on each switch—that is, the primary and secondary—only in certain failover conditions. If the primary switch fails, the secondary switch becomes the operational primary switch when the system recovers, and the previously primary switch is now the secondary switch.
You can also configure which of the vPC switches is the primary switch. If you want to configure the role priority again to make one vPC switch the primary switch, configure the role priority on both the primary and secondary vPC switches with the appropriate values, shut down the EtherChannel that is the vPC peer link on both switches by entering the shutdown command, and reenable the EtherChannel on both switches by entering the no shutdown command.
MAC addresses that are learned over vPC links are also synchronized between the peers.
Configuration information flows across the vPC peer links using the Cisco Fabric Services over Ethernet (CFSoE) protocol. All MAC addresses for those VLANs configured on both switches are synchronized between vPC peer switches. The software uses CFSoE for this synchronization.
If the vPC peer link fails, the software checks the status of the remote vPC peer switch using the peer-keepalive link, which is a link between vPC peer switches, to ensure that both switches are up. If the vPC peer switch is up, the secondary vPC switch disables all vPC ports on its switch. The data then forwards down the remaining active links of the EtherChannel.
The software learns of a vPC peer switch failure when the keepalive messages are not returned over the peer-keepalive link.
Use a separate link (vPC peer-keepalive link) to send configurable keepalive messages between the vPC peer switches. The keepalive messages on the vPC peer-keepalive link determines whether a failure is on the vPC peer link only or on the vPC peer switch. The keepalive messages are used only when all the links in the peer link fail.
Once you have created the vPC domain ID and the vPC peer link, you can create EtherChannels to attach the downstream switch to each vPC peer switch. That is, you create one single EtherChannel on the downstream switch with half of the ports to the primary vPC peer switch and the other half of the ports to the secondary peer switch.
On each vPC peer switch, you assign the same vPC number to the EtherChannel that connects to the downstream switch. You will experience minimal traffic disruption when you are creating vPCs. To simplify the configuration, you can assign the vPC ID number for each EtherChannel to be the same as the EtherChannel itself (that is, vPC ID 10 for EtherChannel 10).
Note | The vPC number that you assign to the EtherChannel that connects to the downstream switch from the vPC peer switch must be identical on both vPC peer switches. |
vPC Interactions with Other Features
The Link Aggregation Control Protocol (LACP) uses the system MAC address of the vPC domain to form the LACP Aggregation Group (LAG) ID for the vPC.
You can use LACP on all the vPC EtherChannels, including those channels from the downstream switch. We recommend that you configure LACP with active mode on the interfaces on each EtherChannel on the vPC peer switches. This configuration allows you to more easily detect compatibility between switches, unidirectional links, and multihop connections, and provides dynamic reaction to run-time changes and link failures.
The vPC peer link supports 16 EtherChannel interfaces.
Note | When you manually configure the system priority, you must ensure that you assign the same priority value on both vPC peer switches. If the vPC peer switches have different system priority values, vPC does not come up. |
When you first bring up the vPC functionality, STP reconverges. STP treats the vPC peer link as a special link and always includes the vPC peer link in the STP active topology.
We recommend that you set all the vPC peer link interfaces to the STP network port type so that Bridge Assurance is automatically enabled on all vPC peer links. We also recommend that you do not enable any of the STP enhancement features on VPC peer links.
You must configure a list of parameters to be identical on the vPC peer switches on both sides of the vPC peer link.
STP is distributed; that is, the protocol continues running on both vPC peer switches. However, the configuration on the vPC peer switch elected as the primary switch controls the STP process for the vPC interfaces on the secondary vPC peer switch.
The primary vPC switch synchronizes the STP state on the vPC secondary peer switch using Cisco Fabric Services over Ethernet (CFSoE).
The vPC manager performs a proposal/handshake agreement between the vPC peer switches that sets the primary and secondary switches and coordinates the two switches for STP. The primary vPC peer switch then controls the STP protocol for vPC interfaces on both the primary and secondary switches.
The Bridge Protocol Data Units (BPDUs) use the MAC address set for the vPC for the STP bridge ID in the designated bridge ID field. The vPC primary switch sends these BPDUs on the vPC interfaces.
Note | Display the configuration on both sides of the vPC peer link to ensure that the settings are identical. Use the show spanning-tree command to display information about the vPC. |
The Cisco Fabric Services over Ethernet (CFSoE) is a reliable state transport mechanism that you can use to synchronize the actions of the vPC peer devices. CFSoE carries messages and packets for many features linked with vPC, such as STP and IGMP. Information is carried in CFS/CFSoE protocol data units (PDUs).
When you enable the vPC feature, the device automatically enables CFSoE, and you do not have to configure anything. CFSoE distributions for vPCs do not need the capabilities to distribute over IP or the CFS regions. You do not need to configure anything for the CFSoE feature to work correctly on vPCs.
You can use the show mac address-table command to display the MAC addresses that CFSoE synchronizes for the vPC peer link.
Note | Do not enter the no cfs eth distribute or the no cfs distribute command. CFSoE must be enabled for vPC functionality. If you do enter either of these commands when vPC is enabled, the system displays an error message. |
When you enter the show cfs application command, the output displays "Physical-eth," which shows the applications that are using CFSoE.
vPC has the following configuration guidelines and limitations:
vPC is not qualified with IPv6.
You must enable the vPC feature before you can configure vPC peer-link and vPC interfaces.
You must configure the peer-keepalive link before the system can form the vPC peer link.
The vPC peer-link needs to be formed using a minimum of two 10-Gigabit Ethernet interfaces.
Cisco recommends that you configure the same vPC domain ID on both peers and, the domain ID should be unique in the network. For example, if there are two different vPCs (one in access and one in aggregation) then each vPC should have a unique domain ID.
Only Port Channels can be in vPCs. A vPC can be configured on a normal Port Channel (switch-to-switch vPC topology) and on an Port Channel host interface (host interface vPC topology).
You must configure both vPC peer switches; the configuration is not automatically synchronized between the vPC peer devices.
Check that the necessary configuration parameters are compatible on both sides of the vPC peer link.
You might experience minimal traffic disruption while configuring vPCs.
You should configure all the Port Channels in the vPC using LACP with the interfaces in active mode.
You might experience traffic disruption when the first member of a vPC is brought up.
Added support for the vPC redirect ACLs to avoid the MAC/adjacency moves between the vPC and the peer-link.
Enabled ip arp synchronize to support faster convergence of Layer 3 traffic during the multichassis EtherChannel trunk (MCT) flap.
When the local vPC leg is down, all MACs and the adjacencies pointing to the vPC are moved to the peer-link. This involves the MAC table and the Route table programming that leads to the high convergence numbers. Due to this, the convergence depends on the MAC and the adjacency table scale. The vPC redirect ACLs are meant to avoid the MAC or the adjacency movement between the peer-link and the vPC Po.
Using the vPC redirect ACLs, you can redirect the traffic to the peer-link when the local vPC leg goes down. The vPC redirect ACLs are installed when the local vPC is down and the vPC redirect ACLs are removed when the local vPC comes up.
A new CLI has been added on Cisco Nexus 3000 Series platform to enable or disable the vPC optimizations feature. The CLI should be enabled on both vPC peers to achieve fast-convergence. The syntax is [no] fast-convergence.
Command or Action | Purpose |
---|
The link up and down events are detected using the software link scan on all Cisco Nexus 3000 Series platforms. The default scan interval is 500ms. It means that the link up/down events are detected anywhere between 0-500 ms. As part of the current optimizations, the link scan interval has been modified from 500ms to 100ms. This ensures that the link up/down events in the hardware are detected within 100ms.
All connecting devices should have link scan interval set to 100 ms. Downstream devices do not have the vPC domain configuration. Therefore, a new CLI is required to set the link scan interval on such devices. The default link scan interval value is 500msec or 500000usec. The recommended interval value for fast convergence is 100000usec.
Command or Action | Purpose |
---|
Use the following commands to display vPC configuration information:
Command |
Purpose |
||
---|---|---|---|
switch# show feature |
Displays whether vPC is enabled or not. |
||
switch# show port-channel capacity |
Displays how many EtherChannels are configured and how many are still available on the switch. |
||
switch# show running-config vpc |
Displays running configuration information for vPCs. |
||
switch# show vpc brief |
Displays brief information on the vPCs. |
||
switch# show vpc consistency-parameters |
Displays the status of those parameters that must be consistent across all vPC interfaces. |
||
switch# show vpc peer-keepalive |
Displays information on the peer-keepalive messages. |
||
switch# show vpc role |
Displays the peer status, the role of the local switch, the vPC system MAC address and system priority, and the MAC address and priority for the local vPC switch. |
||
switch# show vpc statistics |
Displays statistics on the vPCs.
|
For information about the switch output, see the Command Reference for your Cisco Nexus Series switch.
This example shows how to display the current status of the graceful Type-1 consistency check:
switch# show vpc brief Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status: success Per-vlan consistency status : success Type-2 consistency status : success vPC role : secondary Number of vPCs configured : 34 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ -------------------------------------------------- 1 Po1 up 1
When a global Type-1 inconsistency occurs, the vPCs on the secondary switch are brought down. The following example shows this type of inconsistency when there is a spanning-tree mode mismatch.
The example shows how to display the status of the suspended vPC VLANs on the secondary switch:
switch(config)# show vpc Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status: failed Per-vlan consistency status : success Configuration consistency reason: vPC type-1 configuration incompatible - STP Mode inconsistent Type-2 consistency status : success vPC role : secondary Number of vPCs configured : 2 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ -------------------------------------------------- 1 Po1 up 1-10 vPC status ---------------------------------------------------------------------------- id Port Status Consistency Reason Active vlans ------ ----------- ------ ----------- -------------------------- ----------- 20 Po20 down* failed Global compat check failed - 30 Po30 down* failed Global compat check failed -
The example shows how to display the inconsistent status ( the VLANs on the primary vPC are not suspended) on the primary switch:
switch(config)# show vpc Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status: failed Per-vlan consistency status : success Configuration consistency reason: vPC type-1 configuration incompatible - STP Mo de inconsistent Type-2 consistency status : success vPC role : primary Number of vPCs configured : 2 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ -------------------------------------------------- 1 Po1 up 1-10 vPC status ---------------------------------------------------------------------------- id Port Status Consistency Reason Active vlans ------ ----------- ------ ----------- -------------------------- ----------- 20 Po20 up failed Global compat check failed 1-10 30 Po30 up failed Global compat check failed 1-10
When an interface-specific Type-1 inconsistency occurs, the vPC port on the secondary switch is brought down while the primary switch vPC ports remain up.The following example shows this type of inconsistency when there is a switchport mode mismatch.
This example shows how to display the status of the suspended vPC VLAN on the secondary switch:
switch(config-if)# show vpc brief Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status: success Per-vlan consistency status : success Type-2 consistency status : success vPC role : secondary Number of vPCs configured : 2 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ -------------------------------------------------- 1 Po1 up 1 vPC status ---------------------------------------------------------------------------- id Port Status Consistency Reason Active vlans ------ ----------- ------ ----------- -------------------------- ----------- 20 Po20 up success success 1 30 Po30 down* failed Compatibility check failed - for port mode
This example shows how to display the inconsistent status (the VLANs on the primary vPC are not suspended) on the primary switch:
switch(config-if)# show vpc brief Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status: success Per-vlan consistency status : success Type-2 consistency status : success vPC role : primary Number of vPCs configured : 2 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ -------------------------------------------------- 1 Po1 up 1 vPC status ---------------------------------------------------------------------------- id Port Status Consistency Reason Active vlans ------ ----------- ------ ----------- -------------------------- ----------- 20 Po20 up success success 1 30 Po30 up failed Compatibility check failed 1 for port mode
To view the per-VLAN consistency or inconsistency status, enter the show vpc consistency-parameters vlans command.
This example shows how to display the consistent status of the VLANs on the primary and the secondary switches.
switch(config-if)# show vpc brief Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status: success Per-vlan consistency status : success Type-2 consistency status : success vPC role : secondary Number of vPCs configured : 2 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ -------------------------------------------------- 1 Po1 up 1-10 vPC status ---------------------------------------------------------------------------- id Port Status Consistency Reason Active vlans ------ ----------- ------ ----------- -------------------------- ----------- 20 Po20 up success success 1-10 30 Po30 up success success 1-10
Entering no spanning-tree vlan 5 command triggers the inconsistency on the primary and secondary VLANs:
switch(config)# no spanning-tree vlan 5
This example shows how to display the per-VLAN consistency status as Failed on the secondary switch:
switch(config)# show vpc brief Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status: success Per-vlan consistency status : failed Type-2 consistency status : success vPC role : secondary Number of vPCs configured : 2 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ -------------------------------------------------- 1 Po1 up 1-4,6-10 vPC status ---------------------------------------------------------------------------- id Port Status Consistency Reason Active vlans ------ ----------- ------ ----------- -------------------------- ----------- 20 Po20 up success success 1-4,6-10 30 Po30 up success success 1-4,6-10
This example shows how to display the per-VLAN consistency status as Failed on the primary switch:
switch(config)# show vpc brief Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 10 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status: success Per-vlan consistency status : failed Type-2 consistency status : success vPC role : primary Number of vPCs configured : 2 Peer Gateway : Disabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ -------------------------------------------------- 1 Po1 up 1-4,6-10 vPC status ---------------------------------------------------------------------------- id Port Status Consistency Reason Active vlans ------ ----------- ------ ----------- -------------------------- ----------- 20 Po20 up success success 1-4,6-10 30 Po30 up success success 1-4,6-10
This example shows the inconsistency as STP Disabled:
switch(config)# show vpc consistency-parameters vlans Name Type Reason Code Pass Vlans ------------- ---- ---------------------- ----------------------- STP Mode 1 success 0-4095 STP Disabled 1 vPC type-1 0-4,6-4095 configuration incompatible - STP is enabled or disabled on some or all vlans STP MST Region Name 1 success 0-4095 STP MST Region Revision 1 success 0-4095 STP MST Region Instance to 1 success 0-4095 VLAN Mapping STP Loopguard 1 success 0-4095 STP Bridge Assurance 1 success 0-4095 STP Port Type, Edge 1 success 0-4095 BPDUFilter, Edge BPDUGuard STP MST Simulate PVST 1 success 0-4095 Pass Vlans - 0-4,6-4095
The following table lists the default settings for vPC parameters.
Parameters |
Default |
---|---|
vPC system priority |
32667 |
vPC peer-keepalive message |
Disabled |
vPC peer-keepalive interval |
1 second |
vPC peer-keepalive timeout |
5 seconds |
vPC peer-keepalive UDP port |
3200 |
Configuring vPCs
You must enable the vPC feature before you can configure and use vPCs.
This example shows how to enable the vPC feature:
switch# configure terminal switch(config)# feature vpc
You can disable the vPC feature.
Note | When you disable the vPC feature, the Cisco Nexus device clears all the vPC configurations. |
This example shows how to disable the vPC feature:
switch# configure terminal switch(config)# no feature vpc
You must create identical vPC domain IDs on both the vPC peer devices. This domain ID is used to automatically form the vPC system MAC address.
Ensure that you have enabled the vPC feature.
You must configure both switches on either side of the vPC peer link.
This example shows how to create a vPC domain:
switch# configure terminal switch(config)# vpc domain 5
This example shows how to enforce the global level type-2 consistency check for the fast-convergence configuration.
switch# show vpc consistency-parameters global Legend: Type 1 : vPC will be suspended in case of mismatch Name Type Local Value Peer Value ------------- ---- ---------------------- ----------------------- Vlan to Vn-segment Map 1 No Relevant Maps No Relevant Maps QoS 2 ([], [], [], [], [], ([], [], [], [], [], [], [], []) [], [], []) Network QoS (MTU) 2 (1538, 0, 0, 0, 0, 0, (1538, 0, 0, 0, 0, 0, 0, 0) 0, 0) ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- VTP pruning status 2 Disabled Disabled IGMP Snooping Group-Limit 2 8000 8000 Fast Convergence 2 Enable Enable Interface-vlan admin up 2 101-120 Interface-vlan routing 2 1,101-120 1 capability Allowed VLANs - - - Local suspended VLANs - - -
A few strict capability checks are added to prevent the downgrade when the fast-convergence CLIs are configured.
Command or Action | Purpose | |
---|---|---|
Step 1 | show system internal
capability | begin VPC_FAST_CONVERGENCE
Example: Example: switch# show system internal capability | begin VPC_FAST_CONVERGENCE 1098) Service:fwm, Capability:CAP_FEATURE_N3K_VPC_FAST_CONVERGENCE Registered by node:0x101 Description:vPC fast convergence feature is enabled Value: Enabled switch(config)# show system internal capability | begin LINK_SCAN 1128) Service:bcm_usd Capability: CAP_FEATURE_N3K_LINK_SCAN_INTERVAL (1127) Description : Hardware link scan interval is configured Value: Enabled | |
Step 2 | configure terminal |
Enters the configuration mode. |
Step 3 | switch(config)#
show system internal capability | begin
LINK_SCAN
Example: switch(config)# show system internal capability | begin LINK_SCAN 1128) Service:bcm_usd Capability: CAP_FEATURE_N3K_LINK_SCAN_INTERVAL (1127) Description : Hardware link scan interval is configured Value: Enabled |
You can configure the destination IP for the peer-keepalive link that carries the keepalive messages. Optionally, you can configure other parameters for the keepalive messages.
The Cisco NX-OS software uses the peer-keepalive link between the vPC peers to transmit periodic, configurable keepalive messages. You must have Layer 3 connectivity between the peer devices to transmit these messages. The system cannot bring up the vPC peer link unless the peer-keepalive link is already up and running.
Ensure that both the source and destination IP addresses used for the peer-keepalive message are unique in your network and these IP addresses are reachable from the Virtual Routing and Forwarding (VRF) instance associated with the vPC peer-keepalive link.
Note | We recommend that you configure a separate VRF instance and put a Layer 3 port from each vPC peer switch into that VRF instance for the vPC peer-keepalive link. Do not use the peer link itself to send vPC peer-keepalive messages. |
Ensure that you have enabled the vPC feature.
You must configure the vPC peer-keepalive link before the system can form the vPC peer link.
You must configure both switches on either side of the vPC peer link.
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
switch#
configure terminal
|
Enters global configuration mode. | ||
Step 2 |
switch(config)#
vpc domain
domain-id
|
Creates a vPC domain on the switch if it does not already exist, and enters the vpc-domain configuration mode. | ||
Step 3 |
switch(config-vpc-domain)#
peer-keepalive destination
ipaddress [hold-timeout
secs |
interval
msecs {timeout
secs} | precedence {prec-value |
network |
internet |
critical |
flash-override |
flash |
immediate priority |
routine} | tos {tos-value |
max-reliability |
max-throughput |
min-delay |
min-monetary-cost |
normal} |
tos-byte
tos-byte-value} |
source
ipaddress |
vrf {name |
management vpc-keepalive}]
|
Configures the IPv4 address for the remote end of the vPC peer-keepalive link.
The management ports and VRF are the defaults. | ||
Step 4 |
switch(config-vpc-domain)#
vpc peer-keepalive destination ipaddress source
ipaddress
| (Optional)
Configures a separate VRF instance and puts a Layer 3 port from each vPC peer device into that VRF for the vPC peer-keepalive link. | ||
Step 5 |
switch#
show vpc peer-keepalive
| (Optional)
Displays information about the configuration for the keepalive messages. | ||
Step 6 |
switch#
copy running-config startup-config
| (Optional)
Copies the running configuration to the startup configuration. |
This example shows how to configure the destination IP address for the vPC-peer-keepalive link:
switch# configure terminal switch(config)# vpc domain 5 switch(config-vpc-domain)# peer-keepalive destination 10.10.10.42
This example shows how to set up the peer keepalive link connection between the primary and secondary vPC device:
switch(config)# vpc domain 100 switch(config-vpc-domain)# peer-keepalive destination 192.168.2.2 source 192.168.2.1 Note:--------:: Management VRF will be used as the default VRF ::-------- switch(config-vpc-domain)#
This example shows how to create a separate VRF named vpc_keepalive for the vPC keepalive link and how to verify the new VRF:
vrf context vpc_keepalive interface Ethernet1/31 switchport access vlan 123 interface Vlan123 vrf member vpc_keepalive ip address 123.1.1.2/30 no shutdown vpc domain 1 peer-keepalive destination 123.1.1.1 source 123.1.1.2 vrf vpc_keepalive L3-NEXUS-2# show vpc peer-keepalive vPC keep-alive status : peer is alive --Peer is alive for : (154477) seconds, (908) msec --Send status : Success --Last send at : 2011.01.14 19:02:50 100 ms --Sent on interface : Vlan123 --Receive status : Success --Last receive at : 2011.01.14 19:02:50 103 ms --Received on interface : Vlan123 --Last update from peer : (0) seconds, (524) msec vPC Keep-alive parameters --Destination : 123.1.1.1 --Keepalive interval : 1000 msec --Keepalive timeout : 5 seconds --Keepalive hold timeout : 3 seconds --Keepalive vrf : vpc_keepalive --Keepalive udp port : 3200 --Keepalive tos : 192 The services provided by the switch , such as ping, ssh, telnet, radius, are VRF aware. The VRF name need to be configured or specified in order for the correct routing table to be used. L3-NEXUS-2# ping 123.1.1.1 vrf vpc_keepalive PING 123.1.1.1 (123.1.1.1): 56 data bytes 64 bytes from 123.1.1.1: icmp_seq=0 ttl=254 time=3.234 ms 64 bytes from 123.1.1.1: icmp_seq=1 ttl=254 time=4.931 ms 64 bytes from 123.1.1.1: icmp_seq=2 ttl=254 time=4.965 ms 64 bytes from 123.1.1.1: icmp_seq=3 ttl=254 time=4.971 ms 64 bytes from 123.1.1.1: icmp_seq=4 ttl=254 time=4.915 ms --- 123.1.1.1 ping statistics --- 5 packets transmitted, 5 packets received, 0.00% packet loss round-trip min/avg/max = 3.234/4.603/4.971 ms
You can create a vPC peer link by designating the EtherChannel that you want on each switch as the peer link for the specified vPC domain. We recommend that you configure the EtherChannels that you are designating as the vPC peer link in trunk mode and that you use two ports on separate modules on each vPC peer switch for redundancy.
Ensure that you have enabled the vPC feature.
You must configure both switches on either side of the vPC peer link
Command or Action | Purpose | |
---|---|---|
Step 1 |
switch#
configure terminal
|
Enters global configuration mode. |
Step 2 |
switch(config)#
interface port-channel
channel-number
|
Selects the EtherChannel that you want to use as the vPC peer link for this switch, and enters the interface configuration mode. |
Step 3 |
switch(config-if)#
vpc peer-link
|
Configures the selected EtherChannel as the vPC peer link, and enters the vpc-domain configuration mode. |
Step 4 |
switch#
show vpc brief
| (Optional)
Displays information about each vPC, including information about the vPC peer link. |
Step 5 |
switch#
copy running-config startup-config
| (Optional)
Copies the running configuration to the startup configuration. |
This example shows how to configure a vPC peer link:
switch# configure terminal switch(config)# interface port-channel 20 switch(config-if)# vpc peer-link
After you have configured the vPC peer link on both vPC peer switches, check that the configurations are consistent on all vPC interfaces.
The following QoS parameters support Type 2 consistency checks
Network QoS—MTU and Pause
Input Queuing —Bandwidth and Absolute Priority
Output Queuing—Bandwidth and Absolute Priority
In the case of a Type 2 mismatch, the vPC is not suspended. Type 1 mismatches suspend the vPC.
Command or Action | Purpose |
---|
This example shows how to check that the required configurations are compatible across all the vPC interfaces:
switch# show vpc consistency-parameters global Legend: Type 1 : vPC will be suspended in case of mismatch Name Type Local Value Peer Value ------------- ---- ---------------------- ----------------------- QoS 2 ([], [], [], [], [], ([], [], [], [], [], []) []) Network QoS (MTU) 2 (1538, 0, 0, 0, 0, 0) (1538, 0, 0, 0, 0, 0) Network Qos (Pause) 2 (F, F, F, F, F, F) (1538, 0, 0, 0, 0, 0) Input Queuing (Bandwidth) 2 (100, 0, 0, 0, 0, 0) (100, 0, 0, 0, 0, 0) Input Queuing (Absolute 2 (F, F, F, F, F, F) (100, 0, 0, 0, 0, 0) Priority) Output Queuing (Bandwidth) 2 (100, 0, 0, 0, 0, 0) (100, 0, 0, 0, 0, 0) Output Queuing (Absolute 2 (F, F, F, F, F, F) (100, 0, 0, 0, 0, 0) Priority) STP Mode 1 Rapid-PVST Rapid-PVST STP Disabled 1 None None STP MST Region Name 1 "" "" STP MST Region Revision 1 0 0 STP MST Region Instance to 1 VLAN Mapping STP Loopguard 1 Disabled Disabled STP Bridge Assurance 1 Enabled Enabled STP Port Type, Edge 1 Normal, Disabled, Normal, Disabled, BPDUFilter, Edge BPDUGuard Disabled Disabled STP MST Simulate PVST 1 Enabled Enabled Allowed VLANs - 1,624 1 Local suspended VLANs - 624 - switch#
Command or Action | Purpose | |
---|---|---|
Step 1 |
switch#
configure
terminal
|
Enters global configuration mode. |
Step 2 |
switch(config)#
vpc
domain
domain-id
|
Enters vpc-domain configuration mode for an existing vPC domain. |
Step 3 |
switch(config-vpc-domain)#
auto-recovery reload-delay
delay
|
Enables the auto-recovery feature and sets the reload delay period. The default is disabled. |
This example shows how to enable the auto-recovery feature in vPC domain 10 and set the delay period for 240 seconds:
switch(config)# vpc domain 10 switch(config-vpc-domain)# auto-recovery reload-delay 240 Warning: Enables restoring of vPCs in a peer-detached state after reload, will wait for 240 seconds (by default) to determine if peer is un-reachable
This example shows how to view the status of the auto-recovery feature in vPC domain 10:
switch(config-vpc-domain)# show running-config vpc
!Command: show running-config vpc
!Time: Tue Dec 7 02:38:44 2010
version 5.0(3)U2(1)
feature vpc
vpc domain 10
peer-keepalive destination 10.193.51.170
auto-recovery
YouYou can configure a restore timer that delays the vPC from coming back up until after the peer adjacency forms and the VLAN interfaces are back up. This feature avoids packet drops if the routing tables fail to converge before the vPC is once again passing traffic.
Ensure that you have enabled the vPC feature.
You must configure both switches on either side of the vPC peer link with the following procedures.
Command or Action | Purpose | |
---|---|---|
Step 1 |
switch#
configure
terminal
|
Enters global configuration mode. |
Step 2 |
switch(config)#
vpc
domain
domain-id
|
Creates a vPC domain on the switch if it does not already exist, and enters vpc-domain configuration mode. |
Step 3 |
switch(config-vpc-domain)#
delay
restore
time
|
Configures the time delay before the vPC is restored. The restore time is the number of seconds to delay bringing up the restored vPC peer device. The range is from 1 to 3600. The default is 30 seconds. |
Step 4 |
switch#
copy
running-config startup-config
| (Optional)
Copies the running configuration to the startup configuration. |
This example shows how to configure the delay reload time for a vPC link:
switch(config)# vpc domain 1 switch(config-vpc-domain)# delay restore 10 switch(config-vpc-domain)#
When a vPC peer-link is lost, the vPC secondary switch suspends its vPC member ports and its switch virtual interface (SVI) interfaces. All Layer 3 forwarding is disabled for all VLANs on the vPC secondary switch. You can exclude specific SVI interfaces so that they are not suspended.
Ensure that the VLAN interfaces have been configured.
Command or Action | Purpose | |
---|---|---|
Step 1 |
switch#
configure terminal
|
Enters global configuration mode. |
Step 2 |
switch(config)#
vpc domain
domain-id
|
Creates a vPC domain on the switch if it does not already exist, and enters vpc-domain configuration mode. |
Step 3 |
switch(config-vpc-domain))#
dual-active exclude interface-vlan
range
|
Specifies the VLAN interfaces that should remain up when a vPC peer-link is lost. range—Range of VLAN interfaces that you want to exclude from shutting down. The range is from 1 to 4094. |
This example shows how to keep the interfaces on VLAN 10 up on the vPC peer switch if a peer link fails:
switch# configure terminal switch(config)# vpc domain 5 switch(config-vpc-domain)# dual-active exclude interface-vlan 10 switch(config-vpc-domain)#
The switch services, such as ping, ssh, telnet, radius, are VRF aware. You must configure the VRF name in order for the correct routing table to be used.
You can specify the VRF name.
Command or Action | Purpose |
---|
This example shows how to specifiy the VRF named vpc_keepalive:
switch# ping 123.1.1.1 vrf vpc_keepalive PING 123.1.1.1 (123.1.1.1): 56 data bytes 64 bytes from 123.1.1.1: icmp_seq=0 ttl=254 time=3.234 ms 64 bytes from 123.1.1.1: icmp_seq=1 ttl=254 time=4.931 ms 64 bytes from 123.1.1.1: icmp_seq=2 ttl=254 time=4.965 ms 64 bytes from 123.1.1.1: icmp_seq=3 ttl=254 time=4.971 ms 64 bytes from 123.1.1.1: icmp_seq=4 ttl=254 time=4.915 ms --- 123.1.1.1 ping statistics --- 5 packets transmitted, 5 packets received, 0.00% packet loss round-trip min/avg/max = 3.234/4.603/4.971 ms
Ensure that you have enabled the vPC feature.
You must configure both switches on either side of the vPC peer link with the following procedure.
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
switch#
configure terminal
|
Enters global configuration mode. | ||
Step 2 |
switch(config)#
interface port-channel
channel-number
|
Selects the port channel that you want to put into the vPC to connect to the downstream switch, and enters interface configuration mode.
| ||
Step 3 |
switch(config-if)#
vpc
number
|
Configures the selected port channel into the vPC to connect to the downstream switch. The range is from 1 to 4096. The vPC number that you assign to the port channel that connects to the downstream switch from the vPC peer switch must be identical on both vPC peer switches. | ||
Step 4 |
switch#
show vpc brief
| (Optional)
Displays information about each vPC. | ||
Step 5 |
switch#
copy running-config startup-config
| (Optional)
Copies the running configuration to the startup configuration. |
This example shows how to configure a port channel that will connect to the downstream device:
switch# configure terminal
switch(config)# interface port-channel 20
switch(config-if)# vpc 5
Note | Configuring the system address is an optional configuration step. |
Ensure that you have enabled the vPC feature.
You must configure both switches on either side of the vPC peer link.
Command or Action | Purpose | |
---|---|---|
Step 1 |
switch#
configure terminal
|
Enters global configuration mode. |
Step 2 |
switch(config)#
vpc domain
domain-id
|
Selects an existing vPC domain on the switch, or creates a new vPC domain, and enters the vpc-domain configuration mode. There is no default domain-id; the range is from 1 to 1000. |
Step 3 |
switch(config-vpc-domain)#
system-mac
mac-address
|
Enters the MAC address that you want for the specified vPC domain in the following format: aaaa.bbbb.cccc. |
Step 4 |
switch#
show vpc role
| (Optional)
Displays the vPC system MAC address. |
Step 5 |
switch#
copy running-config startup-config
| (Optional)
Copies the running configuration to the startup configuration. |
This example shows how to configure a vPC domain MAC address:
switch# configure terminal
switch(config)# vpc domain 5
switch(config-if)# system-mac 23fb.4ab5.4c4e
When you create a vPC domain, the system automatically creates a vPC system priority. However, you can also manually configure a system priority for the vPC domain.
Ensure that you have enabled the vPC feature.
You must configure both switches on either side of the vPC peer link.
Command or Action | Purpose | |
---|---|---|
Step 1 |
switch#
configure terminal
|
Enters global configuration mode. |
Step 2 |
switch(config)#
vpc domain
domain-id
|
Selects an existing vPC domain on the switch, or creates a new vPC domain, and enters the vpc-domain configuration mode. There is no default domain-id; the range is from 1 to 1000. |
Step 3 |
switch(config-vpc-domain)#
system-priority
priority
|
Enters the system priority that you want for the specified vPC domain. The range of values is from 1 to 65535. The default value is 32667. |
Step 4 |
switch#
show vpc brief
| (Optional)
Displays information about each vPC, including information about the vPC peer link. |
Step 5 |
switch#
copy running-config startup-config
| (Optional)
Copies the running configuration to the startup configuration. |
This example shows how to configure a vPC peer link:
switch# configure terminal
switch(config)# vpc domain 5
switch(config-if)# system-priority 4000
By default, the Cisco NX-OS software elects a primary and secondary vPC peer switch after you configure the vPC domain and both sides of the vPC peer link. However, you may want to elect a specific vPC peer switch as the primary switch for the vPC. Then, you would manually configure the role value for the vPC peer switch that you want as the primary switch to be lower than the other vPC peer switch.
vPC does not support role preemption. If the primary vPC peer switch fails, the secondary vPC peer switch takes over to become operationally the vPC primary switch. However, the original operational roles are not restored when the formerly primary vPC comes up again.
Ensure that you have enabled the vPC feature.
You must configure both switches on either side of the vPC peer link.
Command or Action | Purpose | |
---|---|---|
Step 1 |
switch#
configure terminal
|
Enters global configuration mode. |
Step 2 |
switch(config)#
vpc domain
domain-id
|
Selects an existing vPC domain on the switch, or creates a new vPC domain, and enters the vpc-domain configuration mode. There is no default domain-id; the range is from 1 to 1000. |
Step 3 |
switch(config-vpc-domain)#
role priority
priority
|
Enters the role priority that you want for the vPC system priority. The range of values is from 1 to 65535. The default value is 32667. |
Step 4 |
switch#
show vpc brief
| (Optional)
Displays information about each vPC, including information about the vPC peer link. |
Step 5 |
switch#
copy running-config startup-config
| (Optional)
Copies the running configuration to the startup configuration. |
This example shows how to configure a vPC peer link:
switch# configure terminal
switch(config)# vpc domain 5
switch(config-if)# role priority 4000