目錄

簡介

本檔案介紹如何對Nexus 9000 cloudscale系列上的鏈路聚合控制協定(LACP)進行故障排除。

必要條件

需求

思科建議您瞭解以下主題：

- LACP協定

- NXOS平台

- ELAM瞭解

- Ethanalyzer瞭解

採用元件

名稱

平台

版本

N9K1

N9K-C93108TC-EX

9.3(10)

N9K2

N9K-C93108TC-EX

9.3(10)

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

拓撲

檢驗LACP鏈路狀態

注意：映像1.1 LACP鏈路狀態。

配置LACP：

N9K1

N9K2

show run interface port-channel 1 membership

interface port-channel1

switchport

switchport mode trunk

interface Ethernet1/1

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

interface Ethernet1/2

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

show run interface port-channel 1 membership

interface port-channel1

switchport

switchport mode trunk

interface Ethernet1/1

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

interface Ethernet1/2

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

驗證埠通道狀態

N9K1

N9K2

sh port-channel summary interface port-channel 1

Flags:  D - Down        P - Up in port-channel (members)

I - Individual  H - Hot-standby (LACP only)

s - Suspended   r - Module-removed

b - BFD Session Wait

S - Switched    R - Routed

U - Up (port-channel)

p - Up in delay-lacp mode (member)

M - Not in use. Min-links not met

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

Group Port-       Type     Protocol  Member Ports

Channel

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

1     Po1(SU)     Eth      LACP      Eth1/1(P)

sh port-channel summary interface port-channel 1

Flags:  D - Down        P - Up in port-channel (members)

I - Individual  H - Hot-standby (LACP only)

s - Suspended   r - Module-removed

b - BFD Session Wait

S - Switched    R - Routed

U - Up (port-channel)

p - Up in delay-lacp mode (member)

M - Not in use. Min-links not met

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

Group Port-       Type     Protocol  Member Ports

Channel

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

1     Po1(SU)     Eth      LACP      Eth1/1(P)

註：最常見的故障場景是Nexus暫停介面，這在LACP暫停介面部分中介紹。

檢驗LACP掛起介面

sh port-channel summary interface port-channel 1

Flags:  D - Down        P - Up in port-channel (members)

I - Individual  H - Hot-standby (LACP only)

s - Suspended   r - Module-removed

b - BFD Session Wait

S - Switched    R - Routed

U - Up (port-channel)

p - Up in delay-lacp mode (member)

M - Not in use. Min-links not met

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

Group Port-       Type     Protocol  Member Ports

Channel

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

1     Po1(SD)     Eth      LACP      Eth1/1(s)

sh int e1/1 status

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

Port         Name           Status     Vlan    Duplex   Speed     Type

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

Eth1/1       --            suspended   trunk    auto     auto   10Gbase-SR

sh int e1/1

Ethernet1/1 is down (suspended(no LACP PDUs))

admin state is up, Dedicated Interface

Belongs to Po1

Hardware: 100/1000/10000/25000 Ethernet, address: 003a.9c08.68ab (bia 003a.9c08.68ab)

MTU 9216 bytes, BW 10000000 Kbit , DLY 10 usec

reliability 255/255, txload 1/255, rxload 1/255

<Snipped>

注意：當遇到這種情況時，Nexus沒有從合作夥伴接收LACP PDU，可以驗證LACP介面計數器，如上文所述：驗證LACP介面計數器或資料包捕獲(如LACP ELAM部分所述)。

檢驗LACP介面計數器

每台裝置必須以相同的速率傳送和接收LACPDU，埠通道才能啟動。

N9K1

N9K2

sh lacp counters interface port-channel 1

NOTE: Clear lacp counters to get accurate statistics

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

LACPDUs                      Markers/Resp LACPDUs

Port              Sent                Recv                  Recv Sent  Pkts Err

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

port-channel1

Ethernet1/1        445                  445                    0      0    0

Ethernet1/2        445                  445                    0      0    0

sh lacp counters interface port-channel 1

NOTE: Clear lacp counters to get accurate statistics

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

LACPDUs                      Markers/Resp LACPDUs

Port              Sent                Recv                  Recv Sent  Pkts Err

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

port-channel1

Ethernet1/1        445                  445                    0      0    0

Ethernet1/2        445                  445                    0      0    0

檢驗LACP執行器狀態位

在每個LACP PDU實施者中，合作夥伴和執行者之間交換狀態資訊。

活動

1：主動模式

0：被動模式

逾時

1：短超時

0：長超時

彙總

1：可聚合

0：個別

同步

1：同步

0：不同步

正在收集

1：已啟用收集

0：收集已停用

分佈

1：已啟用分發

0：已停用分發

已預設

1：使用合作夥伴的預設值

0：為合作夥伴使用rx LACPDU

已到期

1：合作夥伴PDU過期

0：未過期

注意：表2.0執行者狀態位元含義

檢驗LACP狀態十六進位制值：

注意：映象3.0 LACP狀態從二進位制轉換為十六進位制

驗證LAG ID

鏈路聚合識別符號是同一埠通道的每個物理介面成員共用的資訊，顯示為單個「虛擬介面」。可以使用命令進行驗證。

N9K1 LAG ID

N9K2 LAG ID

sh lacp interface e1/1 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-43-7f, 5, 8000, 1c9), (1770, a8-c-d-96-c9-bf, 5, 8000, 1c9)] ]

Local Port: Eth1/1 MAC Address=a8-c-d-96-c9-bf

sh lacp interface e1/2 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-43-7f, 5, 8000, 1ca), (1770, a8-c-d-96-c9-bf, 5, 8000, 1ca)] ]

Local Port: Eth1/2 MAC Address=a8-c-d-96-c9-bf

sh lacp interface e1/1 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-c9-bf, 5, 8000, 1c9),(1770, a8-c-d-96-43-7f, 5, 8000, 1c9)] ]

Local Port: Eth1/1 MAC Address=a8-c-d-96-43-7f

sh lacp interface e1/2 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-c9-bf, 5, 8000, 1c9),(1770, a8-c-d-96-43-7f, 5, 8000, 1c9)] ]

Local Port: Eth1/2 MAC Address=a8-c-d-96-43-7f

檢驗LACP PDU交換

在某些情況下，即使Nexus以正確的速率交換LACP PDU，埠通道也不會出現。

這可能是由於LACP協商失敗。

下表顯示了埠通道正常運行的正確LACP事務示例。

1

N9K1執行者

N9K2合作夥伴

- N9K1傳送LACP，其中包含具有狀態位的執行者資訊。

- 由於N9K1沒有收到來自合作夥伴的任何LACP PDU，因此合作夥伴資訊為0。

2

N9K1合作夥伴

N9K2執行者

- N9K2接收來自N9K1的資訊。

- N9K2向LACP PDU傳送其資訊並確認N9K1資訊。

3

N9K1執行者

N9K2合作夥伴

- N9K1確認N9K2資訊。

4

N9K1合作夥伴

N9K2執行者

- N9K2收到來自N9K1的確認。

- N9K2傳送LACP PDU，在1增加同步位。

5

N9K1執行者

N9K2合作夥伴

- N9K1確認來自N9K2的SYNC位。

- N9K1將位於1的SYNC位增加到LACP PDU。

6

N9K1合作夥伴

N9K2執行者

- 來自N9K1的N9K2 Acknoledge SYNC位。

- N9K2將1處的收集位增加到LACP PDU。

7

N9K1執行者

N9K2合作夥伴

- N9K1確認從N9K2收集位。

- N9K1將收集位增加到其LACP PDU。

8

N9K1執行者

N9K2合作夥伴

- N9K1決定已準備好轉換到分配狀態，因此它現在將「超時」位從1（快速）更改為0（慢），並將「分配」位設定為1。

9

N9K1合作夥伴

N9K2執行者

- N9k2確認N9k1 PDU並將其「超時」位從1更改為0，並將distribute bit設定為1。

- 目前，這兩個nexus都準備透過埠通道傳送資料。

10

N9K1執行者

N9K2合作夥伴

- N9K1確認來自N9K2的LACP PDU。

- 此時，埠通道將完全轉換到啟用狀態。

檢驗LACP FSM日誌

LACP有限狀態機具有專用的日誌，其中儲存了介面LACP狀態的所有事件，LACP PDU可在此日誌中找到：

sh lacp internal info interface e1/1 detail fsmlog

在新版本上，您也可以使用：

sh lacp internal event-history interface e1/1

第一部分介紹介面LACP轉換

>>>>FSM: <Ethernet1/1> has 61 logged transitions<<<<<

<Snipped>

58) FSM:<Ethernet1/1> Transition at 127198 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_RECEIVE_PATH]

Triggered event: [LACP_EV_PORT_RECEIVE_PATH_ENABLED_AS_CHANNEL_MEMBER_MESSAGE]

Next state: [LACP_ST_PORT_MEMBER_RECEIVE_ENABLED]

59) FSM:<Ethernet1/1> Transition at 127227 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_PORT_MEMBER_RECEIVE_ENABLED]

Triggered event: [LACP_EV_PARTNER_PDU_IN_SYNC_COLLECT_ENABLED_DISTRIBUTING_DISABLED]

Next state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_TRANSMIT_PATH]

60) FSM:<Ethernet1/1> Transition at 128265 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_TRANSMIT_PATH]

Triggered event: [LACP_EV_PERIODIC_TRANSMIT_TIMER_EXPIRED]

Next state: [FSM_ST_NO_CHANGE]

61) FSM:<Ethernet1/1> Transition at 134352 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_TRANSMIT_PATH]

Triggered event: [LACP_EV_PORT_HW_PATH_ENABLED]

Next state: [LACP_ST_PORT_MEMBER_COLLECTING_AND_DISTRIBUTING_ENABLED]

Curr state: [LACP_ST_PORT_MEMBER_COLLECTING_AND_DISTRIBUTING_ENABLED]
第二部分顯示已傳送或接收的所有LACP PDU資訊。
<Snipped>

(1) Send LACP PDU: len:110 at 492243 usecs after Tue Aug 15 00:02:13 2023

01010114 8000f8a7 3a393d6b 80008000 01013d00 00000214 8000f8a7 3a2ea30f

80008000 01013d00 00000310 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 0000

Actor:

info: (8000, f8-a7-3a-39-3d-6b, 8000, 8000, 101)

state:0x0f (Ac-1:To-1:Ag-1:Sy-1:Co-0:Di-0:De-0:Ex-0)

Partner:

info: (8000, f8-a7-3a-2e-a3-f, 8000, 8000, 101)

state:0x0f (Ac-1:To-1:Ag-1:Sy-1:Co-0:Di-0:De-0:Ex-0

(2) Recv LACP PDU: len:124 at 708749 usecs after Tue Aug 15 00:02:12 2023

0180c200 0002f8a7 3a2ea310 88090101 01148000 f8a73a2e a30f8000 80000101

3d000000 02148000 f8a73a39 3d6b8000 80000101 3d000000 03100000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000

Actor:

info: (8000, f8-a7-3a-2e-a3-f, 8000, 8000, 101)

state:0x0f (Ac-1:To-1:Ag-1:Sy-1:Co-0:Di-0:De-0:Ex-0)

Partner:

info: (8000, f8-a7-3a-39-3d-6b, 8000, 8000, 101)

state:0x07 (Ac-1:To-1:Ag-1:Sy-0:Co-0:Di-0:De-0:Ex-0)

注意：請注意，LACP PDU事件歷史記錄時間行從較新的日誌轉到較舊的日誌，但是LACP狀態事件歷史記錄時間行從較舊的日誌轉到較新的日誌。

配置和驗證LACP Ethanalyzer

LACP PDU需要由CPU處理（Cisco IOS軟體），nexus已安裝在硬體內部訪問清單中，可以將LACP資料包重定向到CPU，所有LACP PDU都可透過ethanalyzer進行觀察，以便使用wireshark過濾器「slow」對其進行過濾。

ethanalyzer local interface inband display-filter "slow and eth.addr==04:76:b0:b2:00:20 and eth.addr==01:80:c2:00:00:02" limit-captured-frames 0

Capturing on inband

2023-07-03 23:37:14.420839 04:76:b0:b2:00:20 -> 01:80:c2:00:00:02 LACP Link Aggregation Control ProtocolVersion 1. Actor Port = 257 Partner Port = 449

Detailed:

Frame 19 (124 bytes on wire, 124 bytes captured)

Arrival Time: Jul 3, 2023 23:38:14.425502000

[Time delta from previous captured frame: 0.836575000 seconds]

[Time delta from previous displayed frame: 11.246799000 seconds]

[Time since reference or first frame: 11.246799000 seconds]

Frame Number: 19

Frame Length: 124 bytes

Capture Length: 124 bytes

[Frame is marked: False]

[Protocols in frame: eth:slow]

Ethernet II, Src: 04:76:b0:b2:00:20 (04:76:b0:b2:00:20), Dst: 01:80:c2:00:00:02 (01:80:c2:00:00:02)

Destination: 01:80:c2:00:00:02 (01:80:c2:00:00:02)

Address: 01:80:c2:00:00:02 (01:80:c2:00:00:02)

.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)

.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

Source: 04:76:b0:b2:00:20 (04:76:b0:b2:00:20)

Address: 04:76:b0:b2:00:20 (04:76:b0:b2:00:20)

.... ...0 .... .... .... .... = IG bit: Individual address (unicast)

.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

Type: Slow Protocols (0x8809)

Link Aggregation Control Protocol

Slow Protocols subtype: LACP (0x01)

LACP Version Number: 0x01

Actor Information: 0x01

Actor Information Length: 0x14

Actor System Priority: 32768

Actor System: 04:76:b0:b2:00:1f (04:76:b0:b2:00:1f)

Actor Key: 32768

Actor Port Priority: 32768

Actor Port: 257

Actor State: 0x3d (Activity, Aggregation, Synchronization, Collecting, Distributing)

.... ...1 = LACP Activity: Yes

.... ..0. = LACP Timeout: No

.... .1.. = Aggregation: Yes

.... 1... = Synchronization: Yes

...1 .... = Collecting: Yes

..1. .... = Distributing: Yes

.0.. .... = Defaulted: No

0... .... = Expired: No

Reserved: 000000

Partner Information: 0x02

Partner Information Length: 0x14

Partner System Priority: 32768

Partner System: 70:0f:6a:d7:d0:fb (70:0f:6a:d7:d0:fb)

Partner Key: 32768

Partner Port Priority: 32768

Partner Port: 449

Partner State: 0x3d (Activity, Aggregation, Synchronization, Collecting, Distributing)

.... ...1 = LACP Activity: Yes

.... ..0. = LACP Timeout: No

.... .1.. = Aggregation: Yes

.... 1... = Synchronization: Yes

...1 .... = Collecting: Yes

..1. .... = Distributing: Yes

.0.. .... = Defaulted: No

0... .... = Expired: No

Reserved: 000000

Collector Information: 0x03

Collector Information Length: 0x10

Collector Max Delay: 0

Reserved: 000000000000000000000000

Terminator Information: 0x00

Terminator Length: 0x00

Reserved: 000000000000000000000000000000000000000000000000...

配置並檢驗LACP Elam

需要確定來自遠端介面的第一個MAC地址：

N9K2#sh int e1/1 | i i addr

Hardware: 1000/10000/25000/40000/50000/100000 Ethernet, address: 0476.b0b2.0020 (bia 0476.b0b2.0020)

現在，在nexus N9K1 elam上已配置。

N9K1#debug platform internal tah elam

N9K1(TAH-elam)#trigger init

N9K1(TAH-elam-insel6)#set outer l2 src_mac 04:76:b0:b2:00:20 dst_mac 01:80:c2:00:00:02 <<<<<Dest mac is mcast mac for LACP

N9K1(TAH-elam-insel6)#tart

N9K1(TAH-elam-insel6)#report

SUGARBOWL ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 1

============================Incoming Interface: Eth1/49

Src Idx : 0x601, Src BD : 1

Outgoing Interface Info: met_ptr 0Packet Type: CE

Dst MAC address: 01:80:C2:00:00:02

Src MAC address: 04:76:B0:B2:00:20

Sup hit: 1, Sup Idx: 2627. <<<<<Traffic needs to be punted to the CPU.

Drop Info:

----------LUA:

LUB:

LUC:

LUD:

Final Drops:vntag:

vntag_valid : 0

vntag_vir : 0

vntag_svif : 0

要解碼sup重定向索引，可以執行sh system internal access-list sup-redirect-stats：

sh system internal access-list sup-redirect-stats | i i 2627

2627 LACP 0

2627 LACP 103