この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、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つのシナリオについて説明します。
従うトラブルシューティングフローは、次のスキームで要約できます。
最初のレベルのトラブルシューティングは、エンドポイントMACが正しく学習されたことをGUIから検証することです。これは、エンドポイントが配置されているEPGの[operational]タブから実行できます。
[EPG Operational]タブ> [Client End-Points]
このシナリオでは、エンドポイントAとBの両方がGUIに表示されます。GUIには、MACアドレス、ファブリックに接続されているインターフェイス、およびカプセル化が表示されます。この場合、どちらもカプセル化VLAN 2501に含まれています。
ユニキャストルーティングがBDレベルで無効になっているため、IPアドレスはACIファブリックから学習されないことが予想されます。
上のスクリーンショットにある学習ソースの列を参照してください。これが「learned」を示す場合、ACIリーフスイッチはエンドポイントから少なくとも1つのパケットを受信しました。
この場合、エンドポイントはACIファブリックから学習されるため、既知のレイヤ2ユニキャストトラフィックに関する次のトラブルシューティングケースに進みます。
同じ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が既知(既知のユニキャスト)であると仮定します。
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
上記の出力は、次の情報を提供します。
次に、「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は次のいずれかです。
明示的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
この場合、宛先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
「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の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は、ACIファブリックでのELAMキャプチャの実行を簡素化できる強力なACIアプリケーションです。
ELAM Assistantトリガーは、複数のリーフノードで同時に起動できます。その結果、leaf1、leaf3、leaf4で特定のパケットを並行してチェックできます。
設定されたELAMキャプチャが次のように表示されます。確認したとおり、パケットはleaf1(node-101)とleaf3(node-103)で見られます。
ELAM Assistant:パラメータ
leaf1(node-101)のレポートには、次の情報が表示されます。
ELAM Assistant — leaf1(node-101) – キャプチャされたパケット情報
ELAM Assistant — leaf1(node-101) – パケット転送情報
出力リーフ上のleaf3(node-103)で、次が観察されます。
leaf3のCaptured Packet Informationで、eth1/49から入力します。外部IPアドレスは次のことを確認します。
ELAM Assistant — leaf3(node-103) – キャプチャされたパケット情報
Packet Forwarding Informationは、トラフィックがport-channel 1、特にethernet 1/12で転送されることを示しています。
ELAMキャプチャを実行する操作が簡素化されるため、ELAM Assistantを使用することをお勧めします。ただし、ACIスイッチでCLIコマンドを使用してELAMレポートを生成することもできます。これを実行する方法の例を次に示します。
次に示すトリガーシーケンスを使用して、入力リーフ上のパケットをキャプチャします。ELAMオプションの詳細については、「ツール」セクションを参照してください。
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は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
この例では、宛先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」に設定されている場合、高いレベルで何が起こるかを次に示します。
このセクションでは、チェックできる項目を強調表示します。
GUIは、BDが複数宛先トラフィックに使用するマルチキャストグループ225.1.5.48を識別します。
BD GIPo
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トポロジは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
この場合、フラッディングされたトラフィックは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に転送します。
リストされている現在のシナリオは、ハードウェアプロキシモードの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
次の図は、ACIファブリック内のレイヤ2トラフィックで考えられる転送動作をまとめたものです。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
08-Aug-2022 |
初版 |