목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

구성

예

다음을 확인합니다.

문제 해결

관련 정보

소개

이 문서에서는 UCS(Unified Computing System) 4세대 FI(Fabric Interconnect) 6454에서 ELAM(Embedded Logic Analyzer Module) 툴을 사용하는 방법과 이 도구를 가장 효과적으로 사용하는 방법에 대해 설명합니다.

사전 요구 사항

이 문서에 대한 필수 구성 요소가 없습니다.

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- UCS 6454 Fabric Interconnect

사용되는 구성 요소

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.

배경 정보

UCS 4세대 FI는 ELAM 캡처를 실행할 수 있습니다.ELAM 캡처는 ASIC에 내장되어 있습니다.

ELAM 툴을 사용하면 ASIC 레벨에서 포워딩되는 패킷을 실시간으로 볼 수 있습니다.다음과 같은 패킷의 세부 정보를 볼 수 있습니다.

- 인그레스 및 이그레스 인터페이스

- MTU(최대 전송 단위) 크기

- VLAN 태그

- 소스 및 대상 디바이스의 MAC 및 IP 주소

- 패킷 삭제 및 원인

- QoS(Quality of Service) 마킹

ELAM은 패킷 전달에 대한 세부 정보를 제공합니다.데이터 플레인에 영향을 미치지 않습니다.

구성

CLI(Command Line Interface)를 통해 UCS에 로그인합니다.

다음 명령을 실행합니다.

#connect nxos a|b

#attach module 1

#debug platform internal tah elam asic 0

#trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

#set outer ...

#start

#report

참고:4세대 FI는 단일 모듈(모듈 1)이 1개인 단일 랙 유닛이며 ASIC(asic 0) 1개와 슬라이스(슬라이스 0)가 1개입니다. 아래 출력을 참조하십시오.

RCH-SV-FFAIII-A(nx-os)# show hardware internal tah interface ethernet 1/30

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

IfIndex: 436222464

DstIndex: 6028

IfType: 26

Interface name Ethernet1/30

Asic: 0

Asic: 0     <<<<<

AsicPort: 49

SrcId: 98

Slice: 0    <<<<<

PortOnSlice: 49

Table entries for interface Ethernet1/30

트리거가 패킷 특성 "lu-a2d 1"을 기반으로 하는 ELAM의 경우 사용됩니다.값 6과 1은 "선택 중" 및 "선택 후"에 각각 사용되며 관심 없음

"set outer(외부 설정)" 명령은 Cisco의 필터이며, 여기에서 캡처할 패킷을 정의하고 FI에 알려주며, 다양한 옵션이 있으며, 필요에 따라 세분화할 수 있습니다.

module-1(TAH-elam-insel6)# set outer ?

arp   ARP Fields

fcoe  FCoE Fields

ipv4  IPv4 Fields

ipv6  IPv6 Fields

l2    All Layer 2 Fields

l4    L4 Fields

module-1(TAH-elam-insel6)# set outer l2 ?

cfi            CFI Setting

cntag_vld      CNTag Information Valid

cos            Class of Service

dst_mac        Destination MAC Address

qtag_vld       VLAN Tag Information Valid

snap_vld       SNAP Header Information Valid

src_mac        Source MAC Address

vlan           VLAN Id (Present only in case of FEX)

vntag_dvif     VNTAG Destination vif

vntag_looped   VNTAG Header Looped Valid

vntag_pointer  VNTAG Header Pointer Valid

vntag_svif     VNTAG Source vif

vntag_vld      VNTAG Information Valid

module-1(TAH-elam-insel6)# set outer ipv4 ?

checksum       Checksum

dscp           Diff. Serv. Code Point

dst_ip         Destination IP Address

ecn            Explicit Congestion Ntfn

fragment-off   Fragments Offset

header-len     Header Length

more-frags     More Fragments Available

next-protocol  Next Protocol

packet-len     Packet Total Length

pyld-len       Payload Length

src_ip         Source IP Address

ttl            Time to Live

version        Version

필터가 정의되면 명령 start를 실행하여 ELAM 도구를 실행합니다.필터 조건을 완전히 채우는 항목이 없으면 다음과 같이 표시됩니다.

module-1(TAH-elam-insel6)# report

ELAM not triggered yet on slot - 1, asic - 0, slice - 0

참고:"set" 명령은 ELAM 전체에서 유지되며, 다른 IP, MAC 등으로 트래픽을 캡처할 때마다 "reset" 명령을 실행하는 것이 좋습니다.

예

1. VM 172.16.35.31에서 게이트웨이 172.16.35.126으로 Ping합니다.

RCH-SV-FFAIII-A(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer ipv4 src_ip 172.16.35.31 dst_ip 172.16.35.126

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

GBL_C++:  [MSG] rocky_elam_wrapper_init:54:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:149:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000005608118F800000

000000000000000000560811BF00000000000000000000001000000000000000000000000000000000000000000000000000000000001

GBL_C++:  [MSG]   - writing mask=0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFF800000

0000000000000000007FFFFFFF80000000000000000000003800000000000000000000000000000000000000000000000000000000001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

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

Incoming Interface: Eth1/33

Src Idx : 0x1002, Src BD : 35

Outgoing Interface Info: dmod 1, dpid 4

Dst Idx : 0x604, Dst BD : 35

Packet Type: IPv4

Dst MAC address: 8C:60:4F:CD:FD:7C

Src MAC address: 00:25:C5:00:00:1E

.1q Tag0 VLAN: 35,  cos = 0x1

Dst IPv4 address: 172.16.35.126

Src IPv4 address: 172.16.35.31

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   =  1, TTL     =   64, More Fragments = 0

Hdr len = 20, Pkt len =   84, Checksum       = 0x5f19

L4 Protocol  : 1

ICMP type    : 8

ICMP code    : 0

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

다음을 확인합니다.

src_ip 172.16.35.31 및 dst_ip 172.16.35.126이 있는 패킷은 VLAN 35에 있고 포트 1/33(수신 인터페이스)에 도착했으며 "dpid4" 인터페이스로 전송(발신 인터페이스)되었습니다...뭐?"dpid"는 ASIC 포트 내부 식별자이며 "show interface hardware-mappings"를 사용하여 매핑을 찾을 수 있습니다.

Incoming Interface: Eth1/33

Src Idx : 0x1002, Src BD : 35

interface Ethernet1/33

description S: Server, Port-channel 1025

no pinning server sticky

switchport mode fex-fabric

priority-flow-control mode on

fex associate 1

channel-group 1025

no shutdown

Outgoing Interface Info: dmod 1, dpid 4

Dst Idx : 0x604, Dst BD : 35

RCH-SV-FFAIII-A(nx-os)# show interface hardware-mappings

Legends:

SMod  - Source Mod. 0 is N/A

Unit  - Unit on which port resides. N/A for port channels

HPort - Hardware Port Number or Hardware Trunk Id:

HName - Hardware port name. None means N/A

FPort - Fabric facing port number. 255 means N/A

NPort - Front panel port number

VPort - Virtual Port Number. -1 means N/A

Slice - Slice Number. N/A for BCM systems

SPort - Port Number wrt Slice. N/A for BCM systems

SrcId - Source Id Number. N/A for BCM systems

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

Name       Ifindex  Smod Unit HPort FPort NPort VPort Slice SPort SrcId

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

.

Eth1/13    1a001800 1    0    4     255   48    -1    0     4     8

이 "dpid 4"는 "show hardware internal than interface ethernet 1/13"의 제안과도 일치합니다.

RCH-SV-FFAIII-A(nx-os)# show hardware internal tah interface ethernet 1/13

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

IfIndex: 436213760

DstIndex: 6096

IfType: 26

Interface name Ethernet1/13

Asic: 0

Asic: 0

AsicPort: 4     <<<<<

SrcId: 8

Slice: 0

PortOnSlice: 4  <<<<<

패킷은 ELAM Layer 4(L4) 프로토콜에서 ICMP(Internet Control Message Protocol)로 식별되었습니다.IANA 프로토콜 번호 목록을 참조하십시오.특정 MTU 크기로 필터링할 수도 있습니다. 정확한 MTU가 적중된 경우에만 ELAM이 트리거됩니다.

module-1(TAH-elam-insel6)# set outer ipv4 src_ip 172.16.35.31 dst_ip 172.16.35.126 packet-len 1500

Dst IPv4 address: 172.16.35.126

Src IPv4 address: 172.16.35.31

Ver     =  4, DSCP    =    0, Don't Fragment = 1

Proto   =  1, TTL     =   64, More Fragments = 0

Hdr len = 20, Pkt len = 1500, Checksum       = 0x1758

L4 Protocol  : 1

ICMP type    : 8

ICMP code    : 0

MAC 주소가 필터로 설정된 VM(가상 머신)에서 업스트림 네트워크로 ARP 요청:

RCH-SV-FFAIII-B(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer l2 src_mac 00:25:c5:00:00:1e dst_mac ff:ff:ff:ff:ff:ff

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

GBL_C++:  [MSG] rocky_elam_wrapper_init:36:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:95:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

00000015820463E004B8A00003C0000000000000000000002000000000000000000000000000000000000000000000000000000000001

GBL_C++:  [MSG]   - writing mask=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0000001FFFFFFFFFFFFFFFFFFFE0000000000000000000003800000000000000000000000000000000000000000000000000000000001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

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

Incoming Interface: Eth1/33

Src Idx : 0x1002, Src BD : 35

Outgoing Interface Info: dmod 1, dpid 4

Dst Idx : 0x604, Dst BD : 35

Packet Type: ARP

Dst MAC address: FF:FF:FF:FF:FF:FF

Src MAC address: 00:25:C5:00:00:1E

.1q Tag0 VLAN: 35,  cos = 0x1

Target Hardware address: 00:00:00:00:00:00

Sender Hardware address: 00:25:C5:00:00:1E

Target Protocol address: 172.16.35.110

Sender Protocol address: 172.16.35.31

ARP opcode: 1

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

패킷은 시스템에서 ARP로 식별되며, 이는 VM 또는 게이트웨이 레벨에서 불완전한 ARP 항목이 있는 경우 특히 유용합니다.

해당되는 경우 TCP/UDP 포트도 나열되며 SSH는 여기에서 테스트됩니다.

RCH-SV-FFAIII-B(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer ipv4 src_ip 172.16.35.126 dst_ip 172.16.35.31

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

GBL_C++:  [MSG] rocky_elam_wrapper_init:36:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:95:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000560811BF0000

000000000000000000005608118F80000000000000000000001000000000000000000000000000000000000000000000000000000000001

GBL_C++:  [MSG]   - writing mask=0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFF8000

000000000000000000007FFFFFFF80000000000000000000003800000000000000000000000000000000000000000000000000000000001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

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

Incoming Interface: Eth1/14

Src Idx : 0x604, Src BD : 35

Outgoing Interface Info: dmod 1, dpid 44

Dst Idx : 0x1002, Dst BD : 35

Packet Type: IPv4

Dst MAC address: 00:25:C5:00:00:1E

Src MAC address: 8C:60:4F:CD:FD:7C

.1q Tag0 VLAN: 35,  cos = 0x0

Dst IPv4 address: 172.16.35.31

Src IPv4 address: 172.16.35.126

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   =  6, TTL     =   64, More Fragments = 0

Hdr len = 20, Pkt len =   60, Checksum       = 0x27f5

L4 Protocol  : 6

TCP Dst Port : 22

TCP Src Port : 15067

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

문제 해결

드롭도 기록됩니다.FI는 ARP 요청을 삭제합니다.

RCH-SV-FFAIII-B(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer l2 src_mac 00:25:c5:00:00:1e dst_mac ff:ff:ff:ff:ff:ff

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

GBL_C++:  [MSG] rocky_elam_wrapper_init:54:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:149:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000000000000000000000971400007BFFFFFFFFFFFC00001

GBL_C++:  [MSG]   - writing mask=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFC00001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

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

Incoming Interface: Eth1/18

Src Idx : 0x603, Src BD : 35

Outgoing Interface Info: dmod 0, dpid 0

Dst Idx : 0x0, Dst BD : 35

Packet Type: ARP

Dst MAC address: FF:FF:FF:FF:FF:FF

Src MAC address: 00:25:C5:00:00:1E

.1q Tag0 VLAN: 35,  cos = 0x1

Target Hardware address: 00:00:00:00:00:00

Sender Hardware address: 00:25:C5:00:00:1E

Target Protocol address: 172.16.35.99

Sender Protocol address: 172.16.35.31

ARP opcode: 1

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

MC_RPF_FAIILURE

SRC_VLAN_MBR

Final Drops:

MC_RPF_FAIILURE

SRC_VLAN_MBR

FI는 소스 MAC가 00:25:c5:00:00:1e인 포트 1/18(업링크 포트)에서 ARP 요청을 수신하며, 이 요청은 vEth(가상 이더넷) 포트에서 로컬로 학습됩니다.이 조건은 RPF(Reverse Path Forward) 삭제를 트리거합니다.Outgoing Interface Info는 dpid 0(dpid 0)을 보고합니다.

VLAN 35는 포트 1/18에서 허용되지 않으며 이는 삭제 SRC_VLAN_MBR도 트리거했습니다.

RCH-SV-FFAIII-A(nx-os)# show run interface ethernet 1/18

interface Ethernet1/18

description U: Uplink

pinning border

switchport mode trunk

switchport trunk allowed vlan 1

channel-group 105 mode active

관련 정보

- ELAM 개요

- 기술 지원 및 문서 − Cisco Systems