Centos6

禁用內部 Intel X710 LLDP 代理

  • May 17, 2021

我們進行需要大量使用 LLDP 的特殊硬體配置。我們有一些新的伺服器機架,它們都使用 Intel X710 10Gb 網卡。LLDP 突然停止工作。我們的 LLDP 實現很簡單。使用預設 TLV 在 TOR(機架頂部)交換機上啟用 LLDP。使用 lldpad (CentOS 6.5) 在 Linux 映像上啟用 LLDP,並使用 lldptool 提取鄰居資訊,這在過去已在數千台機器上執行。只是,對於這些帶有這些 NIC 的機器,整個事情就停止了工作。

使用來自交換機和伺服器的數據包轉儲表明,幀已從伺服器正確發送到交換機,相反,交換機正在正確接收來自伺服器的幀並將 TLV 幀發送回伺服器。但是,伺服器沒有收到交換幀 TLV,這讓我們摸不著頭腦。我們在 TOR 上放置了使用不同 NIC 的其他機器,它們按預期獲取 LLDP 數據。

我問Google…

根據此連結,這些 X710 似乎正在執行內部 LLDP 代理,該代理正在攔截來自交換機的 LLDP 幀。我們看到發生這種情況的受影響機器上的韌體是:

# ethtool -i eth2
driver: i40e
version: 1.3.47
firmware-version: 4.53 0x80001e5d 17.0.10
bus-info: 0000:01:00.2
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes

在 NIC 上禁用內部 LLDP 代理的方法不起作用。儘管如此,我仍在探勘,但我想我有幾個選擇:

  1. 找到正確的方法來禁用 NIC 上的內部 LLDP 代理,並使用現有方法在這些機器上提取 LLDP 數據 - 首選。
  2. 使用 NIC LLDP 代理並找到一種從 NIC 中提取鄰居 TLV 的方法。

是否有其他人在使用這些卡時遇到過相同或類似的問題,如果有,您是如何解決這個問題的?

我想如果我想使用內部代理數據,它將通過ethtoolor公開snmp,但我還沒有找到一種方法來顯示資訊。

TIA

編輯 作為記錄,當我嘗試英特爾論壇中概述的步驟時,我得到以下輸出:

root@host (~)# find /sys/kernel/debug/
/sys/kernel/debug/
root@host (~)# mkdir /sys/kernel/debug/i40e
mkdir: cannot create directory `/sys/kernel/debug/i40e': No such file or directory

好的。所以穀歌幫我解決了。以下是解決問題的方法。

事實證明,為了使用調試文件系統,需要先掛載它。我們使用 memfs 作業系統在我們正在調整的機器上執行命令,預設情況下我們不掛載 debugfs。所以這個腳本給了我需要的答案。

…並且我的案例的以下步驟有效:

root@host (~)# mount -t debugfs none /sys/kernel/debug
root@host (~)# echo lldp stop > /sys/kernel/debug/i40e/0000:01:00.2/command

產生:

root@host (~)# lldptool -i eth2 stat
Total Frames Transmitted        = 1834
Total Discarded Frames Received = 0
Total Error Frames Received     = 0
Total Frames Received           = 1
Total Discarded TLVs            = 0
Total Unrecognized TLVs         = 0
Total Ageouts                   = 0
root@host (~)# lldptool -t -n -i eth2
Chassis ID TLV
   MAC: ec:13:db:41:63:00
Port ID TLV
   Local: 508
Time to Live TLV
   120
System Name TLV
   sw1
System Description TLV
   Juniper Networks, Inc. qfx5100-48s-6q Ethernet Switch, kernel JUNOS 13.2X51-D38, Build date: 2015-06-12 02:33:47 UTC Copyright (c) 1996-2015 Juniper Networks, Inc.
System Capabilities TLV
   System capabilities:  Bridge, Router
   Enabled capabilities: Bridge, Router
Port Description TLV
   xe-0/0/0
MAC/PHY Configuration Status TLV
   Auto-negotiation not supported and not enabled
   PMD auto-negotiation capabilities: 0x8000
   MAU type: Unknown [0x0000]
Link Aggregation TLV
   Aggregation capable
   Currently not aggregated
   Aggregated Port ID: 0
Maximum Frame Size TLV
   1514
Port VLAN ID TLV
   PVID: 1
Unidentified Org Specific TLV
   OUI: 0x009069, Subtype: 1, Info: 564633373136303530303437
VLAN Name TLV
   VID 1: Name vlan-1
LLDP-MED Capabilities TLV
   Device Type:  netcon
   Capabilities: LLDP-MED, Network Policy, Location Identification, Extended Power via MDI-PSE
End of LLDPDU TLV

其他有用的連結:

http://comments.gmane.org/gmane.linux.network/408868 https://communities.intel.com/thread/87759 https://sourceforge.net/p/e1000/mailman/message/34129092/

還有我的Google搜尋

引用自:https://serverfault.com/questions/775980