热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

i40e驱动卸载_IntelX700系列网卡(i40e驱动)看不到LLDP邻居收不到LLDP包

1、部署完服务器后,在服务器上将LLDP打开,想通过LLDP去排查服务器与交换机的网线、光纤有没有连接错误,但是发现服务器的电口网卡(In

1、部署完服务器后,在服务器上将LLDP打开,想通过LLDP去排查服务器与交换机的网线、光纤有没有连接错误,但是发现服务器的电口网卡(Intel X700系列网卡)无法正常显示LLDP邻居,就怀疑是网卡配置的问题。

[[email protected] ~]# lspci |grep net

18:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]

18:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]

3d:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)

3d:00.1 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)

3d:00.2 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)

3d:00.3 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)

5f:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]

5f:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]

2、为了进一步定位问题,我们在异常接口上去通过tcpdump去抓包只能抓到服务器往外发的LLDP报文,没有抓到交换机发下来的报文。然后检查交换机配置后在交换机上debug,发现交换机接口有LLDP报文的收发,所以进一步判断是服务器网卡处理的问题。

[[email protected] ~]# tcpdump -i enp61s0f1 |grep -i LLDP

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on enp61s0f1, link-type EN10MB (Ethernet), capture size 262144 bytes

11:27:38.357788 LLDP, length 262: BCONEST-X86-MON02

11:28:08.401968 LLDP, length 262: BCONEST-X86-MON02

11:28:38.445474 LLDP, length 262: BCONEST-X86-MON02

11:29:08.489210 LLDP, length 262: BCONEST-X86-MON02

11:29:38.533460 LLDP, length 262: BCONEST-X86-MON02

11:30:08.579707 LLDP, length 262: BCONEST-X86-MON02

11:30:38.624087 LLDP, length 262: BCONEST-X86-MON02

11:31:08.668239 LLDP, length 262: BCONEST-X86-MON02

11:31:38.712726 LLDP, length 262: BCONEST-X86-MON02

3、经过不懈的搜索,在Radhat知识库发现了问题的所在,Intel X710 series NICs (i40e) do not receive LLDP frames

Intel 700 series NICs run an LLDP agent in firmware that will process and “absorb” any LLDPDU frames received from the switch. The frames are therefore never visible to the OS.

Intel 700 系列网卡在固件中会运行一个LLDP agent,这个agent会处理所有从交换发出的LLDP报文,这样在操作系统层面就再也看不到这个报文了。

解决方案:

Radhat提供了两个解决方案

①当Kernel版本大于等于kernel-3.10.0-957.el7,可以调用ethtool --set-priv-flags eth0 disable-fw-lldp on通知网卡驱动关闭内置的LLDP agent。

ethtool --set-priv-flags disable-fw-lldp on

ethtool --set-priv-flags disable-fw-lldp on

②内核版本低或第一种方案不生效是可以通过该方法关闭,但是这种方法重启会失效。

echo "lldp stop" > /sys/kernel/debug/i40e//command

echo "lldp stop" > /sys/kernel/debug/i40e/0000\:3d\:00.0/command #开启0口

echo "lldp stop" > /sys/kernel/debug/i40e/0000\:3d\:00.1/command #开启1口

4、检查lldp信息是否能正常显示。

[[email protected] ~]# echo "lldp stop" > /sys/kernel/debug/i40e/0000\:3d\:00.0/command

[[email protected] ~]# lldptool -t -n -i enp61s0f1

Chassis ID TLV

MAC: 00:01:7a:6a:02:15

Port ID TLV

Ifname: gigabitethernet2/0/44

Time to Live TLV

120

Port Description TLV

dT:[BCONEST-X86-MON02]-eno4-bond0-10.194.220.2

System Name TLV

ZJNB-PSC-P10F2-POD3-M-JR-4320-3&4

System Description TLV

MyPower (R) Operating System Software

Copyright (C) 2020 Maipu Communication Technology Co.,Ltd.All Rights Reserved.

System Capabilities TLV

System capabilities: Bridge, Router

Enabled capabilities: Bridge, Router

Management Address TLV

IPv4: 10.0.0.40

Ifindex: 4

Port VLAN ID TLV

PVID: 1

Port and Protocol VLAN ID TLV

PVID: 0, supported, not enabled

VLAN Name TLV

VID 1200: Name VLAN1200

MAC/PHY Configuration Status TLV

Auto-negotiation supported and enabled

PMD auto-negotiation capabilities: 0x009b

MAU type: 1000 BaseTFD

Power via MDI TLV

Port class PD

PSE MDI power not supported

PSE pairs not controllable

PSE Power pair: unkwown [0]

Power class 1

Link Aggregation TLV

Aggregation capable

Currently not aggregated

Aggregated Port ID: 0

Maximum Frame Size TLV

9216

End of LLDPDU TLV



推荐阅读
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • MATLAB函数重名问题解决方法及数据导入导出操作详解
    本文介绍了解决MATLAB函数重名的方法,并详细讲解了数据导入和导出的操作。包括使用菜单导入数据、在工作区直接新建变量、粘贴数据到.m文件或.txt文件并用load命令调用、使用save命令导出数据等方法。同时还介绍了使用dlmread函数调用数据的方法。通过本文的内容,读者可以更好地处理MATLAB中的函数重名问题,并掌握数据导入导出的各种操作。 ... [详细]
author-avatar
hustjs
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有