이 문서에서는 Cisco Nexus 7000(N7K) F2 모듈에서 ELAM을 수행하는 데 사용되는 단계에 대해 설명하고, 가장 관련성이 높은 출력을 설명하고, 결과를 해석하는 방법에 대해 설명합니다.
이 예에서 VLAN 10의 호스트(MAC 주소 0050.56a1.1a01이 있는 10.1.101), 포트 Eth6/4는 VLAN 10(10.1.102)에 있는 호스트에 ICMP(Internet Control Message Protocol) 요청을 전송합니다. MAC000000 0.56A1.1AEF), 포트 Eth6/3. ELAM은 10.1.101에서 10.1.1.102으로 이 단일 프레임을 캡처하기 위해 사용됩니다. ELAM을 사용하면 단일 프레임만 캡처할 수 있습니다.
N7K에서 ELAM을 수행하려면 먼저 해당 모듈에 연결해야 합니다(네트워크 관리자 권한이 필요함).
N7K# attach module 6
Attaching to module 6 ...
To exit type 'exit', to abort type '$.'
module-6#
트래픽은 포트 Eth6/4에서 스위치를 인그레스로 합니다. 시스템에서 모듈을 확인하면 모듈 6이 F2 모듈임을 알 수 있습니다.N7K는 완전히 분산되어 있으며, 수퍼바이저가 아닌 모듈이 데이터 플레인 트래픽에 대해 포워딩 결정을 내린다는 점을 기억해야 합니다.
N7K# show module 6
Mod Ports Module-Type Model Status
--- ----- --------------------------- ------------------ -------
6 48 1/10 Gbps Ethernet Module N7K-F248XP-25E ok
F2 모듈의 경우 내부 코드 이름 Clipper를 사용하여 L2(Layer 2) Forwarding Engine(FE)에서 ELAM을 수행합니다.L2 FE 데이터 버스(DBUS)에는 L2 및 L3(Layer 3) 조회 이전의 원래 헤더 정보가 포함되며 RBUS(Result Bus)에는 L3 및 L2 조회 후의 결과가 포함됩니다.
N7K F2에는 모듈당 12개의 FE가 있으므로 포트 Eth6/4의 FE에 사용되는 Clipper ASIC을 확인해야 합니다. 다음을 확인하려면 이 명령을 입력하십시오.
module-6# show hardware internal dev-port-map
--------------------------------------------------------------
CARD_TYPE: 48 port 10G
>Front Panel ports:48
--------------------------------------------------------------
Device name Dev role Abbr num_inst:
--------------------------------------------------------------
> Clipper FWD DEV_LAYER_2_LOOKUP L2LKP 12
+-----------------------------------------------------------------------+
+----------------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++------------+
+-----------------------------------------------------------------------+
FP port | PHYS | MAC_0 | L2LKP | L3LKP | QUEUE |SWICHF
...
3 0 0 0 0 0 0
4 0 0 0 0 0 0
출력에서 포트 Eth6/4가 Clipper(L2LKP) 인스턴스 0에 있음을 확인할 수 있습니다.
module-6# elam asic clipper instance 0
module-6(clipper-elam)# layer2
module-6(clipper-l2-elam)#
Clipper ASIC는 여러 프레임 유형에 대해 ELAM 트리거를 지원합니다.ELAM 트리거는 프레임 유형에 맞춰 정렬되어야 합니다.프레임이 IPv4 프레임인 경우 트리거도 IPv4여야 합니다. IPv4 프레임은 다른 트리거와 함께 캡처되지 않습니다.IPv6에도 동일한 논리가 적용됩니다.
Clipper ASIC는 다음 프레임 유형을 지원합니다.
module-6(clipper-l2-elam)# trigger dbus ?
arp ARP Frame Format
fc Fc hdr Frame Format
ipv4 IPV4 Frame Format
ipv6 IPV6 Frame Format
other L2 hdr Frame Format
pup PUP Frame Format
rarp Rarp hdr Frame Format
valid On valid packet
NX-OS(Nexus Operating Systems)를 사용하면 물음표 문자를 사용하여 ELAM 트리거를 분리할 수 있습니다.F2 모듈에서는 ELAM에 대해 다음과 같은 몇 가지 옵션을 사용할 수 있습니다.
module-6(clipper-l2-elam)# trigger dbus ipv4 ingress if ?
<CR>
destination-ipv4-address destination ipv4 address
destination-mac-address Inner destination mac address
source-index Source index
source-ipv4-address source ipv4 address
source-mac-address Inner source mac address
vlan Vlan
etc?
이 예에서는 소스 및 대상 IPv4 주소를 기반으로 프레임이 캡처되므로 해당 값만 지정됩니다.
클리퍼는 DBUS와 RBUS에 대해 트리거가 설정되어야 한다고 요구합니다.이는 PB(Packet Buffer) 인스턴스를 지정해야 할 필요가 없으므로 M-Series 모듈과 다릅니다.이렇게 하면 RBUS 트리거가 간소화됩니다.
다음은 DBUS 트리거입니다.
module-6(clipper-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address
10.1.1.101 destination-ipv4-address 10.1.1.102
다음은 RBUS 트리거입니다.
module-6(clipper-l2-elam)# trigger rbus ingress if trig
인그레스 FE가 선택되고 트리거를 구성했으므로 캡처를 시작할 수 있습니다.
module-6(clipper-l2-elam)# start
ELAM의 상태를 확인하려면 status 명령을 입력합니다.
module-6(clipper-l2-elam)# status
ELAM instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if
source-ipv4-address 10.1.1.101 destination-ipv4-address 10.1.1.102
L2 DBUS Armed
ELAM instance 0: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS Armed
FE에서 트리거와 일치하는 프레임을 수신하면 ELAM 상태가 트리거됨으로 표시됩니다.
module-6(clipper-l2-elam)# status
ELAM instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if
source-ipv4-address 10.1.1.101 destination-ipv4-address 10.1.1.102
L2 DBUS Triggered
ELAM instance 0: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS Triggered
ELAM 결과를 표시하려면 show dbus 및 show rbus 명령을 입력합니다.다음은 이 예제와 가장 관련이 있는 ELAM 데이터의 발췌문입니다(일부 출력은 생략됨).
module-6(clipper-l2-elam)# show dbus
--------------------------------------------------------------------
L2 DBUS CONTENT - IPV4 PACKET
--------------------------------------------------------------------
...
vlan : 0xa destination-index : 0x0
source-index : 0x3 bundle-port : 0x0
sequence-number : 0x3f vl : 0x0
...
source-ipv4-address: 10.1.1.101
destination-ipv4-address: 10.1.1.102
destination-mac-address: 0050.56a1.1aef
source-mac-address: 0050.56a1.1a01
module-6(clipper-l2-elam)# show rbus
--------------------------------------------------------------------
L2 RBUS INGRESS CONTENT
--------------------------------------------------------------------
l2-rbus-trigger : 0x1 sequence-number : 0x3f
di-ltl-index : 0x2 l3-multicast-di : 0x0
source-index : 0x3 vlan-id : 0xa
DBUS 데이터를 사용하여 프레임이 VLAN 10(vlan:0xa) 소스 MAC 주소가 0050.56a1.1a01이고 대상 MAC 주소가 0050.56a1.1aef인.또한 이 프레임이 10.1.1.101에서 소싱되고 10.1.102로 지정되는 IPv4 프레임임을 확인할 수 있습니다.
프레임이 수신되는 포트를 확인하려면 SRC_INDEX 명령(소스 LTL(Local Target Logic))을 입력합니다. LTL을 N7K의 포트 또는 포트 그룹에 매핑하려면 다음 명령을 입력합니다.
N7K# show system internal pixm info ltl 0x3
Type LTL
---------------------------------
PHY_PORT Eth6/4
출력은 0x3의 소스 인덱스가 포트 Eth6/4에 매핑되는 것을 보여줍니다. 이렇게 하면 프레임이 포트 Eth6/4에서 수신되었음을 확인합니다.
RBUS 데이터를 사용하여 프레임이 VLAN 10에서 스위칭되었는지 확인할 수 있습니다(vlan-id:0xa) 또한 di-ltl-index(대상 LTL)에서 이그레스 포트를 확인할 수 있습니다.
N7K# show system internal pixm info ltl 0x2
Type LTL
---------------------------------
PHY_PORT Eth6/3
출력은 0x2의 di-ltl-index가 포트 Eth6/3에 매핑되는 것을 보여 줍니다. 이렇게 하면 프레임이 포트 Eth6/3에서 전환되었음을 확인합니다.
스위치가 LTL 풀을 할당하는 방법을 확인하려면 show system internal pixm info ltl-region 명령을 입력합니다.이 명령의 출력은 LTL이 물리적 포트와 일치하지 않을 경우 LTL의 목적을 파악하는 데 유용합니다.대표적인 예가 Drop LTL입니다.
N7K# show system internal pixm info ltl 0x11a0
0x11a0 is not configured
N7K# show system internal pixm info ltl-region
LTL POOL TYPE SIZE RANGE
=====================================================================
DCE/FC Pool 1024 0x0000 to 0x03ff
SUP Inband LTL 32 0x0400 to 0x041f
MD Flood LTL 1 0x0420
Central R/W 1 0x0421
UCAST Pool 1536 0x0422 to 0x0a21
PC Pool 1720 0x0a22 to 0x10d9
LC CPU Pool 32 0x1152 to 0x1171
EARL Pool 72 0x10da to 0x1121
SPAN Pool 48 0x1122 to 0x1151
UCAST VDC Use Pool 16 0x1172 to 0x1181
UCAST Generic Pool 30 0x1182 to 0x119f
LISP Pool 4 0x1198 to 0x119b
Invalid SI 1 0x119c to 0x119c
ESPAN SI 1 0x119d to 0x119d
Recirc SI 1 0x119e to 0x119e
Drop DI 2 0x119f to 0x11a0
UCAST (L3_SVI_SI) Region 31 0x11a1 to 0x11bf
UCAST (Fex/GPC/SVI-ES) 3648 0x11c0 to 0x1fff
UCAST Reserved for Future Use Region 2048 0x2000 to 0x27ff
======================> UCAST MCAST BOUNDARY <======================
VDC OMF Pool 32 0x2800 to 0x281f