我们做特殊的硬件configuration,需要大量使用LLDP。 我们有几个新的服务器机架都使用Intel X710 10Gb网卡。 LLDP突然停止工作。 我们的LLDP实施很简单。 使用默认TLV在TOR(机架顶部)交换机上启用LLDP。 使用lldpad(CentOS 6.5)在Linux映像上启用LLDP,并使用lldptool提取邻居信息,这些信息过去曾经用于数千台机器。 只有这些具有这些NIC的机器,整个事情才停止工作。
从交换机和服务器使用数据包转储表明,从服务器正确地将帧发送到交换机,相反,交换机正确地从服务器接收帧,并将TLV帧发送回服务器。 虽然服务器没有收到交换机框架TLV,但让我们挠头。 我们在TOR上放置了其他使用不同网卡的机器,并按照预期获得了LLDP数据。
我问了谷歌
根据这个链接 ,似乎这些X710s可能正在运行一个内部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代理的方法不起作用。 尽pipe如此,我还在挖掘,但我想我有几个select:
有没有其他人遇到过这些卡相同或类似的问题,如果是的话,你是如何解决这个问题的?
我认为,如果我想使用内部代理数据,它会暴露通过ethtool或snmp ,但我一直没有find一种方法来expression信息。
TIA
编辑logging,当我尝试在英特尔论坛中概述的步骤时,我得到以下输出:
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
好。 所以谷歌为我来了。 以下是如何解决这个问题。
原来,为了使用debugging文件系统,它需要先安装。 我们使用memfs操作系统在我们正在debugging的机器上运行命令,默认情况下我们不会安装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
其他有用的链接:
https://communities.intel.com/thread/87759 https://sourceforge.net/p/e1000/mailman/message/34129092/
和我的谷歌search
创build一个初始化脚本来启动一台机器。 任何拉请求赞赏。
如果有人知道如何知道embedded的lldp代理的状态,将不胜感激。 这可以适应系统与一些更好的退出代码。