目錄

簡介

1. 背景資料

2. 排除資料包流故障（FEX ->控制器）

2.1. FEX

2.1.1.介面計數器

2.1.2.資料包捕獲

2.1.3.資料包重定向至FEX CPU。

2.2.控制器

2.2.1. MAC地址表

2.2.2.資料包捕獲

2.2.3.拉丁美洲地區

資料包流故障排除（控制器-> FEX）

3.1.控制器

3.1.1.資料包捕獲

3.1.2.拉丁美洲地區

3.2. FEX

3.2.1.資料包重定向至FEX CPU。

4. 摘要

簡介

本文說明如何對Catalyst 6500/6880系列即時接入網路中的資料包轉發進行故障排除。

1. 背景資料

建議使用者充分瞭解基於即時接入網路的設計、VNTAG格式和資料包轉發邏輯。

有關Catalyst 6500/6880即時接入的即時接入架構的其他資訊，請訪問：

Cisco Catalyst即時接入解決方案白皮書

已對此拓撲進行了所有進一步分析：

警告：此處所述的步驟僅在實驗室設定中運行或在Cisco TAC工程師的直接監督下運行。

要成功運行此處顯示的某些命令，請在Cisco Catalyst 6500/6880控制器上啟用「service internal」（隱藏命令），解鎖一些隱藏/TAC特定命令：

6880#configure terminal

6880(config)#service internal

啟用對FEX的完全訪問（內部服務是必需的）的指定分鐘數：

6880#test platform software console fex <fex-id> enable timeout <minutes>

2. 排除資料包流故障（FEX ->控制器）

在本節中，資料包從即時接入/FEX（交換矩陣擴展器）介面（連線到Gi1/0/1的主機）流到Cisco Catalyst 6500/6880系列控制器，其中描述了最終資料包轉發決策。

2.1. FEX

要確定FEX入口介面(Gi1/0/1)上是否收到資料包，可使用以下方法：

2.1.1.介面計數器

生成資料包數並驗證這些資料包在FEX上是否可見：

6880#show int gi101/1/0/1 | in packets input

101 packets input, 151894 bytes, 0 no buffer

6880#show counters interface gi101/1/0/1  delta | in InPackets|InUcastPkts|InMcastPkts

1.                          InPackets = 104

3.                        InUcastPkts = 102

4.                        InMcastPkts = 2

注意：根據設計，FEX上的MAC地址表始終為空，因為MAC學習僅發生在控制器上。

2.1.2.資料包捕獲

如果需要從FEX捕獲資料包以進行進一步的故障排除，則可以在FEX上直接配置SPAN會話（以便在FEX自身上執行資料包複製）。主要要求是SPAN目的地連線到SPAN來源的FEX相同：

6880#attach fex 101

Attach FEX:101 ip:192.168.1.101

Trying 192.168.1.101 ... Open

User Access Verification

Password: cisco

FEX-101>enable

Password: cisco

FEX-101#conf t

FEX-101(config)#monitor session 1 source interface gi1/0/1

FEX-101(config)#monitor session 1 destination interface gi1/0/2

此設定與直接在6880上以這種方式設定封包擷取（即SPAN作業階段）的案例不同：

6880#configure terminal

6880(config)#monitor session 1 source interface gi101/1/0/1

6880(config)#monitor session 1 destination interface gi101/1/0/2

在FEX上配置資料包捕獲後，FEX自身也會進行資料包複製，如果FEX和控制器之間出現通訊問題，則目標埠上也會觀察到資料包。如果直接在6880上配置資料包捕獲（請參閱第二個示例），則控制器自身上將進行資料包複製，如果控制器與FEX之間存在通訊問題，則可能導致錯誤分析。使用此方法，SPAN目的地可以連線到任何連線埠(FEX)。

這可以透過兩種情況下檢查6880上的複製SPAN計數器來確認。

直接在FEX上配置SPAN會話-所有等於0的計數器：

6880#clear platform hardware capacity rewrite-engine counter

Clear rewrite-engine counter for both switches [confirm]

6880#sh platform hardware capacity rewrite-engine performance  | in SPAN RX

1/5  0       0x210   SPAN RX 0            0                    0

1/5  0       0x211   SPAN RX 1            0                    0

(...)

直接在控制器上設定的SPAN作業階段-計數器對應於複製封包的數目。在入口控制器模組上執行複製，該模組不必屬於活動的VSS機箱。（示例：機箱2/模組5）。

6880#clear platform hardware capacity rewrite-engine counter

Clear rewrite-engine counter for both switches [confirm]

6880#sh platform hardware capacity rewrite-engine performance  | in SPAN RX

(...>

2/5  0       0x211   SPAN RX 1            0                    0

2/5  1       0x210   SPAN RX 0            0                    0

2/5  1       0x211   SPAN RX 1            0                    0

2/5  2       0x210   SPAN RX 0            102                  0

(...)

2.1.3.資料包重定向至FEX CPU。

點2中提供的SPAN替代方法是將資料包重定向到FEX CPU。使用log語句建立ACL並將其附加到入口介面（在本場景中：Gi1/0/1）上，然後運行debug命令捕獲這些資料包。 這還允許收集有關FEX上的資料包轉發決策的其他詳細資訊。

注意：如果資料包過多，此調試也會導致控制器交換機上的CPU使用率過高。

注意：如果存在即時接入交換機堆疊，需要在受監控埠的本地交換機上運行調試。透過運行命令「session where switch-no recording to switch number(session)」，登入到堆疊中的另一台交換機（例如，介面gi2/0/1，交換機-no為2；介面5/0/11，交換機-no為5，依此類推）。

6880#attach fex 101

Attach FEX:101 ip:192.168.1.101

Trying 192.168.1.101 ... Open

User Access Verification

Password: cisco

FEX-101>en

Password: cisco

FEX-101#conf t

FEX-101(config)#access-list 100 permit ip host 10.0.0.2 host 10.0.0.1 log

FEX-101(config)#access-list 100 permit ip any any

FEX-101(config)#int gi1/0/1

FEX-101(config-if)#ip access-group 100 in

!

FEX-101#debug platform cpu-queues logging-q

當主機生成資料包時，資訊將增加到日誌記錄緩衝區，日誌記錄緩衝區提供資料包特徵（例如，源和目標MAC地址、源和目標IP地址）、資料包轉儲和內部資料包特徵。

Jun  7 14:05:23.059: Pak recvd on LOGGING-Q: Local Port Fwding L3If: L2If:GigabitEthernet1/0/1 DI:0x1E19, LT:7, Vlan:10   SrcGPN:1, SrcGID:1, ACLLogIdx:0x1, MacDA:0000.0000.0001, MacSA: 0000.0000.0002   IP_SA:10.0.0.2 IP_DA:10.0.0.1 IP_Proto:1  (FEX-101)

TPFFD:F3800001_000A400A_01A00076-00011E19_5F5F0000_00002001 (FEX-101)

(FEX-101)

Jun  7 14:05:23.059: Raw FEX packet Dump: (FEX-101)

Jun  7 14:05:23.059: 00 00 00 00 00 01 00 00 00 00  (FEX-101)

Jun  7 14:05:23.059: 00 02 08 00 45 00 00 64 04 D3  (FEX-101)

Jun  7 14:05:23.059: 00 00 FF 01 A2 C3 0A 00 00 02  (FEX-101)

Jun  7 14:05:23.059: 0A 00 00 01 08 00 42 9D 00 13  (FEX-101)

Jun  7 14:05:23.062: 00 00 00 00 00 00 38 96 03 04  (FEX-101)

要驗證轉發的決定，請運行此檢查（基於此日誌中提供的DI -目標索引，其中St1和St2對應於堆疊埠，Te1/0/1和Te1/0/2是屬於埠通道的上行鏈路）：

FEX-101#show platform port-asic dest-map index 0x1E19

Ports: Te1/0/1 St1 Te1/0/2 St2

若要判斷從連線埠通道到控制器使用的是哪個連線埠（其編號透過執行命令「show etherchannel summary」來確認），請使用此方法。（此範例適用於IP封包，在使用非IP的情況下，會使用MAC位址）：

FEX-101#show etherchannel load-balance

EtherChannel Load-Balancing Configuration:

src-dst-ip

EtherChannel Load-Balancing Addresses Used Per-Protocol:

Non-IP: Source XOR Destination MAC address

IPv4: Source XOR Destination IP address

IPv6: Source XOR Destination IP address

!

FEX-101#test etherchannel load-balance interface po1 ip 10.0.0.2 10.0.0.1

Would select Te1/0/2 of Po1

傳送到控制器的封包已新增VNTAG，以反映輸入介面。為了確定此值，請按照以下方法操作（對介面Gi1/0/1使用VIF+1）：

FEX-101#show platform fex ucast-entries

vif   sw_idb            portname             GPN   handle    res_index

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

1     0x5CAC278   GigabitEthernet1/0/1       1     0x5        0x30F0000

2.2.控制器

封包到達控制器時，入口轉送引擎會進一步處理封包，並進一步決定如何處理封包。

例如，根據在點2.1中提供的分析，資料包透過介面Te1/0/2離開FEX。要確定另一端連線的控制器介面，請使用此命令：

6880#show fex infra | in FEX Uplink|FLGS

FLGS:

Te1/5/13, FLGS: 0x3F

FEX Uplink: Te1/0/1

Te2/5/13, FLGS: 0x1F

FEX Uplink: Te1/0/2

封包是在連線埠Te2/5/13上接收的，因此可以進行以下檢查：

2.2.1. MAC地址表

當在控制器上收到資料包時，會進行MAC地址學習，並且會在所有模組上學習主機MAC地址（這僅顯示了來自活動Supervisor的一個示例）：

6880#show mac address-table interface gi101/1/0/1

Legend: * - primary entry

age - seconds since last seen

n/a - not available

S - secure entry

R - router's gateway mac address entry

D - Duplicate mac address entry

Displaying entries from active supervisor:

vlan   mac address    type   learn    age                 ports

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

*      10 0000.0000.0002  dynamic  Yes       10     Gi101/1/0/1

(...)

2.2.2.資料包捕獲

如第2.1.2點所述，在控制器上資料包捕獲的配置方式如下：

6880#configure terminal

6880(config)#monitor session 1 source interface gi101/1/0/1

6880(config)#monitor session 1 destination interface gi101/1/0/2

如果資料包在目標介面上可見，則表明資料包已成功從FEX傳送到控制器。

除了標準SPAN作業階段之外，還可以設定內部封包擷取，以便將封包擷取到內部緩衝區：

6880(config)#monitor session 1 type capture

6880(config-mon-capture)#source interface gi101/1/0/1

!

6880#monitor capture start

%SPAN-SW1-5-PKTCAP_START: Packet capture session 1 started

6880#show monitor capture buffer

1    IP: s=10.0.0.2 , d=10.0.0.1, len 100

2    IP: s=10.0.0.2 , d=10.0.0.1, len 100

3    IP: s=10.0.0.2 , d=10.0.0.1, len 100

4    IP: s=10.0.0.2 , d=10.0.0.1, len 100

(...)

有關此功能的詳細資訊，請參閱：迷你協定分析器

2.2.3.拉丁美洲地區

在Catalyst 6500/6880系列上，內建內部封包擷取(Internal Packet Capture)可提供控制器對封包所採取封包轉送決定的進一步洞察。

註：有關對6500/SUP2T和6880有效的ELAM的詳細資訊，請參閱帶Supervisor引擎2T的Catalyst 6500系列交換機的ELAM過程

當捕獲資料包時，確定資料包的來源（即，是否正確指向基於VIF對映完成的FEX介面），以及轉發資料包的位置。

在本示例中，在備用VSS機箱上收到資料包：

第一次登入時，

6880#remote login standby

Trying Switch ...

Entering CONSOLE for Switch

Type "^C^C^C" to end this session

User Access Verification

Password:

6880-sdby#^e

Standby console enabled

執行ELAM：

6880-sdby#show platform capture elam asic eureka slot 5

Assigned asic_desc=eu50

6880-sdby#show platform capture elam trigger master eu50 dbus dbi ingress ipv4 if ip_sa = 10.0.0.2

6880-sdby#show platform capture elam start

cap_commands: Default ELAM RBI PB1 added to list

當資料包從主機傳送並到達入口轉發引擎時（在我們的案例中為chassis-2上的eu50），將觸發捕獲並獲取資料量(&colon)；

6880-sdby#sh platform capture elam status

ELAM Mode: local

ID#    Role  ASIC     Slot  Inst  Ver  ELAM       Status

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

eu50   M     EUREKA   5     0     1.3  DBI_ING    Capture Completed

eu50   s     EUREKA   5     0     1.3  RBI_PB1    Capture Completed

ID#    ELAM       Trigger

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

eu50   DBI_ING    FORMAT=IP L3_PROTOCOL=IPV4 IP_SA = 10.0.0.2

eu50   RBI_PB1    TRIG=1

!

6880-sdby#show platform capture elam data | in IP_SA|IP_DA|SMAC|DMAC|SRC_INDEX|DEST_INDEX|data

DBUS data&colon;

SRC_INDEX ....................... [19] = 0x2000 [Po101[Te1/5/13,Te2/5/13],Gi101/1/0/1]

DEST_INDEX ...................... [19] = 0xC [Te1/1/13]

DMAC ............................ = 0000.0000.0001

SMAC ............................ = 0000.0000.0002

IP_SA ........................... = 10.0.0.2

IP_DA ........................... = 10.0.0.1

RBUS data&colon;

DEST_INDEX ...................... [19] = 0x380 [Switch/Router]

根據捕獲輸出，FEX的Gi101/1/0/1（DBUS SRC_INDEX欄位）上已接收到具有MAC/IP地址（如圖所示）的資料包，並透過控制器上配置的Po101將其傳遞給控制器。決定將此資料包轉發到VSS CPU （RBUS DEST_INDEX欄位）。

註：VIF和源索引之間的對映由VNTAG管理器完成並且可以檢查（在這種情況下，VIF=1用於在FEX上從埠Gi1/0/1傳遞單播幀；運行狀態始終為2，型別可以是單播或組播）：

6880#test platform software switch virtual vntag_mgr vif-map vif 1 detail

VIF INFO:

VIF#  1

Type  UNICAST VIF

LTL#  2000

OperStatus  #  2

資料包流故障排除（控制器-> FEX）

本節介紹從控制器Cisco Catalyst 6500/6880系列入口轉發引擎到即時接入/FEX（交換矩陣擴展器）介面的資料包流。

3.1.控制器

3.1.1.資料包捕獲

為確定Catalyst 6500/6880交換機是否成功接收資料包，使用標準方法排除獨立/VSS交換機的故障。這些方法包括封包擷取（SPAN作業階段等）。如需有關這些工具的詳細資訊，請參閱：

SPAN、RSPAN和ERSPAN

3.1.2.拉丁美洲地區

為了確定將轉發資料包的決策是否將其傳送到具有有效VIF識別符號的FEX，在控制器上為入口轉發引擎（即處理已接收資料包的介面的轉發引擎）執行資料包捕獲。

有關對6500/SUP2T以及6880有效的ELAM的詳細資訊，請訪問：

採用Supervisor引擎2T ELAM的Catalyst 6500系列交換機過程

在本例中，這是有效的ELAM配置。（當資料包源自CPU時，在觸發器中使用「shim」關鍵字；對於傳輸流量，不使用此關鍵字）：

6880#show platform capture elam asic eureka slot 5

6880#show platform capture elam trigger master eu50 dbus dbi ingress shim ipv4 if ip_sa = 10.0.0.1 ip_da=10.0.0.2

6880#sh platform capture elam start

6880#sh platform capture elam status

ELAM Mode: local

ID#    Role  ASIC     Slot  Inst  Ver  ELAM       Status

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

eu50   M     EUREKA   5     0     1.3  DBI_ING    Capture Completed

eu50   s     EUREKA   5     0     1.3  RBI_PB1    Capture Completed

ID#    ELAM       Trigger

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

eu50   DBI_ING    FORMAT=OTHERS SHIM_ETYPE=E8_SHIM_ETYPE                  ETYPE=IPV4_ETYPE IP_SA = 10.0.0.1 IP_DA=10.0.0.2

eu50   RBI_PB1    TRIG=1

以下是擷取的結果：

6880#show platform capture elam data | in IP_SA|IP_DA|SMAC|DMAC|SRC_INDEX|DEST_INDEX|data

DBUS data&colon;

SRC_INDEX ....................... [19] = 0x380 [Switch/Router,Po255[Te2/5/1,Te2/5/5,Te2/5/6]]

DEST_INDEX ...................... [19] = 0x0 [Te1/1/1]

DMAC ............................ = 0000.0000.0002

SMAC ............................ = 0000.0000.0001

IP_SA ........................... = 10.0.0.1

IP_DA ........................... = 10.0.0.2

IP_DATA [224]

RBUS data&colon;

DEST_INDEX ...................... [19] = 0x2000 [Po101[Te1/5/13,Te2/5/13],Gi101/1/0/1]

從CPU收到資料包（DBUS SRC_INDEX的交換機/路由器條目），轉發決策是透過Po101（連線控制器與FEX的埠通道）傳送資料包，然後透過FEX101上的介面Gi1/0/1傳送。

在此例中使用的VIF識別符號可以透過命令進行檢查，其中LTL值取自RBUS的DEST_INDEX欄位：

6880#test platform software switch virtual vntag_mgr vif-map ltl 0x2000 detail

VIF INFO:

VIF#  1

Type  UNICAST VIF

LTL#  2000

OperStatus  #  2

因為控制器上的輸出介面是port-channel，所以可以執行這些命令來確定使用的是哪個物理鏈路。

6880#show etherchannel load-balance

EtherChannel Load-Balancing Configuration:

src-dst-ip enhanced

mpls label-ip

EtherChannel Load-Balancing Mode on FEX Modules:

src-dst-ip

EtherChannel Load-Balancing Addresses Used Per-Protocol:

Non-IP: Source XOR Destination MAC address

IPv4: Source XOR Destination IP address

IPv6: Source XOR Destination IP address

MPLS: Label or IP

!

6880#test etherchannel load-balance interface po101 ip 10.0.0.1 10.0.0.2

Computed RBH: 0x3

Would select Te1/5/13 of Po101

3.2. FEX

對於從控制器收到資料包並要傳送到FEX主機介面的情況，對FEX進行故障排除的方法與第2部分中介紹的方法相同。提到的唯一差異與2.1.3 -資料包重定向到FEX CPU有關。

3.2.1.資料包重定向至FEX CPU。

有關此方法的詳細說明，請參考2.1.3節。

在本例中，為了捕獲從控制器接收的資料包，此配置在FEX上完成（如果介面最初被正確辨識，則將ACL附加到單個介面，如第3.1.2點所述）。

6880#attach fex 101

Attach FEX:101 ip:192.168.1.101

Trying 192.168.1.101 ... Open

User Access Verification

Password: cisco

FEX-101>en

Password: cisco

FEX-101#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

FEX-101(config)#access-list 100 permit ip host 10.0.0.1 host 10.0.0.2 log

FEX-101(config)#access-list 100 permit ip any any

FEX-101(config)#int te1/0/1

FEX-101(config-if)#ip access-group 100 in

FEX-101(config-if)#int te1/0/2

FEX-101(config-if)#ip access-group 100 in

FEX-101#debug platform cpu-queues logging-q

debug platform cpu-queue logging-q debugging is on

注意：如果存在即時接入交換機堆疊，那麼在擁有到控制器的上行鏈路的交換機上運行調試。透過運行命令「session where switch-no recording to switch number(session)」，登入到堆疊中的另一台交換機（例如，介面gi2/0/1，switch-no為2，介面5/0/11，switch-no為5，等等）。

當來自控制器的資料包成功傳送到FEX時，系統日誌中生成以下資訊：

Pak recvd on LOGGING-Q: Local Port Fwding L3If: L2If:TenGigabitEthernet1/0/1 DI:0x1F2A, LT:0, Vlan:10   SrcGPN:456, SrcGID:456, ACLLogIdx:0x1, MacDA:0000.0000.0002, MacSA: 0000.0000.0001   Non (IPv4/IPv6/ARP/RARP)

TPFFD:F38001C8_000A400A_01A00080-00011F2A_F5F50000_00002BFD

Jun  7 15:37:24.482: Raw FEX packet Dump:

Jun  7 15:37:24.482: 00 00 00 00 00 02 00 00 00 00

Jun  7 15:37:24.482: 00 01 89 26 80 01 0B FD 81 00

Jun  7 15:37:24.482: 00 0A 08 00 45 00 00 64 76 87

Jun  7 15:37:24.482: 00 00 FF 01 31 0F 0A 00 00 01

Jun  7 15:37:24.482: 0A 00 00 02 08 00 A9 FF 00 12

12位（與其對應的十六進位制值在即時接入白皮書中參照VNTAG資料包格式）對應到資料包自身中傳遞的目標VIF值。此值（更改為小數）與FEX上的退出點進一步互動參照。

此命令用於確定退出點：這將考慮單播VIF（請參閱第2.2.3點中有關VNTAG管理器的說明）。

FEX-101#sh platform fex ucast-entries

vif   sw_idb            portname             GPN   handle    res_index

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

1     0x5CAC278   GigabitEthernet1/0/1       1     0x5        0x30F0000

2     0x5CAE2E0   GigabitEthernet1/0/2       2     0x6        0x30F0000

(...)

對於組播流量，邏輯：

1)確定特定組播VIF的出口介面集。

FEX-101#sh platform fex mcast-entries

(...)

Entry : 2 =================

Mcast VIF = 3072 : destid = 0x23DF     : handle = 0x37       : result_index = 0x4D

DestId 23DF details with GPN list

index  next   flags cmi    #GPN GPN

0x23DF 0xFFFF 0x00  0x0000 3    1    2    464

(...)

在本例中，對於VIF=3072，選擇了三(3)個具有內部GPN編號的出口介面：1、2和464。 為了將這些內部GPN埠號轉換為物理介面，可以使用以下命令：

FEX-101#show platform pm if-numbers

interface gid  gpn  lpn  port slot unit slun port-type lpn-idb gpn-idb

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

Gi1/0/1   1    1    1    0/2  1    1    1    local     Yes     Yes

Gi1/0/2   2    2    2    0/1  1    2    2    local     Yes     Yes

(...)

Po2       464  464  0    16/0  9    2    2    local     No      No

這些輸出意味著組播目標VIF等於3072接收的資料包被轉發到介面：Gi1/0/1、Gi1/0/2和Port-channel 2。

4. 摘要

如果存在與fex相關的任何問題，這些命令輸出將收集並在打開TAC案例時增加到：

6880#show tech-support

6880#show tech-support fex infra

6880#attach fex <fex-id>

Password: cisco

FEX-101>en

Password: cisco

FEX-101#show tech-support