このドキュメントでは、ある ACI leaf で endpoint 学習している remote endpoint (interface が tunnel interface であるもの) に対して、その tunnel interface の宛先 leaf (その endpoint を local に学習している leaf) を特定する方法をご紹介します。
今回はこの試験をした環境に合わせ、前者の leaf (remote endpoint を学習している leaf) の host 名を leaf3 とします。
このドキュメントで紹介しているのは、ACI release 2.1(1h)/12.1(1h) を使用した環境での試験結果です。

1. endpoint table で tunnel interface の確認
まず、endpoint table で着目している endpoint の IP/MAC や宛先となる interface を確認します。
今回は "002a.6a4f.2fc1" という MAC address の entry に着目します。
leaf3# show endpoint vrf tskanai:VRF1
Legend:
s - arp O - peer-attached a - local-aged S - static
V - vpc-attached p - peer-aged M - span L - local
B - bounce H - vtep
+-----------------------------------+---------------+-----------------+--------------+-------------+
VLAN/ Encap MAC Address MAC Info/ Interface
Domain VLAN IP Address IP Info
+-----------------------------------+---------------+-----------------+--------------+-------------+
8/tskanai:VRF1 vxlan-16744306 dcce.c15a.0f88 tunnel4
8/tskanai:VRF1 vxlan-16744306 0000.0c07.ac00 tunnel4
8/tskanai:VRF1 vxlan-16744306 001b.54c2.b442 tunnel4
8/tskanai:VRF1 vxlan-16744306 002a.6a4f.2fc1 tunnel9
9 vlan-39 001b.54c2.b443 L eth1/25
tskanai:VRF1 vlan-39 192.168.39.202 L eth1/25
この table から、着目している endpoint "002a.6a4f.2fc1" は interface tunnel9 の先に存在することがわかります。
なお、endpoint 学習など packet 転送のより深い troubleshooting では endpoint に関するより詳しい情報が必要となります。ACI fabric では、endpoint は EPM や EPMC といった process で管理されています。EPM は supervisor 上の process (CPU よりの process)、EPMC は line card 上の process (H/W ASIC よりの process) です。
以下の出力内容の詳細は本ドキュメントの趣旨から逸れるので、説明は割愛します。
<EPM 上の endpoint 詳細情報の確認>
leaf3# show system internal epm endpoint mac 002a.6a4f.2fc1
MAC : 002a.6a4f.2fc1 ::: Num IPs : 0
Vlan id : 8 ::: Vlan vnid : 16744306 ::: VRF name : tskanai:VRF1
BD vnid : 16744306 ::: VRF vnid : 2949120
Phy If : 0 ::: Tunnel If : 0x18010009
Interface : Tunnel9
Flags : 0x80004800 ::: sclass : 49229 ::: Ref count : 4
EP Create Timestamp : 03/28/2017 06:32:24.394149
EP Update Timestamp : 03/28/2017 06:32:24.394149
EP Flags : MAC|sclass|timer|
::::
<EPMC 上の endpoint 詳細情報の確認>
leaf3# vsh_lc
vsh_lc
module-1# show system internal epmc endpoint mac 002a.6a4f.2fc1
MAC : 002a.6a4f.2fc1 ::: Num IPs : 0
Vlan id : 8 ::: Vlan vnid : 16744306
::: BD vnid : 16744306
VRF name : tskanai:VRF1 ::: VRF vnid : 2949120
phy if : 0 ::: tunnel if : 0x18010009 ::: Interface : Tunnel9
Ref count : 4 ::: sclass : 49229
Timestamp : 01/10/1970 12:26:07.980149
::: Learns Src: NS
EP Flags : MAC|sclass|timer|
Aging: Timer-type : Age ::: Timeout-left : 108 ::: Hit-bit : Yes ::: Timer-reset count : 0
PD handles:
Bcm l2 hit-bit : No
[L2]: Asic : NS ::: ADJ : 0x1a ::: GST ING : 0x125d ::: GST EGR : 0x125d ::: BCM : No
<detail> SDB Data:
mod 4 ::: port 9
is_tep_ip_valid : YES ::: tep_ip 0xa00f81d
::::
2. tunnel interface の宛先 IP address の確認
続いて、先ほど特定した tunnel interface tunnel9 の宛先 IP address を確認します。この宛先 IP は endpoint を local に学習している leaf の TEP address です。
leaf3# show interface tunnel 9
Tunnel9 is up
MTU 9000 bytes, BW 0 Kbit
Transport protocol is in VRF "overlay-1"
Tunnel protocol/transport is ivxlan
Tunnel source 10.0.248.31/32 (lo0)
Tunnel destination 10.0.248.29
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
この結果から、宛先 leaf の TEP address は 10.0.248.29 だとわかります。
3. TEP address から leaf の host 名を特定
TEP address 10.0.248.29 から、その address を持つ leaf の host 名を特定します。ACI fabric の underlay では routing protocol として IS-IS が TEP 間で動作しているため、IS-IS command によりこの特定が可能です。TEP 間の IS-IS は 'overlay-1' という VRF で内部的に動作しているため、以下の command では "vrf overlay-1" を指定しています。
leaf3# vsh
leaf3# show isis database detail ip prefix 10.0.248.29/32 vrf overlay-1
IS-IS Process: isis_infra LSP database VRF: overlay-1
IS-IS Level-1 Link State Database
LSPID Seq Number Checksum Lifetime A/P/O/T
1df8.000a.0000.00-00 0x00000595 0x31C3 689 0/0/0/1
Instance : 0x00000593
Area Address : 01
TEP Address : IPv4 DomainWide AppId 1 [10.0.248.29, 0.0.0.0, 0.0.0.0]
NLPID : 0xCC
Router ID : 10.0.248.29
IP Address : 10.0.248.29
Hostname : leaf4 Length : 5
IS Neighbor : 1ef8.000a.0000.00 Metric : 1 (I)
IS Neighbor : 1ef8.000a.0000.00 Metric : 1 (I)
IP Internal : 10.0.248.29/32 Metric : 1 (I,U)
Router Capability : Router Id : 0.0.0.0 Flags : 3
Digest Offset : 0 Length : 00000088
IS-IS Level-2 Link State Database
LSPID Seq Number Checksum Lifetime A/P/O/T
この出力から、TEP address 10.0.248.29 を持つ leaf の host 名が 'leaf4' と特定できました。
実際に leaf4 の endpoint table を見てみましょう。
leaf4# show endpoint vrf tskanai:VRF1
Legend:
s - arp O - peer-attached a - local-aged S - static
V - vpc-attached p - peer-aged M - span L - local
B - bounce H - vtep
+-----------------------------------+---------------+-----------------+--------------+-------------+
VLAN/ Encap MAC Address MAC Info/ Interface
Domain VLAN IP Address IP Info
+-----------------------------------+---------------+-----------------+--------------+-------------+
8/tskanai:VRF1 vxlan-16744306 dcce.c15a.0f88 tunnel2
8/tskanai:VRF1 vxlan-16744306 0000.0c07.ac00 tunnel2
8/tskanai:VRF1 vxlan-16744306 001b.54c2.b443 tunnel5
9 vlan-39 002a.6a4f.2fc1 L eth1/25
tskanai:VRF1 vlan-39 192.168.39.2 L eth1/25
実際に、leaf4 は MAC address "002a.6a4f.2fc1" を eth1/25 で学習していることを確認できました。
通常、安定運用時は各 endpoint がどこの leaf 配下にいるか把握している場合が多く、このような確認はする必要がないかと思いますが、配下の VM を移動させたり、firewall の active/standby が切り替わるといった、endpoint move が起きるような際にはこのような troubleshooting が役立つことがあります。