目錄

簡介

背景資訊

概觀

拓撲

GUI檢查

已知的第2層單播流量的故障排除工作流

入口枝葉源EP MAC學習

入口枝葉目標MAC終結點查詢

入口枝葉交換機傳送到主幹交換機

主幹轉發

出口枝葉遠端EP MAC學習

出口枝葉目標MAC查詢

驗證是否在主幹交換機COOP EP回購中正確學習了兩個端點

使用ELAM Assistant的ELAM輸出

使用CLI的輸入枝葉ELAM

使用fTriage跟蹤流

未知第2層單播流量的故障排除工作流 — BD在泛洪模式下

查詢BD GIPo

ELAM — 入口枝葉 — 泛洪流量

繪製FTAG拓撲

ELAM — 出口枝葉 — 泛洪流量

未知第2層單播流量的故障排除工作流 — 硬體代理中的BD

第2層轉發摘要

ACI交換矩陣第2層轉發行為

簡介

本文檔介紹瞭解ACI中的第2層轉發並對其進行故障排除的步驟

背景資訊

本文中的資料摘自 思科以應用為中心的基礎設施第二版故障排除 書，特別是 交換矩陣內轉發 — L2轉發：位於同一BD中的兩個端點 — 無單播路由 章節。

概觀

本節介紹同一網橋域和子網中的終端無法相互通訊的故障排除示例。下圖說明了BD沒有任何子網且已禁用單播路由的拓撲。

通常，對具有端點連線的流量進行故障排除時，建議開始識別一對端點。請參閱以下拓撲中的EP A和B。它們的IP地址分別為10.1.1.1/24和10.1.1.2/24。MAC地址將分別為00:00:10:01:01和00:00:10:01:02。

拓撲

本節提供三種情況：

1. 已知的第2層單播流。

2. 泛洪模式下BD的第2層單播流量未知。

3. 硬體代理模式下的BD第2層單播流未知。

後續故障排除流程可以通過以下方案進行總結：

- 1級檢查：GUI驗證所瞭解的配置、故障和端點。

- 2級檢查：枝葉交換機上的CLI:

- 檢查源枝葉交換機和目標枝葉交換機是否瞭解終端。

- 檢查脊柱節點是否學習COOP中的端點。

- 第3級檢查：資料包捕獲：

- ELAM（ELAM Assistant或CLI）驗證幀是否存在。

- 用於跟蹤流量的分類。

GUI檢查

第一級故障排除是從GUI驗證終端MAC已正確獲知。這可以通過終端所在的EPG的操作頁籤完成。

'EPG操作頁籤>客戶端終端'

在此案例中，端點A和B都顯示在GUI中。GUI會顯示它們的MAC位址、連線到交換矩陣的介面以及封裝 — 在此案例中，兩者都處於封裝VLAN 2501中。

預計不會從ACI交換矩陣獲取IP地址，因為單播路由已在BD級別禁用。

請參閱以上螢幕截圖中的學習源列。如果它表示「已獲取」，則ACI枝葉交換機至少從終端收到一個資料包。

由於在此案例中終端是從ACI交換矩陣獲知的，因此請繼續檢視下一個針對已知第2層單播流量的故障排除案例。

已知的第2層單播流量的故障排除工作流

入口枝葉源EP MAC學習

對於同一BD中的第2層轉發，ACI將只學習源MAC並根據目標MAC進行轉發。在BD範圍內獲取MAC地址。

首先，檢查是否獲知終端：

leaf1# show endpoint  mac  0000.1001.0101

Legend:

s - arp              H - vtep             V - vpc-attached     p - peer-aged

R - peer-attached-rl B - bounce           S - static           M - span

D - bounce-to-proxy  O - peer-attached    a - local-aged       m - svc-mgr

L - local            E - shared-service

+-----------------------------------+---------------+-----------------+--------------+-------------+

VLAN/                           Encap           MAC Address       MAC Info/       Interface

Domain                          VLAN            IP Address        IP Info

+-----------------------------------+---------------+-----------------+--------------+-------------+

4/Prod:VRF1                               vlan-2501    0000.1001.0101 L                      eth1/3

以上輸出提供以下資訊：

- 在vrf Prod:VRF1中，使用封裝vlan-2501在埠乙太網1/3上本地獲取MAC地址000.1001.0101（本地標誌為L）。

- 請參閱上述輸出中的「VLAN/域」列。此處列出的VLAN ID是內部VLAN。

入口枝葉目標MAC終結點查詢

假設目標MAC為已知（已知單播）。

leaf1# show endpoint mac 0000.1001.0102

Legend:

s - arp              H - vtep             V - vpc-attached     p - peer-aged

R - peer-attached-rl B - bounce           S - static           M - span

D - bounce-to-proxy  O - peer-attached    a - local-aged       m - svc-mgr

L - local            E - shared-service

+-----------------------------------+---------------+-----------------+--------------+-------------+

VLAN/                           Encap           MAC Address       MAC Info/       Interface

Domain                          VLAN            IP Address        IP Info

+-----------------------------------+---------------+-----------------+--------------+-------------+

7/Prod:VRF1                          vxlan-16351141    0000.1001.0102                       tunnel4

以上輸出提供以下資訊：

- MAC地址0000.1001.0102不在本地學習。

- 是從介面通道4得知的。

- 它以與橋接網域的BD_VNID(VXLAN Network ID)相對應的封裝VXLAN-16351141得知。

接下來，使用'show interface tunnel <x>'指令檢查通道介面的目的地

leaf1# show interface tunnel 4

Tunnel4 is up

MTU 9000 bytes, BW 0 Kbit

Transport protocol is in VRF "overlay-1"

Tunnel protocol/transport is ivxlan

Tunnel source 10.0.88.95/32 (lo0)

Tunnel destination 10.0.96.66

Last clearing of "show interface" counters never

Tx

0 packets output, 1 minute output rate 0 packets/sec

Rx

0 packets input, 1 minute input rate 0 packets/sec

因此，封包將封裝在來源TEP IP 10.0.88.95的VXLAN中（指派給loopback0），並傳送到目的地TEP IP 10.0.96.66。

確認來源IP:

leaf1# show ip interface loopback 0 vrf overlay-1

IP Interface Status for VRF "overlay-1"

lo0, Interface status: protocol-up/link-up/admin-up, iod: 4, mode: ptep

IP address: 10.0.88.95, IP subnet: 10.0.88.95/32

IP broadcast address: 255.255.255.255

IP primary address route-preference: 0, tag: 0

目的TEP IP 10.0.96.66可以是以下其中一項：

- 另一個枝葉的PTEP地址（可以使用acidiag fnvread檢查）

- VPC VIP(可在「GUI > Fabric > Access Policies > Policies > Switch > Virtual Port Channel default」中檢視（參見下面的螢幕截圖）

- 主幹交換機上的某些環回IP。在脊柱交換機上使用「show ip interface vrf overlay-1」命令驗證這一點。

顯式VPC保護組

入口枝葉交換機傳送到主幹交換機

入口枝葉現在將幀封裝到VXLAN中，並將外部目標IP設定為10.0.96.66，這是前面的「show interface tunnel 4」命令中列出的隧道目標IP。它將使用網橋域的VNID vxlan-16351141將其封裝在VXLAN中，如前面的「show endpoint mac 0000.1001.0102」命令輸出所示。

根據VRF重疊–1中的IS-IS路由確定傳送位置：

leaf1# show ip route 10.0.96.66 vrf overlay-1

IP Route Table for VRF "overlay-1"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

10.0.96.66/32, ubest/mbest: 4/0

*via 10.0.88.65, Eth1/49.10, [115/3], 2w5d, isis-isis_infra, isis-l1-int

*via 10.0.88.94, Eth1/50.128, [115/3], 2w5d, isis-isis_infra, isis-l1-int

因此，存在使用eth1/49和1/50到達目的地的ECMP（等價多重路徑）路由，這兩個路由是連線到主幹交換機的交換矩陣上行鏈路。

主幹轉發

主幹上的VRF重疊–1路由表顯示，主機路由10.0.96.66可以經由到leaf3或leaf4到達。這是預期的，因為10.0.96.66是葉交換機103和104的VPC VIP:

spine1# show ip route 10.0.96.66 vrf overlay-1

IP Route Table for VRF "overlay-1"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

10.0.96.66/32, ubest/mbest: 2/0

*via 10.0.88.91, eth1/3.35, [115/2], 02w05d, isis-isis_infra, isis-l1-int

*via 10.0.88.90, eth1/4.39, [115/2], 02w05d, isis-isis_infra, isis-l1-int

spine1# show lldp neighbors | egrep "1\/3 |1\/4 "

leaf3             Eth1/3          120        BR          Eth1/49

leaf4             Eth1/4          120        BR          Eth1/49

出口枝葉遠端EP MAC學習

在這種情況下，目的地TEP是VPC對，因此封包將到達枝葉3或枝葉4。請參閱以下命令輸出。Leaf4應顯示類似的輸出。假設它們是同一VPC對的一部分，則所有端點在兩個枝葉交換機之間同步。

出口枝葉上的第2層流量的端點學習基於源MAC地址，該源MAC地址在與所接收資料包中的VNID對應的BD中得知。這一點可以在端點表中驗證。

源MAC地址位於VXLAN-A中的隧道2616351141。

通道26前往TEP IP 10.0.88.95（即leaf1）：

leaf3# show endpoint  mac 0000.1001.0101

Legend:

s - arp              H - vtep             V - vpc-attached     p - peer-aged

R - peer-attached-rl B - bounce           S - static           M - span

D - bounce-to-proxy  O - peer-attached    a - local-aged       m - svc-mgr

L - local            E - shared-service

+-----------------------------------+---------------+-----------------+--------------+-------------+

VLAN/                           Encap           MAC Address       MAC Info/       Interface

Domain                          VLAN            IP Address        IP Info

+-----------------------------------+---------------+-----------------+--------------+-------------+

136/Prod:VRF1                        vxlan-16351141    0000.1001.0101                      tunnel26

leaf3# show interface tunnel 26

Tunnel26 is up

MTU 9000 bytes, BW 0 Kbit

Transport protocol is in VRF "overlay-1"

Tunnel protocol/transport is ivxlan

Tunnel source 10.0.88.91/32 (lo0)

Tunnel destination 10.0.88.95

Last clearing of "show interface" counters never

Tx

0 packets output, 1 minute output rate 0 packets/sec

Rx

0 packets input, 1 minute input rate 0 packets/sec

leaf3# acidiag fnvread | egrep "10.0.88.95"

101        1                leaf1      FDO20160TPA      10.0.88.95/32    leaf         active   0

出口枝葉目標MAC查詢

「show endpoint」命令確認目標MAC是在port-channel 1後面學習的，並使用封裝VLAN-2501

leaf3# show endpoint mac 0000.1001.0102

Legend:

s - arp              H - vtep             V - vpc-attached     p - peer-aged

R - peer-attached-rl B - bounce           S - static           M - span

D - bounce-to-proxy  O - peer-attached    a - local-aged       m - svc-mgr

L - local            E - shared-service

+-----------------------------------+---------------+-----------------+--------------+-------------+

VLAN/                           Encap           MAC Address       MAC Info/       Interface

Domain                          VLAN            IP Address        IP Info

+-----------------------------------+---------------+-----------------+--------------+-------------+

135/Prod:VRF1                             vlan-2501    0000.1001.0102 LpV                       po1

這表示該幀將離開leaf3介面port-channel 1上的ACI交換矩陣，並封裝了VLAN ID 2501。您可以在GUI的Tenant Operational頁籤下找到BD VNID。

驗證是否在主幹交換機COOP EP回購中正確學習了兩個端點

應在所有主幹節點間同步COOP EP回購。可以使用BD VNID作為金鑰並輸入EP MAC地址來檢查COOP EP回購。

此流的源MAC地址是從隧道下一跳10.0.88.95獲知的，該下一跳是leaf1的TEP IP。此外，命令輸出還顯示與正確網橋域對應的VNID 16351141。

spine1# show coop internal info repo ep key 16351141 00:00:10:01:01:01

Repo Hdr Checksum : 24197

Repo Hdr record timestamp : 10 01 2019 10:16:50 278195866

Repo Hdr last pub timestamp : 10 01 2019 10:16:50 283699467

Repo Hdr last dampen timestamp : 01 01 1970 00:00:00 0

Repo Hdr dampen penalty : 0

Repo Hdr flags : IN_OBJ EXPORT ACTIVE

EP bd vnid : 16351141

EP mac :  00:00:10:01:01:01

flags : 0x80

repo flags : 0x122

Vrf vnid : 2097154

Epg vnid : 0

EVPN Seq no : 0

Remote publish timestamp: 01 01 1970 00:00:00 0

Snapshot timestamp: 10 01 2019 10:16:50 278195866

Tunnel nh : 10.0.88.95

MAC Tunnel  : 10.0.88.95

IPv4 Tunnel : 10.0.88.95

IPv6 Tunnel : 10.0.88.95

ETEP Tunnel : 0.0.0.0

此流的目標MAC是從leaf3和leaf4的VPC VIP 10.0.96.66獲知的。還列出了EP BD VNID 16351141，它與正確的BD相對應。

spine1# show coop internal info repo ep key 15302583 00:00:10:01:01:02

Repo Hdr Checksum : 16897

Repo Hdr record timestamp : 10 01 2019 11:05:46 351360334

Repo Hdr last pub timestamp : 10 01 2019 11:05:46 352019546

Repo Hdr last dampen timestamp : 01 01 1970 00:00:00 0

Repo Hdr dampen penalty : 0

Repo Hdr flags : IN_OBJ EXPORT ACTIVE

EP bd vnid : 16351141

EP mac :  00:00:10:01:01:02

flags : 0x90

repo flags : 0x122

Vrf vnid : 2097154

Epg vnid : 0

EVPN Seq no : 0

Remote publish timestamp: 01 01 1970 00:00:00 0

Snapshot timestamp: 10 01 2019 11:05:46 351360334

Tunnel nh : 10.0.96.66

MAC Tunnel  : 10.0.96.66

IPv4 Tunnel : 10.0.96.66

IPv6 Tunnel : 10.0.96.66

ETEP Tunnel : 0.0.0.0

使用ELAM Assistant的ELAM輸出

ELAM Assistant是一個功能強大的ACI應用，可以簡化ACI交換矩陣上ELAM捕獲的執行。

可以在多個枝葉節點上同時啟動ELAM Assistant觸發器。因此，可以在枝葉1、枝葉3和枝葉4中並行檢查特定資料包。

配置的ELAM捕獲將顯示如下。如觀察，封包在leaf1(node-101)和leaf3(node-103)上可見。

ELAM助理 — 引數

leaf1(node-101)的報告顯示以下內容：

- Captured Packet Information輸出確認資料包在eth1/3上進入且具有正確的MAC和IP資訊。

- 封包轉送資訊顯示它已於eth1/49轉送到TEP IP 10.0.96.66。

ELAM助理 — leaf1(node-101) — 捕獲的資料包資訊

ELAM助理 — 枝葉1（節點–101） — 資料包轉發資訊

在出口枝葉上的枝葉3（節點–103）上，觀察到以下情況：

在枝葉3上捕獲的資料包資訊中，它從eth1/49進入。外部IP地址確認以下內容：

- 源TEP:10.0.88.95

- 目標TEP:10.0.96.66

- VNID:16351141(BD VNID)

ELAM助理 — 枝葉3（節點–103） — 捕獲的資料包資訊

Packet Forwarding Information（資料包轉發資訊）顯示流量在埠通道1上轉發，具體是乙太網1/12。

使用CLI的輸入枝葉ELAM

建議使用ELAM Assistant，因為它簡化了運行ELAM捕獲的操作。但是，也可以在ACI交換機上使用CLI命令生成ELAM報告。以下是如何進行此操作的示例。

使用所示的觸發序列在入口枝葉上捕獲資料包。有關ELAM選項的詳細資訊，請參閱「工具」部分。

- 在本示例中，ASIC是「tah」作為枝葉（部件號以「 — EX」結尾）。

- 「in-select 6」用於從沒有VXLAN封裝的下行鏈路埠捕獲資料包。

- 「out-select 1」確保丟棄向量也顯示（在丟包的情況下）。

- 需要「reset」命令才能確保已清除之前的所有觸發器。

- 雖然這是橋接流，ELAM仍可看到IP標頭。

- 因此，「ipv4 src_ip」和「dst_ip」可用於設定觸發器。

module-1# debug platform internal tah elam asic 0

module-1(DBG-elam)# trigger init in-select ?

10  Outerl4-innerl4-ieth

13  Outer(l2|l3|l4)-inner(l2|l3|l4)-noieth

14  Outer(l2(vntag)|l3|l4)-inner(l2|l3|l4)-ieth

15  Outer(l2|l3|l4)-inner(l2|l3|l4)-ieth

6   Outerl2-outerl3-outerl4

7   Innerl2-innerl3-innerl4

8   Outerl2-innerl2-ieth

9   Outerl3-innerl3

module-1(DBG-elam)# trigger init in-select 6 out-select 1

module-1(DBG-elam-insel6)# reset

module-1(DBG-elam-insel6)# set outer ipv4 src_ip 10.1.1.1 dst_ip 10.1.1.2

module-1(DBG-elam-insel6)# start

要檢視是否收到資料包，請檢查ELAM狀態。如果存在觸發器，則意味著捕獲到與條件匹配的資料包。

module-1(DBG-elam-insel6)# status

ELAM STATUS

===========

Asic 0 Slice 0 Status Triggered

Asic 0 Slice 1 Status Armed

下一輸出顯示使用「ereport」命令顯示報表。輸出非常長，因此此處僅貼上開頭。但請注意，完整的報告會儲存在枝葉檔案系統中的某個位置供以後分析使用。檔名還包含獲取ELAM的時間戳。

leaf1# ls -al /var/log/dme/log/elam_2019-09-30-03m-23h-14s.txt

-rw-rw-rw- 1 root root 699106 Sep 30 23:03 /var/log/dme/log/elam_2019-09-30-03m-23h-14s.txt

「ereport」驗證資料包是否已被接收，資訊是否按預期方式提供（源和目標MAC、源和目標IP等）

module-1(DBG-elam-insel6)# ereport

Python available. Continue ELAM decode with LC Pkg

ELAM REPORT

===========================================================================================================

Trigger/Basic Information

===========================================================================================================

ELAM Report File                        : /tmp/logs/elam_2019-09-30-03m-23h-14s.txt

In-Select Trigger                       : Outerl2-outerl3-outerl4( 6 )

Out-Select Trigger                      : Pktrw-sideband-drpvec( 1 )

ELAM Captured Device                    : LEAF

Packet Direction                        : ingress

Triggered ASIC type                     : Sugarbowl

Triggered ASIC instance                 : 0

Triggered Slice                         : 0

Incoming Interface                      : 0x24( 0x24 )

( Slice Source ID(Ss) in "show plat int hal l2 port gpd" )

===========================================================================================================

Captured Packet

-----------------------------------------------------------------------------------------------------------

Outer Packet Attributes

-----------------------------------------------------------------------------------------------------------

Outer Packet Attributes       : l2uc ipv4 ip ipuc ipv4uc

Opcode                        : OPCODE_UC

-----------------------------------------------------------------------------------------------------------

Outer L2 Header

-----------------------------------------------------------------------------------------------------------

Destination MAC               : 0000.1001.0102

Source MAC                    : 0000.1001.0101

802.1Q tag is valid           : yes( 0x1 )

CoS                           : 0( 0x0 )

Access Encap VLAN             : 2501( 0x9C5 )

-----------------------------------------------------------------------------------------------------------

Outer L3 Header

-----------------------------------------------------------------------------------------------------------

L3 Type                       : IPv4

IP Version                    : 4

DSCP                          : 0

IP Packet Length              : 84 ( = IP header(28 bytes) + IP payload )

Don't Fragment Bit            : not set

TTL                           : 255

IP Protocol Number            : ICMP

IP CheckSum                   : 51097( 0xC799 )

Destination IP                : 10.1.1.2

Source IP                     : 10.1.1.1

===========================================================================================================

Forwarding Lookup ( FPB )

===========================================================================================================

-----------------------------------------------------------------------------------------------------------

Destination MAC (Lookup Key)

-----------------------------------------------------------------------------------------------------------

Dst MAC Lookup was performed            : yes

Dst MAC Lookup BD                       : 522( 0x20A )

( Hw BDID in "show plat int hal l2 bd pi" )

Dst MAC Address                         : 0000.1001.0102

-----------------------------------------------------------------------------------------------------------

Destination MAC (Lookup Result)

-----------------------------------------------------------------------------------------------------------

Dst MAC is Hit                          : yes

Dst MAC is Hit Index                    : 6443( 0x192B )

( phy_id in "show plat int hal objects ep l2 mac (MAC) extensions" )

or ( HIT IDX in "show plat int hal l3 nexthops" for L3OUT/L3 EP)

.....

使用fTriage跟蹤流

分類從APIC CLI運行，可用於通過ACI交換矩陣的完整路徑。至少指定入口枝葉(node-101)、源IP和目標IP。在此特定情況下，它是橋接（第2層）流，因此使用fTriage網橋選項。

請注意，fTriage在當前目錄中生成日誌檔案。此日誌檔案將包含收集的所有日誌和ELAM報告。這樣便可以在每一跳捕獲資料包。輸出的簡短版本如下：

apic1# ftriage bridge -ii LEAF:101 -sip 10.1.1.1 -dip 10.1.1.2

fTriage Status: {"dbgFtriage": {"attributes": {"operState": "InProgress", "pid": "12181", "apicId": "1", "id": "0"}}}

Starting ftriage

Log file name for the current run is: ftlog_2019-10-01-18-53-24-125.txt

2019-10-01 18:53:24,129 INFO     /controller/bin/ftriage bridge -ii LEAF:101 -sip 10.1.1.1 -dip 10.1.1.2

2019-10-01 18:53:49,280 INFO     ftriage:     main:1165 Invoking ftriage with default password and default username: apic#fallback\\admin

2019-10-01 18:54:10,204 INFO     ftriage:     main:839  L2 frame Seen on leaf1 Ingress: Eth1/3 Egress: Eth1/49 Vnid: 15302583

2019-10-01 18:54:10,422 INFO     ftriage:     main:242  ingress encap string vlan-2501

2019-10-01 18:54:10,427 INFO     ftriage:     main:271  Building ingress BD(s), Ctx

2019-10-01 18:54:12,288 INFO     ftriage:     main:294  Ingress BD(s) Prod:BD1

2019-10-01 18:54:12,288 INFO     ftriage:     main:301  Ingress Ctx: Prod:VRF1

2019-10-01 18:54:12,397 INFO     ftriage:   pktrec:490  leaf1: Collecting transient losses snapshot for LC module: 1

2019-10-01 18:54:30,079 INFO     ftriage:     main:933  SMAC 00:00:10:01:01:01 DMAC 00:00:10:01:01:02

2019-10-01 18:54:30,080 INFO     ftriage:  unicast:973  leaf1: <- is ingress node

2019-10-01 18:54:30,320 INFO     ftriage:  unicast:1215 leaf1: Dst EP is remote

2019-10-01 18:54:31,155 INFO     ftriage:     misc:659  leaf1: L2 frame getting bridged in SUG

2019-10-01 18:54:31,380 INFO     ftriage:     misc:657  leaf1: Dst MAC is present in SUG L2 tbl

2019-10-01 18:54:31,826 INFO     ftriage:     misc:657  leaf1: RwDMAC DIPo(10.0.96.66) is one of dst TEPs ['10.0.96.66']

2019-10-01 18:56:16,249 INFO     ftriage:     main:622  Found peer-node spine1 and IF: Eth1/1 in candidate list

2019-10-01 18:56:21,346 INFO     ftriage:     node:643  spine1: Extracted Internal-port GPD Info for lc: 1

2019-10-01 18:56:21,348 INFO     ftriage:     fcls:4414 spine1: LC trigger ELAM with IFS: Eth1/1 Asic :0 Slice: 0 Srcid: 32

2019-10-01 18:56:54,424 INFO     ftriage:     main:839  L2 frame Seen on spine1 Ingress: Eth1/1 Egress: LC-1/0 FC-24/0 Port-0 Vnid: 15302583

2019-10-01 18:56:54,424 INFO     ftriage:   pktrec:490  spine1: Collecting transient losses snapshot for LC module: 1

2019-10-01 18:57:15,093 INFO     ftriage:      fib:332  spine1: Transit in spine

2019-10-01 18:57:21,394 INFO     ftriage:  unicast:1252 spine1: Enter dbg_sub_nexthop with Transit inst: ig infra: False glbs.dipo: 10.0.96.66

2019-10-01 18:57:21,508 INFO     ftriage:  unicast:1417 spine1: EP is known in COOP (DIPo = 10.0.96.66)

2019-10-01 18:57:25,537 INFO     ftriage:  unicast:1458 spine1: Infra route 10.0.96.66 present in RIB

2019-10-01 18:57:25,537 INFO     ftriage:     node:1331 spine1: Mapped LC interface: LC-1/0 FC-24/0 Port-0 to FC interface: FC-24/0 LC-1/0 Port-0

2019-10-01 18:57:30,616 INFO     ftriage:     node:460  spine1: Extracted GPD Info for fc: 24

2019-10-01 18:57:30,617 INFO     ftriage:     fcls:5748 spine1: FC trigger ELAM with IFS: FC-24/0 LC-1/0 Port-0 Asic :0 Slice: 2 Srcid: 0

2019-10-01 18:57:49,611 INFO     ftriage:  unicast:1774 L2 frame Seen on FC of node: spine1  with Ingress: FC-24/0 LC-1/0 Port-0  Egress: FC-24/0 LC-1/0 Port-0 Vnid: 15302583

2019-10-01 18:57:49,611 INFO     ftriage:   pktrec:487  spine1: Collecting transient losses snapshot for FC module: 24

2019-10-01 18:57:53,110 INFO     ftriage:     node:1339 spine1: Mapped FC interface: FC-24/0 LC-1/0 Port-0 to LC interface: LC-1/0 FC-24/0 Port-0

2019-10-01 18:57:53,111 INFO     ftriage:  unicast:1474 spine1: Capturing Spine  Transit pkt-type L2 frame on egress LC on Node: spine1 IFS: LC-1/0 FC-24/0 Port-0

2019-10-01 18:57:53,530 INFO     ftriage:     fcls:4414 spine1: LC trigger ELAM with IFS: LC-1/0 FC-24/0 Port-0 Asic :0 Slice: 0 Srcid: 64

2019-10-01 18:58:26,497 INFO     ftriage:  unicast:1510 spine1: L2 frame Spine egress  Transit pkt Seen on spine1 Ingress: LC-1/0 FC-24/0 Port-0 Egress: Eth1/3 Vnid: 15302583

2019-10-01 18:58:26,498 INFO     ftriage:   pktrec:490  spine1: Collecting transient losses snapshot for LC module: 1

2019-10-01 18:59:28,634 INFO     ftriage:     main:622  Found peer-node leaf3 and IF: Eth1/49 in candidate list

2019-10-01 18:59:39,235 INFO     ftriage:     main:839  L2 frame Seen on leaf3 Ingress: Eth1/49 Egress: Eth1/12 (Po1) Vnid: 11364

2019-10-01 18:59:39,350 INFO     ftriage:   pktrec:490  leaf3: Collecting transient losses snapshot for LC module: 1

2019-10-01 18:59:54,373 INFO     ftriage:     main:522  Computed egress encap string vlan-2501

2019-10-01 18:59:54,379 INFO     ftriage:     main:313  Building egress BD(s), Ctx

2019-10-01 18:59:57,152 INFO     ftriage:     main:331  Egress Ctx Prod:VRF1

2019-10-01 18:59:57,153 INFO     ftriage:     main:332  Egress BD(s): Prod:BD1

2019-10-01 18:59:59,230 INFO     ftriage:  unicast:1252 leaf3: Enter dbg_sub_nexthop with Local inst: eg infra: False glbs.dipo: 10.0.96.66

2019-10-01 18:59:59,231 INFO     ftriage:  unicast:1257 leaf3: dbg_sub_nexthop invokes dbg_sub_eg for vip

2019-10-01 18:59:59,231 INFO     ftriage:  unicast:1784 leaf3: <- is egress node

2019-10-01 18:59:59,377 INFO     ftriage:  unicast:1833 leaf3: Dst EP is local

2019-10-01 18:59:59,378 INFO     ftriage:     misc:657  leaf3: EP if(Po1) same as egr if(Po1)

2019-10-01 18:59:59,378 INFO     ftriage:     misc:659  leaf3: L2 frame getting bridged in SUG

2019-10-01 18:59:59,613 INFO     ftriage:     misc:657  leaf3: Dst MAC is present in SUG L2 tbl

2019-10-01 19:00:06,122 INFO     ftriage:     main:961  Packet is Exiting fabric with peer-device: n3k-3 and peer-port: Ethernet1/16

未知第2層單播流量的故障排除工作流 — BD在泛洪模式下

在本示例中，目標MAC未知。入口枝葉上的目標MAC查詢未顯示任何輸出。

leaf1# show endpoint mac 0000.1001.0102

Legend:

s - arp              H - vtep             V - vpc-attached     p - peer-aged

R - peer-attached-rl B - bounce           S - static           M - span

D - bounce-to-proxy  O - peer-attached    a - local-aged       m - svc-mgr

L - local            E - shared-service

+-----------------------------------+---------------+-----------------+--------------+-------------+

VLAN/                           Encap           MAC Address       MAC Info/       Interface

Domain                          VLAN            IP Address        IP Info

+-----------------------------------+---------------+-----------------+--------------+-------------+

如果將L2未知單播的BD設定為「泛洪」，則將在高級別發生以下情況：

1. 入口枝葉將雜湊資料包報頭，將其分配給其中一個FTAG（0到15）。

2. 入口枝葉將使用BD VNID將該幀封裝在VXLAN資料包中。外部目標IP將是BD GIPo + FTAG。

3. 它將按照樹拓撲在交換矩陣中泛洪，並應到達已部署BD的每個枝葉節點。

本節將突出顯示可以檢查的內容。

查詢BD GIPo

GUI標識BD用於多目的地流量的組播組225.1.5.48。

BD GIPo

ELAM — 入口枝葉 — 泛洪流量

使用ELAM Assistant檢查入口枝葉上的ELAM報告。這顯示框架在BD中泛洪，並在所有交換矩陣上行鏈路（這裡為eth1/49、1/50、1/51和1/52）上泛洪。

ELAM助理 — 入口枝葉 — 資料包轉發資訊

要查詢入口枝葉選擇的FTAG值，請轉到ELAM助手的原始報告。

sug_lu2ba_sb_info.mc_info.mc_info_nopad.ftag: 0xC

將十六進位制值0xC轉換為十進位制時，結果為FTAG 12。

繪製FTAG拓撲

FTAG拓撲由IS-IS計算。為每個FTAG值建立樹拓撲，該樹拓撲具有允許最佳負載分佈拓撲的根和輸出介面清單。

使用以下命令顯示本地FTAG拓撲。在下面的示例中，我們使用spine1上的FTAG ID 12拓撲。

spine1# show isis internal mcast routes ftag

IS-IS process: isis_infra

VRF : default

FTAG Routes

====================================

FTAG ID:  12  [Enabled] Cost:(   2/  11/   0)

----------------------------------

Root port: Ethernet1/4.39

OIF List:

Ethernet1/11.11

Ethernet1/12.12

在大型ACI交換矩陣中繪製完整的FTAG拓撲是一項漫長而複雜的任務。「aci-ftag-viewer」 Python指令碼(https://github.com/agccie/aci-ftag-viewer)可以複製到APIC上。它在單通道中生成交換矩陣的完整FTAG拓撲。

以下輸出顯示了多種Pod交換矩陣的Pod1中的FTAG 12樹，並包括跨IPN裝置的FTAG拓撲。

這表明，如果流量從枝葉101進入ACI交換矩陣，它將經過以下指令碼輸出中列出的以下路徑。

admin@apic1:tmp> python aci_ftag_viewer.py --ftag 12 --pod 1

################################################################################

#  Pod 1 FTAG 12

#  Root spine-204

#  active nodes: 8, inactive nodes: 1

################################################################################

spine-204

+- 1/1 -------- 1/52 leaf-101

+- 1/2 -------- 1/52 leaf-102

+- 1/3 -------- 1/52 leaf-103

+- 1/4 -------- 1/52 leaf-104

+- 1/49 -------- 1/4 spine-201

|                      +- 1/11 ...... (EXT) Eth2/13 n7706-01-Multipod-A1

|                      +- 1/12 ...... (EXT) Eth2/9 n7706-01-Multipod-A2

|

+- 1/50 -------- 1/4 spine-202

|                      +- 1/11 ...... (EXT) Eth2/14 n7706-01-Multipod-A1

|                      +- 1/12 ...... (EXT) Eth2/10 n7706-01-Multipod-A2

|

+- 1/51 -------- 2/4 spine-203

+- 2/11 ...... (EXT) Eth2/15 n7706-01-Multipod-A1

+- 2/12 ...... (EXT) Eth2/11 n7706-01-Multipod-A2

+- 1/11 ...... (EXT) Eth2/16 n7706-01-Multipod-A1

+- 1/12 ...... (EXT) Eth2/12 n7706-01-Multipod-A2

ELAM — 出口枝葉 — 泛洪流量

在這種情況下，泛洪流量會到達ACI交換矩陣中的每個枝葉。因此，它將同時到達leaf3和leaf4，它們是VPC對。這兩個枝葉節點都有到達目的地的VPC。為避免重複的資料包，VPC對僅選擇一個枝葉將泛洪流量轉發到目標。選擇的枝葉稱為VPC DF枝葉（VPC指定轉發器枝葉）。

可以在兩個枝葉節點上使用以下觸發器在ELAM中檢查此項。

module-1# debug platform internal tah elam asic 0

module-1(DBG-elam)# trigger reset

module-1(DBG-elam)# trigger init in-select 14 out-select 1

module-1(DBG-elam-insel14)# set inner ipv4 src_ip 10.1.1.1 dst_ip 10.1.1.2

module-1(DBG-elam-insel14)# start

leaf3輸出：

module-1(DBG-elam-insel14)# ereport | egrep vpc.*df

sug_lub_latch_results_vec.lub4_1.vpc_df: 0x1

leaf4輸出：

module-1(DBG-elam-insel14)# ereport | egrep vpc.*df

sug_lub_latch_results_vec.lub4_1.vpc_df: 0x0

在上面的輸出中，leaf3為「vpc_df」欄位設定了「0x1」值，而leaf4為「vpc_df」欄位設定了「0x0」值。因此，指定的轉發器將是leaf3。leaf3將其VPC鏈路上的泛洪資料包轉發到目標EP。

未知第2層單播流量的故障排除工作流 — 硬體代理中的BD

列出的當前場景是BD處於硬體代理模式的第2層未知單播流量。在此案例中，假設輸入枝葉不知道目的地MAC位址，便會將該封包轉送到主幹任播代理MAC位址。主幹將對目標MAC執行COOP查詢。

如果查詢成功（如下所示），則主幹會將外部目標IP重寫為隧道目標（這裡為10.0.96.66），並將其傳送到leaf3-leaf4 VPC對。

spine1# show coop internal info repo ep key 15302583 00:00:10:01:01:02

Repo Hdr Checksum : 16897

Repo Hdr record timestamp : 10 01 2019 11:05:46 351360334

Repo Hdr last pub timestamp : 10 01 2019 11:05:46 352019546

Repo Hdr last dampen timestamp : 01 01 1970 00:00:00 0

Repo Hdr dampen penalty : 0

Repo Hdr flags : IN_OBJ EXPORT ACTIVE

EP bd vnid : 16351141

EP mac :  00:00:10:01:01:02

flags : 0x90

repo flags : 0x122

Vrf vnid : 2097154

Epg vnid : 0

EVPN Seq no : 0

Remote publish timestamp: 01 01 1970 00:00:00 0

Snapshot timestamp: 10 01 2019 11:05:46 351360334

Tunnel nh : 10.0.96.66

MAC Tunnel  : 10.0.96.66

IPv4 Tunnel : 10.0.96.66

IPv6 Tunnel : 10.0.96.66

ETEP Tunnel : 0.0.0.0

如果查詢失敗（ACI交換矩陣中的終端未知），主幹將丟棄未知的單播。

spine1# show coop internal info repo ep key 15302583 00:00:10:01:01:02

Key not found in repo

第2層轉發摘要

下圖總結了ACI交換矩陣中第2層流量可能的轉發行為。

ACI交換矩陣第2層轉發行為