목차

소개

토폴로지

인그레스 포워딩 엔진 확인

트리거 구성

캡처 시작

결과 해석

추가 확인

소개

이 문서에서는 Cisco Nexus 7700(N7700) M3 모듈에서 ELAM을 수행하는 데 사용되는 단계에 대해 설명하고, 가장 관련된 출력에 대해 설명하고, 결과를 해석하는 방법에 대해 설명합니다.

팁:ELAM에 대한 개요는 ELAM 개요 문서를 참조하십시오.

토폴로지

이 예에서 VLAN 2500(10.0.5.101)의 호스트 포트 Eth4/1은 VLAN 55(10.0.3.101), 포트 Eth3/5의 호스트에 ICMP(Internet Control Message Protocol) 요청을 보냅니다. ELAM은 이 단일 패킷에서 이 10.0.5.101 패킷으로 캡처하기 위해 사용됩니다. 10.0.3.101. ELAM을 사용하면 단일 프레임을 캡처할 수 있다는 점을 기억해야 합니다.

N7K에서 ELAM을 수행하려면 먼저 해당 모듈에 연결해야 합니다(네트워크 관리자 권한이 필요함).

N7700# attach module 4

Attaching to module 4 ...

module-4#

인그레스 포워딩 엔진 확인

트래픽은 포트 Eth4/1에서 스위치를 인그레스로 합니다. 시스템에서 모듈을 확인하면 모듈 4가 M3 모듈임을 알 수 있습니다.N7K는 완전히 분산되어 있으며, 수퍼바이저가 아닌 모듈이 데이터 플레인 트래픽에 대해 포워딩 결정을 내린다는 점을 기억해야 합니다.

N7700# show module

Mod  Ports  Module-Type                         Model              Status

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

1    12     100 Gbps Ethernet Module            N77-F312CK-26      ok

3    48     1/10 Gbps Ethernet Module           N77-M348XP-23L     ok

4    24     10/40 Gbps Ethernet Module          N77-M324FQ-25L     ok

5    0      Supervisor Module-2                 N77-SUP2E          active *

6    0      Supervisor Module-2                 N77-SUP2E          ha-standby

7    24     10/40 Gbps Ethernet Module          N77-F324FQ-25      ok

Mod  Sw               Hw

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

1    7.3(0)DX(1)      1.1

3    7.3(0)DX(1)      1.1

4    7.3(0)DX(1)      1.0

5    7.3(0)DX(1)      1.2

6    7.3(0)DX(1)      1.2

7    7.3(0)DX(1)      1.0

M 시리즈 모듈의 경우 내부 코드 이름 F4를 사용하여 FE(Layer 2) 포워딩 엔진)에서 ELAM을 수행합니다. L2 FE DBUS(데이터 버스)는 L2 및 L3(Layer 3) 조회 전에 원래 헤더 정보를 포함하고 RBUS(결과 버스)는 L3 및 L2 조회 후 결과를 포함합니다.

N7K M3 모듈은 각 모듈에 대해 여러 FE를 사용할 수 있으므로 포트 Eth4/1에서 FE에 사용되는 F4 ASIC를 확인해야 합니다. 이 명령을 입력하여 확인하려면 다음 명령을 입력합니다.

module-4# show hardware internal dev-port-map

(some output omitted)

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

CARD_TYPE:       24 port 40G

>Front Panel ports:24

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

Device name             Dev role              Abbr num_inst:

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

> SLF L3 Driver          DEV_LAYER_3_LOOKUP     L3LKP  4

> SLF L2FWD driver       DEV_LAYER_2_LOOKUP     L2LKP  4

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

+----------------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++------------+

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

FP port |  PHYS | MAC_0 | RWR_0 | L2LKP | L3LKP | QUEUE |SWICHF

1               0       0       0       0       0       0,1

2               0       0       0       0       0       0,1

3               0       0       0       0       0       0,1

출력에서 포트 Eth4/1이 F4(L2LKP) 인스턴스 0에 있음을 확인할 수 있습니다. N77-M312CQ-26L 모듈에는 6F4 ASIC가 있으며 각 포트 그룹에는 포트가 2개 있습니다.N77-M324FQ-25L 모듈에는 각 포트 그룹에 6개의 포트가 있는 4개의 F4 ASIC이 있습니다.N77-M348XP-23L 모듈에는 각 포트 그룹에 12개의 포트가 있는 2개의 F4 ASIC이 있습니다.

참고:F 시리즈 모듈과 마찬가지로 M3 모듈 ELAM 구문에서는 0 기반 값을 사용합니다.1 기반 값을 사용하는 M1 및 M2 모듈에서는 이러한 문제가 발생하지 않습니다.

module-4# elam asic f4 instance 0

module-4(f4-elam)# layer2

module-4(f4-l2-elam)#

트리거 구성

F4 ASIC은 IPv4, IPv6 등에 대한 ELAM 트리거를 지원합니다.ELAM 트리거는 프레임 유형에 맞춰 정렬되어야 합니다.프레임이 IPv4 프레임인 경우 트리거도 IPv4여야 합니다. IPv4 프레임은 다른 트리거와 함께 캡처되지 않습니다.IPv6에도 동일한 논리가 적용됩니다.

NX-OS(Nexus Operating Systems)를 사용하면 물음표 문자를 사용하여 ELAM 트리거를 구분할 수 있습니다.

module-4(f4-l2-elam)# trigger dbus ipv4 ingress if ?

(some output omitted)

destination-index         Destination-index

destination-ipv4-address  Destination ipv4 address

destination-ipv4-mask     Destination ipv4 mask

destination-mac-address   Destination mac address

l4-protocol               L4 protocol

source-index              Source-index

source-ipv4-address       Source ipv4 address

source-ipv4-mask          Source ipv4 mask

source-mac-address        Source mac address

이 예에서는 소스 및 대상 IPv4 주소에 따라 프레임이 캡처되므로 해당 값만 지정됩니다.

F4는 DBUS 및 RBUS에 대해 별도의 트리거가 필요합니다.

다음은 DBUS 트리거입니다.

module-4(f4-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address

10.0.5.101 destination-ipv4-address 10.0.3.101

다음은 RBUS 트리거입니다.

module-4(f4-l2-elam)# trigger rbus ingress result if tr 1

캡처 시작

인그레스 FE가 선택되고 트리거를 구성했으므로 캡처를 시작할 수 있습니다.

module-4(f4-l2-elam)# start

ELAM의 상태를 확인하려면 status 명령을 입력합니다.

module-4(f4-l2-elam)# status

ELAM Slot 4 instance 0: L2 DBUS/LBD Configuration: trigger dbus ipv4 ingress if

source-ipv4-address 10.0.5.101 destination-ipv4-address 10.0.3.101

L2 DBUS/LBD: Configured

ELAM Slot 4 instance 0: L2 RBUS Configuration: trigger rbus ingress result if tr 1

L2 RBUS: Configured

L2 BIS: Unconfigured

L2 BPL: Unconfigured

L2 EGR: Unconfigured

L2 PLI: Unconfigured

L2 PLE: Unconfigured

FE에서 트리거와 일치하는 프레임을 수신하면 ELAM 상태가 트리거됨으로 표시됩니다.

module-4(f4-l2-elam)# status

ELAM Slot 4 instance 1: L2 DBUS/LBD Configuration: trigger dbus ipv4 ingress if

source-ipv4-address 10.0.5.101 destination-ipv4-address 10.0.3.101

L2 DBUS/LBD: Triggered

ELAM Slot 4 instance 1: L2 RBUS Configuration: trigger rbus ingress result if tr 1

L2 RBUS: Triggered

L2 BIS: Unconfigured

L2 BPL: Unconfigured

L2 EGR: Unconfigured

L2 PLI: Unconfigured

L2 PLE: Unconfigured

7

결과 해석

ELAM 결과를 표시하려면 show dbus 및 show rbus 명령을 입력합니다.동일한 트리거와 일치하는 트래픽이 많은 경우 DBUS와 RBUS가 다른 프레임에서 트리거될 수 있습니다.따라서 DBUS 및 RBUS 데이터의 내부 시퀀스 번호가 일치하는지 확인하는 것이 중요합니다.

module-4(f4-l2-elam)# show dbus | i seq

port-id             : 0x0             sequence-number : 0x868

module-4(f4-l2-elam)# show rbus | i seq

de-bri-rslt-valid   : 0x1             sequence-number : 0x868

다음은 이 예제와 가장 관련이 있는 ELAM 데이터의 발췌문입니다(일부 출력은 생략됨).

module-4(f4-l2-elam)# show dbus

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

LBD IPV4

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

ttl                 : 0xff            l3-packet-length    : 0x54

destination-address: 10.0.3.101

source-address: 10.0.5.101

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

packet-length       : 0x66            vlan                : 0x9c4

segid-lsb           : 0x0             source-index        : 0xe05

destination-mac-address : 8c60.4f07.ac65

source-mac-address : 8c60.4fb7.3dc2

port-id             : 0x0             sequence-number     : 0x868

module-4(f4-l2-elam)# show rbus

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

L2 RBUS RSLT CAP DATA

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

de-bri-rslt-valid   : 0x1             sequence-number     : 0x868

vlan                : 0x37            rbh                 : 0x65

cos                 : 0x0             destination-index   : 0x9ed

DBUS 데이터를 사용하여 소스 MAC 주소가 8c60.4fb6.3dc2이고 대상 MAC 주소가 8c60.4f07.ac65인 VLAN 2500에서 프레임이 수신되었는지 확인할 수 있습니다. 이 프레임이 10.0.00.50.0에서 소싱된 IPv4 프레임임을 확인할 수 있습니다. 1.10.0.3.101로 지정됩니다.

팁:TOS(Type of Service) 값, IP 플래그, IP 길이, L2 프레임 길이와 같이 이 출력에 포함되지 않은 기타 여러 유용한 필드가 있습니다.

프레임이 수신되는 포트를 확인하려면 SRC_INDEX 명령(소스 LTL(Local Target Logic))을 입력합니다. LTL을 N7K의 포트 또는 포트 그룹에 매핑하려면 다음 명령을 입력합니다.

N7700# show system internal pixm info ltl 0xe05

Member info

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

Type            LTL

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

PHY_PORT       Eth4/1

FLOOD_W_FPOE   0xc031

출력은 0xe05의 SRC_INDEX가 포트 Eth4/1에 매핑됨을 보여줍니다. 이렇게 하면 프레임이 포트 Eth4/1에서 수신되었음을 확인합니다.

RBUS 데이터를 사용하여 프레임이 VLAN 55로 라우팅되었는지 확인할 수 있습니다. DBUS 데이터에서 TTL이 0xff로 시작됩니다.또한 DEST_INDEX(대상 LTL)에서 이그레스 포트를 확인할 수 있습니다.

N7K# show system internal pixm info ltl 0x9ed

Member info

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

Type            LTL

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

PHY_PORT       Eth3/5

FLOOD_W_FPOE   0x8017

FLOOD_W_FPOE   0x8016

출력은 0x9ed의 DEST_INDEX가 포트 Eth3/5에 매핑되는 것을 보여줍니다. 이렇게 하면 프레임이 포트 Eth3/5에서 전송됨을 확인합니다.

추가 확인

스위치가 LTL 풀을 할당하는 방법을 확인하려면 show system internal pixm info ltl-region 명령을 입력합니다.이 명령의 출력은 LTL이 물리적 포트와 일치하지 않을 경우 LTL의 목적을 파악하는 데 유용합니다.대표적인 예가 LTL 삭제:

N7700# show system internal pixm info ltl 0xcad

0x0cad is Drop DI LTL

N7700# show system internal pixm info ltl-region

(some output omitted)

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

PIXM VDC 1 LTL MAP Version: 3

Description: LTL Map for Crossbow

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

LTL_TYPE                                           SIZE    START   END

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

LIBLTLMAP_LTL_TYPE_PHY_PORT                        3072    0x0     0xbff

LIBLTLMAP_LTL_TYPE_SUP_ETH_INBAND                  64      0xc00   0xc3f

LIBLTLMAP_LTL_TYPE_UCAST_VPC_VDC_SI                32      0xc40   0xc5f

LIBLTLMAP_LTL_TYPE_EXCEPTION_SPAN                  32      0xc60   0xc7f

LIBLTLMAP_LTL_TYPE_UCAST_GENERIC                   48      0xc80   0xcaf

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

SUB-TYPE                                           LTL

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

LIBLTLMAP_LTL_TYPE_UCAST_GENERIC_NOT_USED          0xcaf

LIBLTLMAP_LTL_TYPE_DROP_DI_WO_HW_BITSET            0xcae

LIBLTLMAP_LTL_TYPE_DROP_DI                         0xcad

LIBLTLMAP_LTL_TYPE_SUP_DIAG_SI_V5                  0xcac

LIBLTLMAP_LTL_TYPE_RESERVED_ERSPAN_LTL             0xcab

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

LIBLTLMAP_LTL_TYPE_LC_CPU                          192     0xcb0   0xd6f

LIBLTLMAP_LTL_TYPE_UCAST_RESERVED                  144     0xd70   0xdff

LIBLTLMAP_LTL_TYPE_PC                              1536    0xe00   0x13ff

LIBLTLMAP_LTL_TYPE_DYNAMIC_UCAST                   5120    0x1400  0x27ff

LIBLTLMAP_LTL_TYPE_MCAST_RESERVED                  48      0x2800  0x282f

LIBLTLMAP_LTL_TYPE_DYNAMIC_MCAST                   38848   0x2830  0xbfef

LIBLTLMAP_LTL_TYPE_SAC_FLOOD                       16      0xbff0  0xbfff

LIBLTLMAP_LTL_TYPE_FLOOD_WITH_FPOE                 16384   0xc000  0xffff