F Path Troubleshooting Step by Step Guide
F Path Troubleshooting Step by Step Guide
Troubleshooting
Carlo Schmidt, Customer Support Engineer
BRKDCT-3313
Acronyms / Definitions
Acronyms Definitions Acronyms Definitions
ACL Access Control List FP FabricPath
ASIC Application Specific Integrated Circuit FTAG Forwarding Tag
ASID Anycast Switch Identifier LID Local Identifier
BD Bridge Domain LTL Local Target Logic
CE Classical Ethernet MIM MAC-in-MAC (common reference to FP
header)
DBUS / RBUS Data Bus / Result Bus PACL Port-based ACL
DRAP Dynamic Resource Allocation Protocol RACL Router-based ACL
DSID Destination Switch Identifier RPF Reverse Path Forwarding
ELAM Embedded Logic Analyzer Module SoC Switch-On-Chip
ES Emulated Switch SSID Source Switch Identifier
FE Forwarding Engine VACL Vlan-based ACL
FF Flood to Fabric VDC Virtual Device Context
Reference Slide
Agenda
• FabricPath Overview
Benefits, Restrictions, and Configuration
• Key Concepts
Encapsulation, Trees, Topologies, STP
• Data Plane
Forwarding, Load-Balancing, MAC Learning
• vPC+
Challenges and Operation
• Troubleshooting
Verification steps, tools, and examples
FabricPath Benefits
Single path between 2 points in L2 network
Existing • Stability/Resilience at scale
• Disruptive convergence
Layer2
DSID 20
SSID 10 DMAC B
DMAC B SMAC A
SMAC A Payload
DMAC B
Payload
SMAC A
Payload
MAC A MAC B
CE FabricPath CE
FabricPath Overview
Multidestination (broadcast, multicast, unicast flood)
Ingress FP SSID comes MAC B is
Root switch Root switch
Switch selects from S10’s unknown DSID
for Tree 1 for Tree 2
Tree (FTAG) own switchID = FloodSID → FabricPath interface
DMAC B → CE interface
DMAC B SSID
SSID FTAG 1 → Tree 1
FTAG 1 DMAC B
DMAC B SMAC A DMAC B → Tree 2
SMAC A Payload SMAC A
DMAC B
Payload Payload
SMAC A
Payload
MAC A MAC B
CE FabricPath CE
FabricPath support & configuration
• N7K with N7K-F1 linecard as of 5.1.1
N7K(config)# install feature-set fabricpath
• N7K with N7K-F2 linecard as of 6.0.1
N7K(config)# feature-set fabricpath
• N7K + FEX as of 6.1.1 (with N7K-F2) for CE N7K(config)# interface Ethernet4/1
ports N7K(config-if)# switchport mode fabricpath
• F2E as of 6.1.2 ...
47 0
Endnode Endnode R O SubSwitch
U/L I/G S O Switch ID
ID ID
V O ID Local ID
[ 5:0] [ 7:6] D
• Dynamic Resource Allocation Protocol (DRAP) is responsible for allocating switch IDs and resolving
duplicate-ID conflicts. Conflicts are resolved by renumbering switches with higher systemID
(DRAP can only auto resolve non-static switch ID)
N7K# show fabricpath switch-id
1 2 3
FABRICPATH SWITCH-ID TABLE
=========================================================================
SWITCH-ID SYSTEM-ID FLAGS STATE STATIC EMULATED
+
----------+----------------+------------+-----------+--------------------
*3 c062.6bac.e343 Primary Confirmed Yes No
4 5
30 547f.ee02.ce3c Primary Confirmed Yes No
3
40 547f.ee04.5cfc Primary Confirmed Yes No
• When partitioned FP network is merged (or new switch joins the fabric) connecting interface is not =
enabled for data before all conflicts are resolved
N7K# show fabricpath conflict all
N7K(config-if-range)# no shut
Port State
---------------+------------------------ 1 2 3
Ethernet3/31 Suspended due to conflicts
%FABRICPATH-2-
============================================== 4 5
FABRICPATH_LINK_BRINGUP_STALLED_STATIC: Link
Fabricpath Conflicts
6
bringup stalled due to conflicts
SYSTEM-ID SWITCH-ID STATIC
---------------+--------------+---------------
c062.6bac.e343 3 Yes
c062.6bac.e342 3 Yes
Network Merges / Conflict resolution
• Goal is to connect two networks with conflicting switch IDs
without incurring packet loss N7k# show fabricpath switch-id
1) Allocate new switch-id as secondary – tentative Legend: '*' - this system
• Wait allocate delay time SWITCH-ID SYSTEM-ID FLAGS STATE STATIC EMULATED
2) Make new switch-id as secondary - confirmed ----------+----------------+------------+-----------+--------------------
• Wait transition delay time *332 b414.89e3.a042 Primary Confirmed Yes No
3) Swap primary and secondary switch-ids
N7k# show fabricpath isis switch-id
• Wait transition delay time
Legend: C - Confirmed, T - tentative, W - swap
4) Delete old switch-id (now a secondary switch-id) S - sticky, E - Emulated Switch
'*' - this system
More About Graceful Merge System-ID Primary Secondary Reachable Bcast-Priority
MT-0
b414.89e3.a042* 332 [C] 0[C] Yes 222 [S]
Graceful merge changes the switch-id of a switch to
resolve switch-id collisions N7k# show fabricpath timers
Allocate Delay Timer : 10
The switch-id to change is based on the system-id Transition Delay Timer : 10
being higher value, or being dynamic Link-up Delay Timer : 10
• RPF: check where the source switch of the packet is Accept packets from 4,1,2
and only accept packets from the interface we would
have used if we were to send packet to that source 4 3
• At each FP hop RPF check is performed for multidestination traffic against
source switchID + FTAG May also use
N7K# show l2 multicast trees show fabricpath isis trees
VL10
VL10
VL20
VL20
VL30
FabricPath Software Architecture & Hardware tables
Supervisor
DRAP
on the Supervisor Engine: Engine
FabricPath IS-IS
• FabricPath IS-IS routing protocol process that forms the core of the FabricPath
control plane U2RIB L2FM
Hardware Drivers
• U2RIB Unicast Layer 2 RIB, containing the “best” unicast Layer 2 routing
information
Switch Table Other HW MAC Table
• L2FM Layer 2 forwarding manager, controls MAC address table I/O Module
on the Linecards:
• U2FIB – Unicast Layer 2 FIB, managing the hardware unicast routing table
• MTM – MAC Table Manager, managing the hardware MAC address table
Fabric Path Control Plane initialization flow
S101# show processes cpu | egrep "2rib|drap|fab|l2fm|PID"
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process Processes start
9169 750 16723 0 0.00% 0.00% 0.00% - l2fm (isis, u2rib, m2rib, drap)
9215 1050 7843 0 0.00% 0.00% 0.00% - m2rib
9555 1050 36161 0 0.00% 0.00% 0.00% - u2rib System ID obtained
9556 14740 163944 0 0.00% 0.00% 0.00% - isis_fabricpath from backplane MAC
9557 820 31339 0 0.00% 0.00% 0.00% - drap
• DRAP Dynamic Resource Allocation Protocol, extension to FabricPath IS- M2RIB L2FM
IS that ensures network-wide unique and consistent Switch IDs and
FTAGs MFDM
• IGMP Provides IGMP snooping support for building multicast forwarding
database
• M2RIB Multicast Layer 2 RIB, contains the multicast Layer 2 routing M2FIB MTM
information
Hardware Drivers
• L2FM Layer 2 forwarding manager, controls the MAC address table
• MFDM Multicast forwarding distribution manager, connects platform- Switch Table Other HW MAC Table
independent control-plane processes and platform-specific processes on I/O Module
I/O modules
on the Linecards:
• M2FIB – Multicast Layer 2 FIB, manages the hardware multicast routing
table
• MTM – MAC table manager, manages the hardware MAC address table
S1 S2
FabricPath
•
Multicast Control Plane
IGMP/IGMP snooping tracks connected hosts/routers interest in
S10 S30
receiving multicast
S20
Receiver Receiver
• ISIS distributes information from igmp snooping to other FP nodes 239.1.2.3 239.1.2.3
using GM-LSPs. Intermediate nodes flood GM-LSPs
Source
• A pruned subtree is created for each group (+flood, OMF) per vlan per FTAG 239.1.2.3
Vlan FTAG MAC Switches Interfaces Vlan FTAG MAC Switches Interfaces
1 1 0100.5e01.0203 S10,S30 E1/10,E1/30 1 1 0100.5e01.0203 S10,S30 E1/1
1 2 0100.5e01.0203 S10,S30 E1/2 1 2 0100.5e01.0203 S10,S30 E1/10,E1/30
Root S1 S2 S1 S2 Root
Tree1 E1/2 E1/1 Tree2
E1/10 E1/30 E1/10 E1/30
S10 S30 S30
S10
S20 S20
MAC A E1/1 MAC B MAC A E1/2 MAC B
Vlan FTAG MAC Switches Interfaces Vlan FTAG MAC Switches Interfaces
1 1 0100.5e01.0203 S10,S30 E1/1 1 2 0100.5e01.0203 S10,S30 E1/2
STP & FabricPath
• No STP inside FP network
• BPDUs do not traverse FP network
(dropped at FP edge, with the exception of TCNs, see next slide)
• FP network pretends to be 1 switch from STP point of view: all FP edge FabricPath
switches send BPDUs with the same Bridge ID c84c.75fa.60xx (xx is domain ID
in hex, default 00)
• Before FP ports are up, switch will use its own Bridge ID
(like STP without FP would do)
• Ports inside FP cannot be blocked, FP edge switches will always want to have
STP designated role, if superior BPDU is received such port will be blocked as
L2GW inconsistent
N7K# show spanning-tree interface e3/1 detail
Port 385 (Ethernet3/1) of VLAN2000 is broken (L2 Gateway Backbone Port Inconsistent)
Designated root has priority 34768, address c84c.75fa.6000
…
N7K(config)# spanning-tree vlan 2000 priority 8192
22:27:28 %STP-2-L2GW_BACKBONE_UNBLOCK:
L2 Gateway Backbone port inconsistency cleared unblocking port Ethernet3/1 on VLAN2000.
STP, FabricPath & TCNs
Flush MACs learned from
• When CE STP domains are connected to multiple FP switches STP S4,S5
TCN handling might be needed to maintain accuracy of MAC address
tables inside CE
• Example if link CE1-CE2 goes down, link CE2-CE3 will become forwarding.
Now to reach MAC B, switches inside FP need to send traffic to S5 instead
of S4… S1 STP Domain 1 S3
C
N
T
C
• Each FP switch will flush all remote MAC addresses learned from switches T
MAC A
N
in the same STP domain as domain originating the TCN C T
S4 T CS5
• In addition, if FP switch is also part of the same STP domain, it will STP Domain 2 N
propagate TCN to the CE domain X
• TCNs are not propagated to CE in domain 0 (default domain) CE1 CE2 CE3
MAC B
N7K# conf t
N7K(config)# spanning-tree domain ?
<1-1023> Domain Identifier
N7K# sh spanning-tree summary Flush MACs learned on CE
Switch is in rapid-pvst mode
L2 Gateway Domain ID: 100
...
Control Plane Protection
• Both N7K, N6K, and N5K recognize and protect FP ISIS traffic at COPP level
• COPP needs to be updated when deploying FabricPath; standard profiles are FP-aware as of 5.2(1)
N7K# show policy-map interface control-plane N5K# show policy-map interface control-plane class
Control Plane 7K copp-system-class-isis
service-policy input: copp-policy-strict
class-map copp-class-critical (match-any) Control Plane
… service-policy input: copp-system-policy-default
match access-group name class-map copp-system-class-isis (match-any)
copp-acl-mac-fabricpath-isis match protocol isis_dce
police cir 1024 kbps , bc 4800000 bytes 5K
…
set cos 7 conformed 751957 bytes; action: transmit
police cir 39600 kbps , bc 250 ms violated 0 bytes; 6K
module 1 :
conformed 5136527710 bytes; action: transmit
violated 0 bytes; action: drop
• In case of complex CE-side STP topologies (with blocking ports), usual STP safeguards are recommended
(Bridge Assurance & Dispute / UDLD)
• On N7K-F1 cards: rate-limiters allow up to 4500 PPS worth of control plane FabricPath packets
FabricPath IS-IS
• MAC address table
U2RIB L2FM
VLAN, MAC Address, Port (local or remote),
FTAG (for non-unicast)
U2FIB MTM
• Switch-ID table Hardware Drivers
remote switch-ID, local next-hop interfaces (up to 16)
Switch Table Other HW MAC Table
Unknown unicast
DA N ODA = MC1 (Flood2BD)
Known
DA = Destination Address
Y
SA = Source Address
Unknown source Flood to update MACs
SA ODA = Outer Destination Address
ODA = MC2 (FF)
Known
N OSA = Outer Source Address
MC1 = 010F.FFC1.01C0
Y
ODA = L2_lookup (DA) MC2 = 010F.FFC1.02C0
Ftag == Vlan2Ftag(Vlan)
Choose FTAG
FTAG for unicast Ftag = F(Vlan,SA/DA,…)
is topology ID
TTL = 32
OSA.SW/SubSW = local
OSA.LID=LID(ingress_port)
Forward
Forwarding: broadcast/multicast CEFP
BC || MC
ODA = DA
OSA.SW/SubSW = local
OSA.LID=LID(ingress_port)
Drop
Load-balancing
• N7K: Unicast and Multicast load-balancing are separate
• N5K/N6K: Unified load-balancing mechanism for unicast and multicast
N7K# show fabricpath load-balance • Symmetric: idea is to make ab and ba
ECMP load-balancing configuration: flows take same path by sorting addresses,
L3/L4 Preference: Mixed before feeding them to hash
Hash Control: Symmetric
Rotate amount: 6 bytes • Rotate: polarization avoidance; hash result is
Use VLAN: TRUE
rotated by specified number of bytes.
Ftag load-balancing configuration: Number is derived from unique system MAC
Hash Control: Symmetric
Rotate amount: 6 bytes
Use VLAN: TRUE
N7K# show fabricpath load-balance unicast forwarding ftag 1 switchid 30 flow l2 src-mac 001c.57ad.ecc3
dst-mac 547f.ee02.ce3c ether-type 0x800 vlan 2000 module 3
128b Hash Key generated : 1ffb80b38f02000019000715eb7b30d5
This flow selects interface Eth3/25
Reducing impact of forwarding loops
32K MACs 128K MACs* 16K MACs 16K MACs 64K MACs 128K MACs
per SoC per SoC per SoC
Potential bottleneck if
F1/F2 used in L3 Spine
L3
Spine
L2
Spine
L3 Spine
Leaf Leaf
VLAN 100 VLAN 200 VLAN 100 VLAN 200 VLAN 100 VLAN 200 VLAN 100 VLAN 200
Leaf Layer Optimized conversational learning Leaf Layer Optimized conversational learning
Spine No MAC learning (forwarding based on SWID) Spine Learns all MAC addresses in order to
route between VLANs
FabricPath Proxy L2 Learn
• Goal: Increase MAC table size in FabricPath for F1/F2E modules
• Solution: Offload MAC learning to M-series module at L2/L3 boundary
• Prerequisites: 6.2(2) on N7K (Spine and Leaf) , M1/M2 + F2E or M1/M2 + F1
Configuration
Learn All ! From default VDC (Prevents F2E/F1 from learning on multicast frames)
M1/M2
Remote MACs no hardware fabricpath mac-learning module <x> [port-group <y>]
L3
L2 ! From fabricpath VDC (prevents F2E/F1 from learning remote MACs)
Spine no mac address-table fabricpath remote-learning
No MAC
SoC Learning
Leaf
! If you are using F2 for Leaf core ports to prevent learning from
broadcast/multicast
no hardware fabricpath mac-learning module <x> [port-group <y>]
VLAN 100 VLAN 200 VLAN 100 VLAN 200
FabricPath MAC Learning Changes: Why?
VLAN MAC Index
200 A gpc1 • M-Series MAC tables contain VLAN, MAC, and port index
(no concept of SWID, SSWID, LID in M-Series MAC table)
M sends
S1 M1/M2 frame to gpc1
• For FP MACs, the destination SWID is mapped to an
L3
GPC SWID internal gateway port-channel (GPC) index which is
L2 programmed in the M-series MAC table
gpc1 S201
FP F translates
SoC
• FP SoC will translate GPC to SWID before sending out FP
frame to
SWID 201, LID port.
FP FP FFFFMAC miss,
SoC SoC causes flood to • Challenge: No way for FP SoC to determine LID for packet
local CE ports
S101 S201
from M-Series module if MAC is not present in local MAC
table. Therefore, packet from M-Series sent out FP with
CE CE flood LID.
SoC SoC If FP SoC on destination switch has not learned MAC, then
packet will be flooded out local CE ports
A, B, C
A, B, C
CE
CE
SoC
SoC
Learns MAC
A,B,C
FP Learn all MACs on CE
FP Learn all MACs on CE SoC
SoC Sync local CE ports. Learn remote
No MACs ports. Learn remote
MACs to FP SoC MACs via
Learned MACs via FP
FP conversational learning
conversational learning SoC
SoC Learns MAC
X,Y,Z
RPF RPF
• Solution: S1 and S2 advertise to S3 (via ISIS TLV) an affinity to single FTAG2,S100
FTAG1,S100
FTAG each, S3 will program RPF according to affinity. Multidestination
1/1 1/2
traffic coming from VPC+ will be set to use FTAG 1 for VPC leg on S1
and FTAG 2 for VPC leg on S2
S3# show fabricpath route switchid 100 Affinity Affinity
FabricPath Unicast Route Table FTAG1 FTAG2
1/100/0, number of next-hops: 2
via Eth1/1, [115/40], 11 day/s 00:59:35, isis_fabricpath-default
via Eth1/2, [115/40], 11 day/s 01:03:27, isis_fabricpath-default S1 S2
S3# show fabricpath isis database detail | i Affinity|Host|Numg
Hostname : S1 Length : 2
Affinity : Use FTAG1 Use FTAG2
Nickname: 100 Numgraphs: 1 Graph-id: 1
Hostname : S2 Length : 2
Affinity :
Nickname: 100 Numgraphs: 1 Graph-id: 2 S100
S3# show l2 multicast trees
(ftag/2, topo/0, Switch-id 100), uptime: 1d01h, isis
Outgoing interface list: (count: 1, '*' is the preferred interface)
* Interface Ethernet1/2, [admin distance/115] uptime: 1d01h, isis MAC A
(ftag/1, topo/0, Switch-id 100), uptime: 6d00h, isis
Outgoing interface list: (count: 1, '*' is the preferred interface)
* Interface Ethernet1/1, [admin distance/115] uptime:
47 6d00h, isis
VPC+: Why, What and How (3) MAC B
vPC status
-------------------------------------------------------------------------
id Port Status Consistency Reason Active vlans vPC+ Attrib MAC A
-- ---------- ------ ----------- ------ ------------ ----------- vpc domain 100
101 Po101 up success success 10 DF: Partial
fabricpath multicast load-balance
VPC+: Prevention of Duplicate Packets
• How is packet received from VPC+ and flooded on S1 prevented from being
flooded on S2 to same VPC+ again?
• N7K-F1 linecards:
Each VPC+ will have its own sub-switch ID. Mac addresses will be learned behind
<es_id>.<subsw_id>.<lid>, for example 100.11.65535
Fabric Path
(emulated switch 100, sub-switch 11, LID 65535). S2 will recognize ES + SubSwitch tuple as
its own port and will not flood the frame back to VPC
X
FTAG1, but S2 will only flood FTAG2 packets out of the VPC
• Dual active is much less likely than with normal VPC: if Peer-Link and
Peer-Keepalive go down, but peer is reachable via FP – secondary will
not become primary S100
FabricPath: Configuration
install feature-set fabricpath
feature-set fabricpath S101 S102 S201 S202
vlan 100-199
mode fabricpath Best practice to manually
fabricpath switch-id 101 configure switch-id A ES S100 B C ES S200 D
vpc domain 100
fabricpath switch-id 100
fabricpath multicast load-balance
A ES S100 B C ES S200 D
S101# show system internal sysmgr service all | i 2rib|drap|fabric|PID
Name UUID PID SAP state Start count Tag Plugin ID
isis_fabricpath 0x41000243 6475 436 s0009 1 N/A 1
FabricPath plugin in good drap 0x0000024E 6476 448 s0009 1 N/A 1
state m2rib 0x00000250 6435 449 s0009 1 N/A 1
u2rib 0x00000254 6474 452 s0009 1 N/A 1
Services running for URIB,
MRIB, DRAP, ISIS S101# show processes cpu | i 2rib|drap|fabric|PID
CPU levels are reasonable PID
6435
Runtime(ms) Invoked
410 335
uSecs 5Sec
1 0.00%
1Min
0.00%
5Min
0.00%
TTY
-
Process
m2rib
Memory below limits 6474 170 735 0 0.00% 0.00% 0.00% - u2rib
6475 690 3764 0 0.00% 0.00% 0.00% - isis_fabricpath
6476 200 725 0 0.00% 0.00% 0.00% - drap
I/O Module
S1 S2 FP Vlans 100-199
Vlan Group Address Ver Type Port list S101 S102 S201 S202
100 */* - RF Eth1/7
RF Eth1/8 vPC30 vPC40
100 239.1.1.1 v2 D Po40
A ES S100 B C ES S200 D
S101# show fabricpath isis database mgroup detail | egrep "LSPID|Group|00-01" Multicast Multicast
LSPID Seq Number Checksum Lifetime A/P/O/T Sender Receiver
S201.00-01 0x00000093 0xEA2C 1092 0/0/0/1
Group-Address : IP Multicast : Vlan : 100 Groups : 1 *,G from local IGMP snooping
Group : 239.1.1.1 Sources : 0
S202.00-01 0x00000090 0xBD66 709 0/0/0/1 Local IGMP/snooping entries are
Group-Address : IP Multicast : Vlan : 100 Groups : 1 redistributed into FP
Group : 239.1.1.1 Sources : 0
L2 multicast prune subtrees built
on each FP switch
S101# show fabricpath mroute vlan 100 S101 hashes multicast to FTAG 1
(vlan/100, 0.0.0.0, 239.1.1.1), uptime: 20:35:57, isis (remember vPC+ affinity)
Outgoing interface list: (count: 2)
Switch-id 201, uptime: 20:35:57, isis S101# show fabricpath mroute vlan 100 ftag 1
Switch-id 202, uptime: 20:35:57, isis
(ftag/1, vlan/100, 0.0.0.0, 239.1.1.1), uptime: 20:47:34, isis
Outgoing interface list: (count: 2)
Interface Ethernet6/27, Switch-id 201, uptime: 22:26:18, isis
Interface Ethernet6/27, Switch-id 202, uptime: 22:26:18, isis
S1 S2 FP Vlans 100-199
FabricPath: IP Multicast
QUIZ
Both S201 and S202 receive multicast S101 S102 S201 S202
A ES S100 B C ES S200 D
S202# show vpc 40
vPC status Multicast Multicast
--------------------------------------------------------------------------- Sender Receiver
id Port Status Consistency Reason Active vlans vPC+ Attrib
-- ---------- ------ ----------- ------ ------------ -----------
40 Po40 up success success 100-199 DF: Partial,
FP MAC:
200.0.0
vPC+ in partial status which
means multidestination traffic is
S201# show fabricpath isis database detail S201.00-00 | sec Affinity
Affinity :
load-balanced between vPC peers
Nickname: 200 Numgraphs: 1 Graph-id: 1 S201 has affinity for FTAG 1
S201# show fabricpath isis database detail S202.00-00 | sec Affinity S202 has affinity for FTAG 2
Affinity :
Nickname: 200 Numgraphs: 1 Graph-id: 2 S201 will forward this frame
FabricPath: Hardware Multicast MAC
• Multicast MACs are stored differently from usual 0100.5exx.xxxx
F1
module-4# show hardware mac address-table vlan <vlan> vdc <vdc> fe <fe>
FE | Valid| PI| BD | MAC | Index|...| PV | RD| NN| UC|PI_E8| SWID| SSWID| LID
| | | | | |...| | | | | | | |
---+------+---+------+---------------+-------|...|----|---|---|---|-----|-----|------|-------
4 1 0 52 0100.ef01.0203 0x07ffb ... 0x00 0 0 0 0 0x000 0x000 0x07ffb
4 1 0 52 0100.ef04.0506 0x07ffb ... 0x00 0 0 0 0 0x000 0x000 0x07ffb
4 1 0 52 0100.ef01.0203 0x07ffb ... 0x00 0 0 0 0 0x000 0x000 0x07ffb
4 1 0 52 0100.ef04.0506 0x07ffb ... 0x00 0 0 0 0 0x000 0x000 0x07ffb
• Each mac appears twice: once per FTAG, use ‘show hard internal forwarding … table mac’ to find which
is which
F2 module-6# show hardware mac address-table vlan <vlan> vdc <vdc> fe <fe>
FE | Valid| PI| BD | MAC | Index| Stat| SW | Modi| Age| ... | SWID| SSWID| LID
| | | | | | ic | | fied|Byte| ... | | |
---+------+---+------+---------------+-------+-----+-----+-----+----+ ... |-----|------|-------
7 1 1 245 0000.0000.000a 0x00408 0 0x009 1 199 ... 0x064 0x00b 0x00408
7 1 0 245 0000.0000.000d 0x00000 0 0x009 1 199 ... 0x0c8 0x000 0x00000
7 1 0 245 4180.0f01.0101 0x07fd8 1 0x000 0 0 ... 0x000 0x000 0x07fd8
7 1 0 245 4180.0f01.0101 0x07fda 1 0x000 0 0 ... 0x000 0x000 0x07fda
Looking back in time
< 50 smallcnt DSWID/DSSWID miss and DCE frame, def-gw disabled 0000000000000563 5-6 –
> 50 smallcnt DSWID/DSSWID miss and DCE frame, def-gw disabled 0000000000002563 5-6 -
• And on N5K/N6K
N5K# sh platform fwm info pif e1/5 | i stats|cdce PIF (physical interface) maintains RX/TX
Eth1/5 pd: tx stats: bytes 304069130 frames 913992 discard 0 drop 0 and drop counters
Eth1/5 pd: rx stats: bytes 9647836468 frames 8319249 discard 0 drop 1650
Eth1/5 pd cdce_addr: switchid 30 sub-switchid 0, endnodeid 0 Check if drops are non-zero & growing
Eth1/5 pd cdce_addr: Mcast 0, locally-adm 1, OutOfOrder/don't learn 0 (also check the ASIC number)
Eth1/5 pd cdce_addr: localid 5, pbp_idx 0
Use ASIC-errors command to get a
N5K# sh platform fwm info asic-errors 0 breakdown of drop reasons (and see if any
Printing non zero Carmel error registers:
DROP_SRC_VLAN_MBR: res0 = 495188 res1 = 0 [12]
are growing in with test/ping traffic)
DROP_CDCE_SW_TBL_RPF_MISS: res0 = 4 res1 = 0 [30]
DROP_SRC_FTAG_BITMAP_MBR: res0 = 5 res1 = 0 [31]
DROP_SRC_MASK_TO_NULL: res0 = 332912 res1 = 0 [44]
Troubleshooting Tools: ELAM
• When the going gets tough…
• Embedded Logic Analyzer Module (ELAM) is an engineering tool that is used to look
inside Cisco ASICs.
• ELAM is architecture specific and therefore will have different capabilities and different
CLI syntax across different forwarding engines (FE).
• It is possible to use ELAM as a capturing tool to validate:
1. Was the packet received
ELAM is NOT a supported feature.
2. On which interface/VLAN did the packet arrive It is a diagnostic tool designed for
3. What did the packet look like internal use. Anything and
everything about it may change from
4. How was the packet altered and where was it sent
version to version without any notice
• It is not intrusive
• It can be used at a very granular level to troubleshoot a single traffic flow which can be
an invaluable tool to network administrators.
Troubleshooting Tool: ELAM Workflow
S1# show system internal pixm info ltl 0x62 Get mapping of
source index to S101 S102 S201 S202
Member info
------------------ physical port
Type LTL vPC30 vPC40
---------------------------------
PHY_PORT Eth6/19 A ES S100 B C D
ES S200
S1# show system internal pixm info ltl 0x65 Get mapping of
Member info
destination index to
------------------ physical port
Type LTL
---------------------------------
PHY_PORT Eth6/22
• ELAM confirms that frame was received on Eth6/19, VLAN 100 with an OSA of
100.11.65535 and ODA of 200.0.0.
• ELAM also confirms that frame was forwarded out Eth6/22 on VLAN 100 with a
decremented FP TTL
Troubleshooting Tools: show tech
84
Troubleshooting Example: Broken HSRP
S1 S2
• Problem statement: HSRP active & standby do not ‘see’ each other in
certain vlans. For example in vlan 1317 standby (S2) ‘sees’ the active (S1),
but on active standby is unknown. A number of vlans are affected. This is
new deployment. S3 S4
• Initial assessment: possible reason for HSRP router not ‘seeing’ other
router is HSRP hello packets not being received. In our case it is likely
active router, not receiving hello packets from standby
• Quick debug on S1 confirms it only sends hellos in vlan 1317
S1# debug hsrp engine packet hello interface vlan 1317
10:03:30 hsrp: Vlan1317[17/V4]: Hello out Active pri 100 ip 10.13.17.254
10:03:31 hsrp: Vlan1317[17/V4]: Hello out Active pri 100 ip 10.13.17.254
10:03:32 hsrp: Vlan1317[17/V4]: Hello out Active pri 100 ip 10.13.17.254
S4# show hardware internal errors module 1 CBL drops grow at about the rate of Root cause: Vlan missing from transit switch
... HSRP hellos. CBL stands for Color All FP vlans must be defined on all FP
Blocking logic (or Vlan Blocking
|------------------------------------------------------------------------| switches, otherwise there might be issues
| Device:Orion Fwding Driver Role:L2 Mod: 1 |
Logic). Essentially, hardware logic similar to this for flooded traffic. ISIS will
| Last cleared @ Thu Apr 11 11:11:11 2011
| Device Statistics Category :: ERROR defining whether given port/vlan is prune off unnecessary flood traffic towards
blocking or forwarding packets.
|------------------------------------------------------------------------| tree branches that do not have ports behind
Instance:0 them.
ID Name Value Ports
-- ---- ----- -----
29 smallcnt Pkt dropped due to CBL 0000000000001227 1-2 - S4# show fabricpath mroute vlan 1317
2014 Ingress packets marked with drop_oth sent to IB 0000000000001227 1 – ERROR: Vlan 1317 does not exist
S4# show hardware internal errors module 1 | diff S4# show vlan id 1317
...wait some seconds... VLAN 1317 not found in current VLAN database
S4# show hardware internal errors module 1 | diff
< 29 smallcnt Pkt dropped due to CBL 0000000000001229 1-2 –
> 29 smallcnt Pkt dropped due to CBL 0000000000001235 1-2 -
Troubleshooting: Common Pitfalls
• ISIS adjacencies
show fabricpath isis adjacency [detail]
• Affinity to Ftags
show fabricpath isis database detail
show system internal m2rib ftag
• Pong
pong destination-swid <sw#> destination-mac <mac-address> vlan <vlan> count <#> … [detail]
Summary
• Core Concepts
Known Unicast Best path with ECMP, Rest Tree-balanced
• Control Plane
ISIS in the core, STP / IGMP snooping at CE
• Data Plane
MAC address table, SwitchID table, Tree table (RPF)
• Troubleshooting
Understand what should be happening, verify what is happening,
find a deviation, zoom in and repeat
90
Thank you