问题描述
bmc_core模块“ send rs failed: errno(101)”刷屏问题 1分钟1次
环境信息
-
操作系统:[如 Ubuntu 24.04]
-
软件版本:OpenUBMC2603
-
硬件配置:[如 CPU、内存等]
重现步骤
情况1:
1、当前网口在eth2上时,重启BMC
2、重启BMC后,操作切到pcie扩展网口上
3、观察日志必出bmc_core ERROR: net_socket.c(245): eth2: send RS failed, error: 101 打印 1分钟1次
情况2:
1、当前网口在eth0上时,重启BMC
2、重启BMC后,操作切到专用网口上
3、观察日志必出bmc_core ERROR: net_socket.c(245): eth0: send RS failed, error: 101 打印 1分钟1次
期望结果
无日志刷屏
实际结果
有日志刷屏1分钟1次
2026-05-20 12:11:59.365836 bmc_core ERROR: net_socket.c(93): eth0 send rs failed: errno(101)
2026-05-20 12:11:59.365956 bmc_core ERROR: net_socket.c(245): eth0: send RS failed, error: 101
2026-05-20 12:13:09.843549 bmc_core ERROR: net_socket.c(93): eth0 send rs failed: errno(101)
2026-05-20 12:13:09.843645 bmc_core ERROR: net_socket.c(245): eth0: send RS failed, error: 101
2026-05-20 12:14:20.953261 bmc_core ERROR: net_socket.c(93): eth0 send rs failed: errno(101)
2026-05-20 12:14:20.953359 bmc_core ERROR: net_socket.c(245): eth0: send RS failed, error: 101
2026-05-20 12:15:31.324418 bmc_core ERROR: net_socket.c(93): eth0 send rs failed: errno(101)
2026-05-20 12:15:31.324512 bmc_core ERROR: net_socket.c(245): eth0: send RS failed, error: 101
2026-05-20 12:16:41.816745 bmc_core ERROR: net_socket.c(93): eth0 send rs failed: errno(101)
2026-05-20 12:16:41.816854 bmc_core ERROR: net_socket.c(245): eth0: send RS failed, error: 101
2026-05-20 12:17:52.357517 bmc_core ERROR: net_socket.c(93): eth0 send rs failed: errno(101)
2026-05-20 12:17:52.357610 bmc_core ERROR: net_socket.c(245): eth0: send RS failed, error: 101
2026-05-20 12:19:03.057088 bmc_core ERROR: net_socket.c(93): eth0 send rs failed: errno(101)
2026-05-20 12:19:03.057205 bmc_core ERROR: net_socket.c(245): eth0: send RS failed, error: 101
尝试过的解决方案
无
分析结论
bmc_core闭源模块处理问题。切换网口后还一直通过启动时的网口发送rs报文。实际dhcp ipv6 ip也依然可以分配到,不清楚此循环任务有何意义。
答案内容由AI生成,仅供参考:
结论与建议
这是一个由 bmc_core 闭源模块 内部处理逻辑缺陷导致的已知问题。该模块在网口切换后未能正确终止或迁移其原有的网络探测任务(发送RS报文),导致该任务通过已失效的旧网口持续失败并刷屏。
建议:
- 联系开源社区或厂商:由于
bmc_core 是闭源模块,用户无法自行修复。建议将此问题的详细重现步骤和日志提交给 OpenUBMC社区 或 BMC固件提供商,请求其修改闭源模块的处理逻辑,确保在网口切换后能够停止发送RS报文的循环任务。
- 规避:目前此错误日志不影响IPv6功能,在官方修复前,可忽略此日志或将其视为一种信息提示。
点击此处查看详细分析解答
根据您提供的问题描述以及知识库中的相关信息,以下是对 bmc_core 模块“send rs failed: errno(101)”日志刷屏问题 的详细分析。
问题概述
该问题表现为在切换网口后,bmc_core 模块会以 每分钟1次 的频率持续输出类似 send rs failed: errno(101) 的错误日志,造成“日志刷屏”。
重现步骤与关键日志
根据您提供的步骤,该问题在以下两种场景下可以稳定复现:
-
情况1(从eth2切换到PCIe扩展网口):
- 当前网口为
eth2,重启BMC。
- 重启后将网口切换到 PCIe扩展网口。
- 日志中持续出现
bmc_core ERROR: net_socket.c(245): eth2: send RS failed, error: 101。
-
情况2(从eth0切换到专用网口):
- 当前网口为
eth0,重启BMC。
- 重启后将网口切换到 专用网口。
- 日志中持续出现
bmc_core ERROR: net_socket.c(245): eth0: send RS failed, error: 101。
关键日志模式:
bmc_core ERROR: net_socket.c(93): eth0 send rs failed: errno(101)
bmc_core ERROR: net_socket.c(245): eth0: send RS failed, error: 101
这两行成对出现,指向 Net_socket.c 源文件中的第 93 行和第 245 行。
根本原因分析
根据知识库中的信息,该问题的根本原因可归纳为以下几点:
- 闭源模块行为:
bmc_core 模块是一个 闭源软件组件,负责管理BMC的网络操作。用户无法访问其源代码进行修改,只能通过厂商或社区反馈问题。
- 网口切换后的循环任务:分析结论指出,
bmc_core 模块在切换网口后,仍然通过启动时的老网口持续发送 RS (Router Solicitation) 报文。
- 例如:重启时网口是
eth0,切换后使用 专用网口,但 bmc_core 仍通过 eth0 发送RS报文。
- 由于原网口(如
eth0)在切换后可能处于非活动或逻辑断开状态,导致 send_rs 操作失败,从而触发 errno(101)(通常代表网络不可达)。
- 非功能性错误:尽管日志持续报错,但已知该行为 不影响DHCP IPv6地址的分配。这意味着该循环任务可能是一个设计冗余或不必要的后台任务,其报错对实际网络功能无影响,但造成了日志污染。
结论与建议
这是一个由 bmc_core 闭源模块 内部处理逻辑缺陷导致的已知问题。该模块在网口切换后未能正确终止或迁移其原有的网络探测任务(发送RS报文),导致该任务通过已失效的旧网口持续失败并刷屏。
建议:
- 联系开源社区或厂商:由于
bmc_core 是闭源模块,用户无法自行修复。建议将此问题的详细重现步骤和日志提交给 OpenUBMC社区 或 BMC固件提供商,请求其修改闭源模块的处理逻辑,确保在网口切换后能够停止发送RS报文的循环任务。
- 规避:目前此错误日志不影响IPv6功能,在官方修复前,可忽略此日志或将其视为一种信息提示。
wangxin
(Wangxin)
3
此时Ipversion是怎样设置的,是仅IPv4还是IPv4andIPv6?
grlxw
(xijie)
5
切到 pcie上显示eth2 send失败,这个是写反了还是没有写反
没写反,重启BMC后。切换到其他网口就会有刷屏,必现。
grlxw
(xijie)
9
这个定位到了原因,最新版本修复了,应该不影响功能,后续外出版本会带上