Introduction
This document describes how to map out the multi-destination tree for a given Forwarding Tag (FTag) in a FabricPath topology. This allows you to follow the expected flow of a multi-destination packet for a given FTag. In this example, you start from the FabricPath edge switch N7K5-FPE and you map out the FTag 1 tree. The full FabricPath domain topology is shown in this diagram.
Prerequisites
Requirements
There are no specific requirements for this document.
Components Used
The information in this document is based on these software and hardware versions:
- Nexus 7000 with Release 6.1(2)
- F2 Series line cards
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Background Information
Users should be familiar with FabricPath concepts and terminology. A brief explanation of the use of the FTag ( forwarding tag) parameter in the FabricPath header is covered in this section.
The function of FTag is detected by the type of frame. Specifically, if the frame is a unicast or multi-destination. In the case of a unicast frame, the FTag identifies and selects the FabricPath Topology for which the given frame should traverse. Single topology is supported with a value of "1" assigned to it.
In the case of multi-destination frames, the ingress switch that receives the frame needs to identify which multi-destination forwarding tree the given frame traverses.
When multi-destination traffic enters a FabricPath domain, the ingress switch uses a hashing algorithm in order to decide which FTag to program in the FabricPath header. Each FabricPath Topology has two multi-destination trees, FTag 1 and FTag 2 trees. Each FTag has a root switch that is calculated similar to a spanning-tree root. The election is based on FabricPath priority and system ID. The switch with the highest priority, or the system ID when the priority is defaulted, becomes the root for FTag 1 and the runner-up is the root for FTag 2.
Once a FTag is selected by the ingress FabricPath edge switch, the rest of the FabricPath core forwards the multi-destination packet based on that FTag. A multi-destination packet includes any broadcast, multicast, or unknown unicast packet. Each switch forwards the packet based on the lowest cost to the root. Once the root receives the packet, it forwards it to all switches in that FTag except the switch from which it was received.
Map Out the Multi-destination Tree for a FTag
- Confirm the local switch-ID.
Note: When a FabricPath switch is a member of a vPC+ domain, it has a non-emulated (standalone) switch-id and an emulated (vPC+) switch-id. In the output example, note that this system-ID (6c9c.ed4f.28c4 ) is shown twice. Once for the non-emulated switch-id, and once for the emulated switch-id.
N7K5-FPE# show fabricpath switch-id
FABRICPATH SWITCH-ID TABLE
Legend: '*' - this system
=========================================================================
SWITCH-ID SYSTEM-ID FLAGS STATE STATIC EMULATED
----------+----------------+------------+-----------+--------------------
21 6c9c.ed4f.28c3 Primary Confirmed Yes No
22 6c9c.ed4d.d943 Primary Confirmed Yes No
201 6c9c.ed4f.28c4 Primary Confirmed No Yes
201 6c9c.ed4d.d944 Primary Confirmed No Yes
202 6c9c.ed4f.28c5 Primary Confirmed No Yes
202 6c9c.ed4d.d945 Primary Confirmed No Yes
*2001 6c9c.ed4f.28c4 Primary Confirmed Yes No
2002 6c9c.ed4d.d944 Primary Confirmed Yes No
2003 6c9c.ed4f.28c5 Primary Confirmed Yes No
2004 6c9c.ed4d.d945 Primary Confirmed Yes No
Total Switch-ids: 10
- Identify the root for the FTag value. As shown in the output example, the root for FTag 1 is switch-id 21.
N7K5-FPE# show fabricpath isis topology summ
Fabricpath IS-IS domain: default FabricPath IS-IS Topology Summary
MT-0
Configured interfaces: Ethernet6/15 Ethernet6/16 port-channel1
Number of trees: 2
Tree id: 1, ftag: 1 [transit-traffic-only], root system: 6c9c.ed4f.28c3, 21
Tree id: 2, ftag: 2, root system: 6c9c.ed4d.d943, 22
- Determine the FabricPath route in order to reach switch-id 21.
N7K5-FPE# show fabricpath route switchid 21
FabricPath Unicast Route Table
'a/b/c' denotes ftag/switch-id/subswitch-id
'[x/y]' denotes [admin distance/metric]
ftag 0 is local ftag
subswitch-id 0 is default subswitch-id
FabricPath Unicast Route Table for Topology-Default
1/21/0, number of next-hops: 1
via Eth6/15, [115/40], 10 day/s 20:49:54, isis_fabricpath-default
- This is an alternative to Step 3. Use a second method in order to determine the FabricPath route to reach switch-id 21.
N7K5-FPE# show fabricpath isis trees multidestination 1
Fabricpath IS-IS domain: default
Note: The metric mentioned for multidestination tree is from the root of that tree to that switch-id
MT-0
Topology 0, Tree 1, Swid routing table
21, L1
via Ethernet6/15, metric 0
22, L1
via Ethernet6/15, metric 20
201, L1
via Ethernet6/15, metric 40
202, L1
via Ethernet6/15, metric 40
2002, L1
via Ethernet6/15, metric 40
2003, L1
via Ethernet6/15, metric 40
2004, L1
via Ethernet6/15, metric 40
- View the neighboring device of Ethernet6/15, and telnet to that device.
N7K5-FPE# show cdp neighbors int e6/15 detail
----------------------------------------
Device ID:N7K5-SPINE3(JAF1620ABAB)
System Name: N7K5-SPINE3
Interface address(es):
IPv4 Address: 14.2.36.51
Platform: N7K-C7009, Capabilities: Router Switch IGMP Filtering Supports-STP-Dispute
Interface: Ethernet6/15, Port ID (outgoing port): Ethernet6/5
Holdtime: 149 sec
Version:
Cisco Nexus Operating System (NX-OS) Software, Version 6.1(1)
Advertisement Version: 2
Native VLAN: 1
Duplex: full
MTU: 1500
Mgmt address(es):
IPv4 Address: 14.2.36.51
- Verify that N7K5-SPINE3 agrees on who has the root for FTag 1.
N7K5-SPINE3# show fabricpath isis topology summary
Fabricpath IS-IS domain: default FabricPath IS-IS Topology Summary
MT-0
Configured interfaces: Ethernet6/5 Ethernet6/6 Ethernet6/7 Ethernet6/8 port-channel1
Number of trees: 2
Tree id: 1, ftag: 1, root system: 6c9c.ed4f.28c3, 21
Tree id: 2, ftag: 2, root system: 6c9c.ed4d.d943, 22
- Check the local switch-id in order to determine if you are the root, or if you need to move towards the root. The output example shows that this system is switch-id 21. You know this from Step 2 and Step 6. It is the root for FTag 1.
N7K5-SPINE3# show fabricpath switch-id
FABRICPATH SWITCH-ID TABLE
Legend: '*' - this system
=========================================================================
SWITCH-ID SYSTEM-ID FLAGS STATE STATIC EMULATED
----------+----------------+------------+-----------+--------------------
*21 6c9c.ed4f.28c3 Primary Confirmed Yes No
22 6c9c.ed4d.d943 Primary Confirmed Yes No
201 6c9c.ed4f.28c4 Primary Confirmed No Yes
201 6c9c.ed4d.d944 Primary Confirmed No Yes
202 6c9c.ed4f.28c5 Primary Confirmed No Yes
202 6c9c.ed4d.d945 Primary Confirmed No Yes
2001 6c9c.ed4f.28c4 Primary Confirmed Yes No
2002 6c9c.ed4d.d944 Primary Confirmed Yes No
2003 6c9c.ed4f.28c5 Primary Confirmed Yes No
2004 6c9c.ed4d.d945 Primary Confirmed Yes No
Total Switch-ids: 10
- Since you know N7K5-SPINE3 is the root, you need to see how it forwards a multi-destination frame received with FTag 1. Based on this output, N7K5-SPINE3 forwards a multi-destination frame with FTag 1 to Eth6/5 - Eth6/8 and Port-channel 1.
N7K5-SPINE3# show fabricpath isis trees multidestination 1
Fabricpath IS-IS domain: default
Note: The metric mentioned for multidestination tree is from the root of that tree to that switch-id
MT-0
Topology 0, Tree 1, Swid routing table
22, L1
via port-channel1, metric 20
201, L1
via Ethernet6/6, metric 40
202, L1
via Ethernet6/8, metric 40
2001, L1
via Ethernet6/5, metric 40
2002, L1
via Ethernet6/6, metric 40
2003, L1
via Ethernet6/7, metric 40
2004, L1
via Ethernet6/8, metric 40
Use the information you have collected in order to draw out the multi-destination tree for FTag 1. The multi-destination tree for FTag 1 is highlighted by RED links in this topology.
Command Reference:
show fabricpath isis topology summary
show fabricpath isis trees multidestination <ftag>
show fabricpath route switchid <switch-id>
show fabricpath switch-id