目录

简介

拓扑

确定入口转发引擎

配置触发器

开始捕获

解释结果

其他验证

简介

本文档介绍在Cisco Nexus 7000(N7K)F2模块上执行ELAM所用的步骤，说明最相关的输出，并说明如何解释结果。

提示：有关ELAM的概述，请参阅ELAM概述文档。

拓扑

在本例中，VLAN 10(10.1.1.101,MAC地址为0050.56a1.1a01)上的主机，端口Eth6/4向VLAN 10(1)上的主机发送Internet控制消息协议(ICMP)请求0.1.1.102,MAC地址为0050.56a1.1aef)，端口Eth6/3。使用ELAM捕获从10.1.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的第2层(L2)转发引擎(FE)上执行ELAM操作。请注意，L2 FE数据总线(DBUS)包含L2和L3(L3)查找之前的原始报头信息，而结果总线(RBUS)包含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

使用Nexus操作系统(NX-OS)，您可以使用问号字符来分隔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地址和目的IPv4地址捕获帧，因此仅指定这些值。

Clipper要求为DBUS和RBUS设置触发器。这与M系列模块不同，因为无需指定数据包缓冲区(PB)实例。这简化了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的IPv4帧，发往10.1.1.102。

提示：此输出中还包含其他几个有用字段，如服务类型(TOS)值、IP标志、IP长度和L2帧长度。

要验证帧在哪个端口上收到，请输入SRC_INDEX命令(源本地目标逻辑(LTL))。输入此命令可将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索引映射到端口Eth6/3。这确认帧是从端口Eth6/3交换的。

其他验证

要验证交换机如何分配LTL池，请输入show system internal pixm info ltl-region命令。如果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