pcie虚拟网卡驱动总结

pcie虚拟网卡驱动总结,第1张

项目需要使用pcie进行固件升级,为了适配原来的协议和应用,从pcie虚拟一个网卡出来进行升级。

因为Linux 内核本身已经含有了对TCP/IP协议栈的支持,最直接的方法就是开发一个基于PCI-E的虚拟网卡,这样有了IP地址,就可以通过TCP/IP协议栈进行通讯的了。

虚拟网卡的接口要求很简单,只要能够把协议栈送下来的IP包写到PCI-E的地址空间,即从虚拟网卡发送出去了;同时也能将其它虚拟网卡发送到PCI地址空间的IP包读出来,并送到上层协议栈上。虚拟网卡的接口要求很简单,只要能够把协议栈送下来的IP包写到PCI-E的地址空间,即从虚拟网卡发送出去了;同时也能将其它虚拟网卡发送到PCI地址空间的IP包读出来,并送到上层协议栈上。

其实这个过程就是把pcie共享内存看作网络phy,实现基于PCI共享内存的网卡设备驱动程序,这样就提供了TCP/IP协议栈中的数据链路层。而Linux内核中的网络子系统被设计成完全与协议无关。内核与网络驱动程序之间的交互,每次处理的是一个网络数据包;协议隐藏在驱动程序之后。这样应用程序就可以通过TCP/IP协议与网络上其他节点进行通讯了。

题主是否想询问“红帽系统安装pcie时为什么提示错误2”?系统出错。红帽系统安装pcie时因为系统出错,所以提示错误,红帽系统是美国红帽子公司生产的Linux,即RedHatEnterprise、Fedora,红帽子公司是一家出售基于开放源代码Linux *** 作系统的软件和服务的老牌公司。

LLDP 可以让你准确的知道服务器所连接的交换机端口号。

LLDP是一种工业标准协议,用于取代EDP或CDP等专用链路层协议。LLDP的目标是提供一个inter-vendor兼容机制,向相邻网络设备发送链路层通知。

lldpd是一个LLDP协议的一种实现,给各种Unixes使用。除此之外,它还支持一些专有协议。

实现交换机端口的抓取,目前我知道的有两种工具,一种是lldpad,另一种是lldpd。

这两个工具做了一下对比,最终选择了lldpd。原因如下:

lldpad: https://github.com/jrfastab/lldpad

lldpd: https://github.com/vincentbernat/lldpd

通过对比可以看到lldpad最近一次更新,已经是5年前了。而lldpd的最近一次更新在本月。

lldpd可以将输出的信息转化为json格式,非常方便使用。

需要先配置好配置好epel-release源,然后直接yum安装即可。

安装好之后,你可以修改/etc/sysconfig/lldpd文件,来配置一些参数。

lldpd有两个模块。一个是lldpd的后台程序,用于接收和发送LLDP报文;一个是lldpcli用来查询和配置后台程序的工具。

将上述命令,加上 -f json 可以转变输出结果。这个功能非常有用,有利于自动化处理这些数据。

使用x722 LOM,当lldpad启动时,lldptool -L adminStatus = rxtx -i <interface name>然后lldptool -tni <interface name>运行时,NIC端口连接到启用了LLDP的交换机,不会返回LLDP信息。 (其中LLDP =链路层发现协议)

运行commnand " echo lldp stop >/ sys / kernel / debug / i40e / <PCIe路径>/ command" .由于LOM没有FCoE功能,没有DCBx要求,所以没有真正的功能影响。 (FCoE =以太网光纤通道)

根据Intel设计,x722适配器默认处理所有LLDP流量,LLDP流量将不会转到主机CPU,除非使用在x722中停止LLDP功能的命令。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6058253.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存