在 bnxt_en SR-IOV VF 中设置 IRQ 频道数量会失败
Issue
- 在 bnxt_en SR-IOV VF 中设置 IRQ 频道数量会失败
- 使用这种类型的 PF (物理功能)和 VF (虚拟功能):
Broadcom Limited BCM57414 NetXtreme-E 10Gb/25Gb RDMA Ethernet Controller [14e4:16d7] (rev 01)
Broadcom Limited NetXtreme-E Ethernet Virtual Function [14e4:16dc]
- VF 声明以支持更多频道:
[root@vm ~]# ethtool -l eth1
Channel parameters for eth1:
Pre-set maximums:
RX: 32
TX: 32
Current hardware settings:
RX: 8
TX: 8
- 但是,如果这样做:
[root@vm ~]# ethtool -L eth1 rx 32 tx 32
Cannot set device channel parameters: Operation not permitted
- 虚拟机会在 syslog 中记录以下内容:
kernel: bnxt_en 0000:00:08.0: eth1: Error (timeout: 2000) msg {0x50 0xd5} len:0
kernel: bnxt_en 0000:00:08.0: eth1: hwrm_ring_alloc tx failed. rc:ffffffff err:0
kernel: bnxt_en 0000:00:08.0: eth1: hwrm ring alloc failure rc: ffffffff
kernel: bnxt_en 0000:00:08.0: eth1: Error (timeout: 2000) msg {0x44 0xd6} len:0
kernel: bnxt_en 0000:00:08.0: eth1: hwrm vnic set tpa failure rc for vnic -1: 0
- 虚拟机开始重复记录以下内容:
kernel: bnxt_en 0000:00:08.0: eth1: Error (timeout: 2000) msg {0x51 0xd7} len:0
kernel: bnxt_en 0000:00:08.0: eth1: hwrm_ring_free tx failed. rc:-1
- hypervisor 开始重复记录以下内容:
kernel: bnxt_en 0000:37:00.1 ens1f1d1: Error (timeout: 500) msg {0x23 0x24c} len:0
kernel: bnxt_en 0000:37:00.0 ens1f0: Error (timeout: 500) msg {0x23 0x266} len:0
Environment
- VM - RHEL 6.9 (
kernel-2.6.32-696.el6.x86_64) - Broadcom Limited BCM57414 NetXtreme-E NIC 使用带有固件
v212.0.102.0的bnxt_en驱动 - SR-IOV (单根 I/O 虚拟化)
- KVM 虚拟机
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.