Hi,
I am planning to use Mellanox’s VF through SR-IOV CNI and multus CNI. However, when I try to change the VF’s VLAN settings, an operation not permitted error occurs.
on Host
root@master:/home/cclab# ip link show
10: ens1f0np0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 94:6d:ae:db:16:5e brd ff:ff:ff:ff:ff:ff
vf 0 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 1 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 2 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 3 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 4 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 5 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 6 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 7 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 8 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 9 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 10 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 11 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 12 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 13 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 14 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 15 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
altname enp85s0f0np0
root@master:/home/cclab# ip link set dev ens1f0np0 vf 0 vlan 1000
RTNETLINK answers: Operation not permitted
and on DPU, register is not set via mlxreg.
root@localhost:/home/ubuntu# mlxreg -d /dev/mst/mt41692_pciconf0 --reg_id 0xc007 --reg_len 0x40 --indexes "0x0.0:32=0x80000000" --yes --set "0x4.0:32=0x1"
You are about to send access register id: 0xc007 with the following data:
Address | Data
=======================
0x00000000 | 0x80000000
0x00000004 | 0x00000001
0x00000008 | 0x00000000
0x0000000c | 0x00000000
0x00000010 | 0x00000000
0x00000014 | 0x00000000
0x00000018 | 0x00000000
0x0000001c | 0x00000000
0x00000020 | 0x00000000
0x00000024 | 0x00000000
0x00000028 | 0x00000000
0x0000002c | 0x00000000
0x00000030 | 0x00000000
0x00000034 | 0x00000000
0x00000038 | 0x00000000
0x0000003c | 0x00000000
=======================
Do you want to continue ? (y/n) [n] : y
Sending access register...
root@localhost:/home/ubuntu# mlxreg -d /dev/mst/mt41692_pciconf0 --reg_id 0xc007 --reg_len 0x40 --indexes "0x0.0:32=0x80000000" --get
Sending access register...
Address | Data
=======================
0x00000000 | 0x80000000
0x00000004 | 0x00000000
0x00000008 | 0x00000000
0x0000000c | 0x00000000
0x00000010 | 0x00000000
0x00000014 | 0x00000000
0x00000018 | 0x00000000
0x0000001c | 0x00000000
0x00000020 | 0x00000000
0x00000024 | 0x00000000
0x00000028 | 0x00000000
0x0000002c | 0x00000000
0x00000030 | 0x00000000
0x00000034 | 0x00000000
0x00000038 | 0x00000000
0x0000003c | 0x00000000
=======================
This state is the same in p1
Is there no way to use VF on the host via SR-IOV CNI?
I am currently using the MT43244 BlueField-3 ConnectX-7 DPU.
Host OS : Ubuntu 22.04
DOCA version : 2.7.0
I’m going through a lot of trouble, so I’d appreciate some help.
Regards,
kim