背景
应客户需求,希望在os下使用urest时,不安装iBMA,但是可以通过veth虚拟网口进行通信。
现状
OS侧的veth的打开方式已经清楚,但是BMC的veth网口不清楚如何开启:
希望可以知道一下如何开启BMC的veth网口。
背景
应客户需求,希望在os下使用urest时,不安装iBMA,但是可以通过veth虚拟网口进行通信。
现状
OS侧的veth的打开方式已经清楚,但是BMC的veth网口不清楚如何开启:
希望可以知道一下如何开启BMC的veth网口。
答案内容由AI生成,仅供参考:
针对您遇到的Cannot find device 'veth'问题,请按以下步骤操作:
确保使用的BMC芯片(如Hi1711)和硬件设计支持veth功能。某些硬件配置可能需要在设备树或CSR配置中显式启用。
通过Redfish或底层接口确保VethDriverEnabled或Enabled属性设置为true。
systemctl restart bmc_network
ip link show
根据您的需求,在OS侧不安装iBMA的情况下通过veth虚拟网口与BMC通信,需要在BMC侧正确配置和启用veth接口。以下是详细的开启方法:
veth(Virtual Ethernet)是一种虚拟网络接口,用于在主机操作系统(OS)和基板管理控制器(BMC)之间建立通信通道。它是一种成对出现的虚拟接口,一端在OS侧,另一端在BMC侧,形成一个虚拟的以太网连接。
BMC系统中的bmc_network组件负责管理网络接口,包括veth接口。在openUBMC系统中,veth接口默认通常是支持的。
# 检查bmc_network服务状态
systemctl status bmc_network
自openUBMC版本支持后,可以通过Redfish接口查询和设置veth驱动的使能状态:
# 查询veth驱动当前状态
curl -k -X GET https://<BMC_IP>/redfish/v1/Managers/1/SmsService \
-H "Authorization: Basic <base64_credentials>"
响应中会包含VethDriverEnabled属性,表示veth驱动是否已启用。
要启用veth驱动:
# 通过PATCH请求启用veth驱动
curl -k -X PATCH https://<BMC_IP>/redfish/v1/Managers/1/SmsService \
-H "Content-Type: application/json" \
-H "Authorization: Basic <base64_credentials>" \
-d '{"VethDriverEnabled": true}'
也可以通过资源协作接口直接设置:
/bmc/kepler/Systems/${SystemId}/Smsbmc.kepler.Systems.Sms.VethEnabled默认值为true(使能),支持掉电持久化。
确认BMC系统已加载必要的veth相关模块:
# 检查veth相关模块是否已加载
lsmod | grep veth
如果未加载,可能需要手动加载或检查系统配置。
执行以下命令查看网络接口列表:
ip link show
如果veth接口仍然显示“Cannot find device ‘veth’”,说明:
针对您遇到的Cannot find device 'veth'问题,请按以下步骤操作:
确保使用的BMC芯片(如Hi1711)和硬件设计支持veth功能。某些硬件配置可能需要在设备树或CSR配置中显式启用。
通过Redfish或底层接口确保VethDriverEnabled或Enabled属性设置为true。
systemctl restart bmc_network
ip link show
BasicSetting权限。如果不希望依赖iBMA但又无法启用veth,还可考虑:
建议优先尝试通过Redfish接口启用VethDriverEnabled属性来解决问题。
看到是/opt/bmc/apps/hica/subsys/alarm/config.cfg进程在使用/dev/net_cdev设备
/dev/net_cdev设备抢占了eDMA通道导致veth没有正常加载,这种情况符合预期么?是什么配置导致的?
/redfish/v1/Managers/1/SmsService/
修改"ChannelType": “PCIe-Veth”
感谢 ![]()