简介
本文档介绍一种方法,用于在配备管理引擎2T的Catalyst 6500或Catalyst 6880的转发引擎上捕获硬件交换数据包,并向用户显示转发/QoS决策。
注意:本文档中介绍的方法不能用于Catalyst 6500/Supervisor 720或旧版Supervisor。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
配置
数据路径捕获基于在Lamira ASIC上触发的嵌入式逻辑分析器模块(ELAM),该芯片负责在Catalyst 6500/Supervisor引擎2T和6880上做出第3层转发决策。 此芯片允许您跟踪数据包转发和QoS决策过程,而无需了解平台的内部架构以及正确设置ELAM所需的确切内部数据包流。
此捕获收集的信息可用于了解硬件决策过程。收集到的信息也是思科技术支持中心的良好输入数据,可在数据包转发或QoS出现任何问题时进行进一步分析。
注意:要生成转发输出,需要实际流量。例如,为触发器定义的数据包在执行捕获时必须流经设备。此方法不影响设备的性能,也不影响测试的流量。
使用此CLI配置数据包捕获:
6500#show platform datapath ?
all Packet datapath trace for all features
cos Packet ingress cos
ingress-interface Packet ingress interface (port, subinterface,
service-instance)
last Use data from the last datapath capture
lif Packet ingress LIF from Eureka or shim header
packet-data Packet header data specification
pkt-length Packet length
qos Packet QoS datapath trace
recirc recirculated packet
release-elam Release Elam
slot Forwarding Engine slot
src-index Packet ingress port source index
vty Used for virtual terminal lines
| Output modifiers
有关最重要参数,请参阅以下定义:
- all — 配置数据包捕获以同时捕获基本转发和QoS转发决策(作为两个当前实施的流类型)。
- vty — 允许在用户通过Telnet/Secure Shell(SSH)记录时显示输出(从控制台运行命令时不需要这样做)。
- release-elam — 删除之前配置的触发器。
- ingress-interface/slot — 允许选择将捕获数据包的模块/接口。
- cos -允许您选择将捕获的数据包的COS值。
- pkt-length允许您指定将捕获的数据包的大小。
- 数据包数据 — 提供非常灵活的方式来选择需要捕获的数据包特征。
本示例设置在接口te1/4上接收的数据包的捕获。
show platform datapath ingress-interface te1/4
本示例设置在插槽2上接收的数据包的捕获。
show platform datapath slot 2
此示例设置触发器以捕获COS等于5的帧。
show platform datapath cos 5
此示例设置触发器以捕获长度为64字节的帧。
show platform datapath pkt-length 64
本示例设置触发器,以捕获IPv4/TCP帧,其中ACK标志集的源MAC地址为0000.0000.0001,源IP为10.0.0.1。
show platform datapath packet-data ipv4 src-address 10.0.0.1 tcp flags ack l2
src-mac 0000.0000.0001
网络图
测试流量在VLAN10中的中继Te1/4上接收,由Catalyst 6500路由到VLAN20,然后发送到端口Te2/1上VLAN20中的接收方。
请参阅以下场景:

测试
要捕获数据包,请输入以下命令:
show platform datapath vty all ingress-interface te1/4 packet-data ipv4
src-address 10.10.0.1
基本数据包流
这会将触发器设置为到达源IP地址为10.10.0.1的接口te1/4的IPv4数据包,并要求设备显示数据包转发和QoS决策。执行此命令后,此流量将到达设备并生成以下输出:
Capturing from TenGigabitEthernet1/4 src_index 3[0x3]
_______________________________________________________________
Basic Packet Flow
-----------------
Packet TCP(6)[len=64]R: 10.10.0.1 -> 10.20.0.1
| Ports: 1000 -> 2000 [ACK 0x10] Dscp/Tos 46/0xB8 Ttl 64
| RouterMAC 0013.5f1c.0980 SMAC 0000.0000.1010
| Vlan 10 CoS 5 1q 1
V
Te1/4[3] Ingress Lif 0xA Vlan 10
| ILM 0x6900A Lif_Sel 3 Lif_Base 0x69000
| Cpp_en
V
Ingress ACL: Permit (Default) Lbl_A 1
Features QoS: Mark[16][4] AggPolice Tcam[Bank0][16376] Lbl 1
V
FIB-L3 Key: 10.20.0.1 [No VPN]
| TCAM[30465] Adj 0x24001 dgt 0
V
Adjacency [FIB] L3_Enable Dec_Ttl ADJ[IP][0x24001]
V
EgressLIF 0x14 Vlan 20 IpMtu 1518[17] Base 0x0
V
Egress ACL: Permit (Default)
Features QoS: Default (Tcam_Lkup_Disabled)
V
Rewrite [FIB] L2_RW[0]: 0013.5f1c.0980 -> 0000.0000.1020 Dec_Ttl
| CCC 4
| RIT[0x24001]
V
_______________________________________________________________
数据包包含捕获的数据包的基本特征,包括第2层信息(MAC地址、VLAN、CoS、IEEE 802.1Q(Dot1Q)报头、数据包大小)、第3层信息(IP地址、差分服务代码点(DSCP)/服务类型(TOS)、生存时间(TOS)TTL))和第4层信息(端口、标志、协议名称)。
其余输出对应于转发决策数据,其描述如下:
- 功能(入口/出口) — 指定是否对数据包应用了任何ACL/QOS策略以及影响(在本例中,在入口上,ACL是默认值,QoS是标记,在出口上,会执行默认操作)。
- FIB-L3/邻接/重写 — 对应于对数据包做出的转发决策。在本示例中,存储在条目0x24001下的邻接条目表示TTL必须减少(Dec_Ttl)。 如果适用,MAC地址中的目标地址也会发生更改。
QoS数据包流
QoS Packet Flow
---------------
Packet TCP(6)[len=64]R: 10.10.0.1 -> 10.20.0.1
| Ports: 1000 -> 2000 [ACK 0x10] Dscp/Tos 46/0xB8 Ttl 64
| RouterMAC 0013.5f1c.0980 SMAC 0000.0000.1010
| Vlan 10 CoS 5 1q 1
V
Te1/4[3] Ingress_Lif 0xA Vlan 10 Cos_In 5
| Portmap [Trust Dscp Port_Acos_Id 0 Qos_En 1]
| ILM 0x6900A Lif_Sel 3 Lif_base 0x69000
| Qos_En 1 Plcr_Base 0 L2_Cos_Sel Cos(1)
V
Ingress TCAM_IDX [16376] Label 1
Features TCAM_RSLT: Lo 0x0021100B Hi 0x00002010
| Mrking [Mark(Acos_Sel 4) Acos 16 Mark_En 1]
| AgPlcr [Id 4096 Cfg_Id 1]
V
IFE PL Acos 16 Mark_En RW(01)
| AgPlcr: Id 4096 Cfg 1 Apply 1 Apply_Stats 1 Drop_En 0
| Marking (Excd_Lo 0 Excd_Hi 0)
V
Adjacency RI 3
V
EgressLif Vlan 20
| Qos_En 0 Plcr_Base 0 L2_Cos_Sel Cos(1)
V
Egress Default (QoS Disabled)
Features
V
RIT Cos 2 Acos 16 Dscp/Tos 16/0x40
| CCC L3_REWRITE(4)
V
_______________________________________________________________
请参阅设备接收且CoS=5和Dscp=46的数据包。数据包以CoS=2和DSCP=16的形式发送,并执行重写数据包中DSCP数据的操作(L3_REWRITE)。 此更改由指向数据包注释活动(标记Acos=16,Mark_En 1)和ID=4096的默认监察器(AgpPlcr = 4096)的入口功能完成。
进一步的检查表明,此默认监察器不对流量进行管制,而是转发DSCP=16的所有已接收数据包,该数据包通过称为MAP的策略映射完成。
6500#show platform qos ip te1/4
[In] Policy map is MAP [Out] Default.
QoS Summary [IPv4]: (* - shared aggregates, Mod - switch module, E - service instance)
(^ - class-copp keyword)
Int Mod Dir Class-map DSCP Agg Trust Fl AgForward AgPoliced
Id Id
-------------------------------------------------------------------------------
Te1/4 1 In class-defa 16 4096 No 0 25561664 0
注意:此示例显示基本数据包转发场景。如果有更高级的流,将显示处理这些特定场景的其他部分/字段。
验证
当前没有可用于此配置的验证过程。
故障排除
本部分提供了可用于对配置进行故障排除的信息。
命令输出解释程序工具(仅限注册用户)支持某些 show 命令。使用输出解释器工具来查看 show 命令输出的分析。
注意:使用 debug 命令之前,请参阅有关 Debug 命令的重要信息。
- all — 配置数据包捕获以同时捕获基本转发和QoS转发决策(作为两个当前实施的流类型),
- vty — 允许在用户通过telnet/ssh记录时显示输出(从控制台运行命令时不需要这样做)
- release-elam — 删除之前配置的触发器
- ingress-interface/slot — 允许选择将捕获数据包的模块/接口。
- cos -允许您选择将捕获的数据包的COS值。
- pkt-length允许您指定要捕获的数据包的大小。
- 数据包数据 — 提供非常灵活的方法来选择需要捕获的数据包特征。
相关信息