内容

概要

背景説明

概要

トポロジ

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フォワーディングの理解とトラブルシューティングの手順について説明します

背景説明

このドキュメントの内容は、 Troubleshooting Cisco Application Centric Infrastructure, Second Edition 特に イントラファブリックフォワーディング – L2フォワーディング：同じBD内の2つのエンドポイント：ユニキャストルーティングなし 章

概要

このセクションでは、同じブリッジドメインおよび同じサブネット内のエンドポイントが相互に通信できないトラブルシューティング例について説明します。次の図は、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:01:02になります。

トポロジ

このセクションでは、次の3つのシナリオについて説明します。

1. 既知のレイヤ2ユニキャストフロー。

2. フラッドモードでBDを使用する不明なレイヤ2ユニキャストフロー。

3. ハードウェアプロキシモードでBDを使用する不明なレイヤ2ユニキャストフロー。

従うトラブルシューティングフローは、次のスキームで要約できます。

- レベル1チェック：設定、障害、およびエンドポイントのGUIによる検証。

- レベル2チェック：リーフスイッチのCLI:

- 送信元と宛先のリーフスイッチがエンドポイントを学習するかどうかを確認します。

- スパインノードがCOOPでエンドポイントを学習するかどうかを確認します。

- レベル3チェック：パケット キャプチャ：

- ELAM（ELAM AssistantまたはCLI）を使用して、フレームが存在することを確認します。

- フローを追跡するための優先順位。

GUIチェック

最初のレベルのトラブルシューティングは、エンドポイントMACが正しく学習されたことをGUIから検証することです。これは、エンドポイントが配置されているEPGの[operational]タブから実行できます。

[EPG Operational]タブ> [Client End-Points]

このシナリオでは、エンドポイントAとBの両方がGUIに表示されます。GUIには、MACアドレス、ファブリックに接続されているインターフェイス、およびカプセル化が表示されます。この場合、どちらもカプセル化VLAN 2501に含まれています。

ユニキャストルーティングがBDレベルで無効になっているため、IPアドレスはACIファブリックから学習されないことが予想されます。

上のスクリーンショットにある学習ソースの列を参照してください。これが「learned」を示す場合、ACIリーフスイッチはエンドポイントから少なくとも1つのパケットを受信しました。

この場合、エンドポイントはACIファブリックから学習されるため、既知のレイヤ2ユニキャストトラフィックに関する次のトラブルシューティングケースに進みます。

既知のレイヤ2ユニキャストトラフィックのトラブルシューティングワークフロー

入力リーフソースEP MACラーニング

同じBD内のレイヤ2フォワーディングの場合、ACIは送信元MACのみを学習し、宛先MACに基づいて転送します。MACアドレスはBDの範囲で学習されます。

最初に、エンドポイントが学習されているかどうかを確認します。

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

上記の出力は、次の情報を提供します。

- MACアドレス0000.1001.0101は、vrf Prod:VRF1のカプセル化vlan-2501を使用して、ポートイーサネット1/3上でローカルに学習されます（ローカルの場合はフラグは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ネットワーク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（loopback0に割り当て）でVXLANにカプセル化され、宛先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保護グループ

スパインスイッチに送信する入力リーフスイッチ

入力リーフは、外部宛先IPを10.0.96.66に設定して、フレームをVXLANにカプセル化します。このIPは、前の「show interface tunnel 4」コマンドでリストされたトンネル宛先IPです。前の「show endpoint mac 0000.1001.0102」コマンドの出力に示されているように、ブリッジドメインのVNID(vxlan-16351141)を使用してVXLANにカプセル化します。

VRF overlay-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経由で到達可能であることを示しています。これは、リーフスイッチ103および104のVPC VIPが10.0.96.66であると想定されます。

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ペアであるため、パケットはleaf3またはleaf4に到着します。次のコマンド出力を参照してください。Leaf4にも同様の出力が表示されます。これらは同じVPCペアの一部であるため、すべてのエンドポイントは2つのリーフスイッチ間で同期されます。

出力リーフのレイヤ2トラフィックのエンドポイント学習は、受信パケットのVNIDに対応するBDで学習された送信元MACアドレスに基づきます。これは、エンドポイントテーブルで確認できます。

送信元MACアドレスは、VXLAN-16351141のトンネル26の背後にあります。

トンネル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

これは、フレームがカプセル化VLAN ID 2501を持つleaf3インターフェイスport-channel 1上のACIファブリックから出ていることを示しています。BD VNIDは、GUIの[Tenant Operational]タブにあります。

スパインスイッチのCOOP EPリポジトリで両方のエンドポイントが正しく学習されていることを確認します。

COOP EPリポジトリは、すべてのスパインノード間で同期する必要があります。coop EPのREPOは、BD VNIDをキーとして使用し、EP MACアドレスを入力して確認できます。

このフローの送信元MACアドレスは、leaf1のTEP IPであるトンネルネクストホップ10.0.88.95から学習されます。また、このコマンド出力には、正しいブリッジドメインに対応する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ファブリックでのELAMキャプチャの実行を簡素化できる強力なACIアプリケーションです。

ELAM Assistantトリガーは、複数のリーフノードで同時に起動できます。その結果、leaf1、leaf3、leaf4で特定のパケットを並行してチェックできます。

設定されたELAMキャプチャが次のように表示されます。確認したとおり、パケットはleaf1(node-101)とleaf3(node-103)で見られます。

ELAM Assistant：パラメータ

leaf1(node-101)のレポートには、次の情報が表示されます。

- Captured Packet Informationの出力では、パケットがeth1/3に入ったことを確認し、正しいMACおよびIP情報が含まれています。

- パケット転送情報は、eth1/49でTEP IP 10.0.96.66に転送されたことを示しています。

ELAM Assistant — leaf1(node-101) – キャプチャされたパケット情報

ELAM Assistant — leaf1(node-101) – パケット転送情報

出力リーフ上のleaf3(node-103)で、次が観察されます。

leaf3のCaptured Packet Informationで、eth1/49から入力します。外部IPアドレスは次のことを確認します。

- ソースTEP:10.0.88.95

- 宛先TEP:10.0.96.66

- VNID:16351141(BD VNID)

ELAM Assistant — leaf3(node-103) – キャプチャされたパケット情報

Packet Forwarding Informationは、トラフィックがport-channel 1、特にethernet 1/12で転送されることを示しています。

CLIを使用した入力リーフELAM

ELAMキャプチャを実行する操作が簡素化されるため、ELAM Assistantを使用することをお勧めします。ただし、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

「レポート」では、パケットが受信され、情報が期待どおりに送信されたことが検証されます（送信元と宛先の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を使用したフローの追跡

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

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

BDがL2 Unknown Unicastに対して「Flood」に設定されている場合、高いレベルで何が起こるかを次に示します。

1. 入力リーフは、パケットヘッダーをハッシュして、FTAGの1つ(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 Assistant – 入力リーフ – パケット転送情報

入力リーフによって選択されたFTAG値を検索するには、ELAM Assistantの未加工レポートに移動します。

sug_lu2ba_sb_info.mc_info.mc_info_nopad.ftag: 0xC

0xCの16進数値を10進数に変換すると、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トポロジを生成します。

次の出力は、マルチポッドファブリックのPod1のFTAG 12ツリーを示し、IPNデバイス全体のFTAGトポロジを含んでいます。

これは、leaf101から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ファブリックのすべてのリーフに到達します。したがって、VPCペアであるleaf3とleaf4の両方に到達します。どちらのリーフノードにも、宛先へのVPCがあります。パケットの重複を避けるために、VPCペアはフラッディングされたトラフィックを宛先に転送するリーフを1つだけ選択します。選択されたリーフは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転送動作