Hi I am using a MT27520 Family [ConnectX-3 Pro] 10G dual port card with SR-IOV enable, but the vf can not set to promisc mode, how can I debug what heppen? Meanwhile I have a ConnectX-3 Pro 40G nic but without this error.

kernel: [ 540.374713] mlx4_core 0000:65:00.0: vhcr command 0x65 slave:6 in_param 0xab99a4000 in_mod=0x4 op_mod=0x0 failed with error:0, status -17

kernel: [ 540.374772] mlx4_core 0000:65:00.6: Fail to register network rule.

kernel: [ 540.376031] mlx4_core 0000:65:00.6: port = 1 prio = 0x0 qp = 0x4a

kernel: [ 540.377287] mlx4_en: net2: Failed enabling promiscuous mode

kernel: [ 540.462172] mlx4_core 0000:65:00.6: going promisc on 1

kernel: [ 540.463337] mlx4_core 0000:65:00.0: Fail to add flow steering resources.

kernel: [ 540.463337]

kernel: [ 540.465163] mlx4_core 0000:65:00.0: vhcr command 0x65 slave:6 in_param 0xab99a4000 in_mod=0x4 op_mod=0x0 failed with error:0, status -17

kernel: [ 540.465590] mlx4_core 0000:65:00.6: Fail to register network rule.

kernel: [ 540.466753] mlx4_core 0000:65:00.6: port = 1 prio = 0x0 qp = 0x4a

kernel: [ 540.467909] mlx4_en: net2: Failed enabling promiscuous mode

kernel: [ 543.096435] mlx4_core 0000:65:00.6: Fail to register network rule.

kernel: [ 543.121723] mlx4_core 0000:65:00.6: port = 1 prio = 0x0 qp = 0x4a

kernel: [ 546.031182] mlx4_en: net2: Failed enabling promiscuous mode

kernel: [ 557.355550] mlx4_core 0000:65:00.0: vhcr command 0x65 slave:6 in_param 0xaabaa6000 in_mod=0x4 op_mod=0x0 failed with error:0, status -17

kernel: [ 557.355630] mlx4_core 0000:65:00.6: Fail to register network rule.

kernel: [ 557.402659] mlx4_en: net2: Failed enabling promiscuous mode

Hello,

Thank you for posting your inquiry to the Mellanox community.

We are unable to reproduce this issue.

Using the steps below, we are able to enable and verify that Promiscuous mode is enabled on the PF when set on the VF:

ip link sh enp129s0

40: enp129s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000

link/ether 00:02:c9:38:cd:90 brd ff:ff:ff:ff:ff:ff

vf 0 MAC 00:02:c9:38:cd:00, vlan 1, spoof checking on, link-state auto

vf 1 MAC 00:00:00:00:00:00, vlan 4095, spoof checking off, link-state auto

vf 2 MAC 00:00:00:00:00:00, vlan 4095, spoof checking off, link-state auto

vf 3 MAC 00:00:00:00:00:00, vlan 4095, spoof checking off, link-state auto

#ip link set enp129s0 vf 0 mac 00:02:c9:38:cd:00 vlan 1 spoofchk on promisc on

#ip link sh enp129s0

40: enp129s0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000

link/ether 00:02:c9:38:cd:90 brd ff:ff:ff:ff:ff:ff

vf 0 MAC 00:02:c9:38:cd:00, vlan 1, spoof checking on, link-state auto

vf 1 MAC 00:00:00:00:00:00, vlan 4095, spoof checking off, link-state auto

vf 2 MAC 00:00:00:00:00:00, vlan 4095, spoof checking off, link-state auto

vf 3 MAC 00:00:00:00:00:00, vlan 4095, spoof checking off, link-state auto

for OPN in /usr/sbin/lspci -d 15b3: | awk '{print$1}' ; do echo /usr/sbin/lspci -s ${OPN} | head -n 1 lspci -s ${OPN} -vv | grep Part ; done

81:00.0 Ethernet controller: Mellanox Technologies MT27500 Family [ConnectX-3] [PN] Part number: MCX354A-FCBT

81:00.1 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]

81:00.2 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]

81:00.3 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]

81:00.4 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]

Best regards,

Mellanox Technical Support