【问题解决】Mellanox驱动加载报错Unknown symbol psample_sample_packet和tls_get_record以及tls_validate_xmit_skb的解决过程

背景

本文记录Mellanox驱动加载报错Unknown symbol psample_sample_packet和tls_get_record以及tls_validate_xmit_skb的解决过程以及解决方法

快速回忆

modprobe psample
modprobe  tls

解决过程

insmod的时候报错:

[Thu May  1 20:11:19 2025] mlx5_core: Unknown symbol psample_sample_packet (err -2)
[Thu May  1 20:11:19 2025] mlx5_core: Unknown symbol tls_get_record (err -2)
[Thu May  1 20:11:19 2025] mlx5_core: Unknown symbol tls_validate_xmit_skb (err -2)

使用modprobe加载正常,这三个参数属于其他模块:
在这里插入图片描述
OFED编译的ko也找不到:
在这里插入图片描述

内核查不到:
在这里插入图片描述

然后查看内核配置,是系统的配置:
在这里插入图片描述

然后搜索:find / -name “*.ko” |grep -i act
在这里插入图片描述
然后加载:
没有效果

最后通过加载psample和tls的内核模块解决:
在这里插入图片描述

在这里插入图片描述
还有一个办法,直接用modprobe来加载会自动加载。

其他

关于psample和tls:

psampletls是Linux内核中的两个不同模块
psample模块主要用于数据包采样。它允许系统对网络数据包进行选择性的采样,以便进行流量分析、监控和统计等操作。通过配置相关参数,psample可以按照一定的规则从网络数据流中抽取部分数据包,并将这些采样数据包传递给特定的处理程序或应用程序进行进一步分析。例如,可以根据数据包的源地址、目的地址、端口号、协议类型等条件来确定是否对某个数据包进行采样。常用于网络性能监测、网络安全审计以及流量特征分析等领域。
tls模块通常指的是传输层安全(Transport Layer Security)相关的内核模块,它主要用于实现网络通信中的加密和安全认证功能。基于TLS协议,tls模块在网络数据包传输过程中对数据进行加密处理,确保数据的保密性和完整性。

尝试过更换25.01、23.10、5.8都有问题怀疑是OFED和内核版本搭配,最终都不是。
这里反映了mlx5_core这个模块的依赖并未标注上psample和tls。
另外对于modprobe会更加有效,但是有些场景如果存在多个ko以及系统自带ko要注意。
后面再insmod mlx ko之前需要加载下psample和tls

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值