Hallo zusammen
In den letzten Tagen habe ich mit mit SR-IOV, VF und IOMMU beschäftigt, leider stehe ich gerade etwas an und brauche Eure Hilfe.
Mein Ziel ist es OPNsense zu virtualisieren (Proxmox 7.4) und die VF einer Chelsio T520-SO-CR zu nutzten.
Allerdings scheitere ich dabei, die numvfs zu setzten
Für die ersten vier PF bekomme ich einen error 524, für den fünften PF ein permission denied.
Warum hat diese Karte vier PFs für vNIC und nicht einen?
Der Befehl ist nur für einen temporären Test. Ich würde sie gerne reboot persistent machen unter /etc/modprobe, aber wollte erst testen, ob es überhaupt funktioniert.
In den letzten Tagen habe ich mit mit SR-IOV, VF und IOMMU beschäftigt, leider stehe ich gerade etwas an und brauche Eure Hilfe.
Mein Ziel ist es OPNsense zu virtualisieren (Proxmox 7.4) und die VF einer Chelsio T520-SO-CR zu nutzten.
Allerdings scheitere ich dabei, die numvfs zu setzten
echo 8 > /sys/class/net/enp1s0f4/device/driver/0000\:01\:00.0/sriov_numvfs
-bash: echo: write error: Unknown error 524
echo 8 > /sys/class/net/enp1s0f4/device/driver/0000\:01\:00.4/sriov_numvfs
-bash: /sys/class/net/enp1s0f4/device/driver/0000:01:00.4/sriov_numvfs: Permission denied
Für die ersten vier PF bekomme ich einen error 524, für den fünften PF ein permission denied.
Warum hat diese Karte vier PFs für vNIC und nicht einen?
Der Befehl ist nur für einen temporären Test. Ich würde sie gerne reboot persistent machen unter /etc/modprobe, aber wollte erst testen, ob es überhaupt funktioniert.
nano /etc/kernel/cmdline
# Attach the options to the end of the line. So for me it looks like this:
root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt
#save and exit
proxmox-boot-tool refresh
#From here the config should be the same again
nano /etc/modules
#change it to
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
#save and quit
update-initramfs -u -k all
reboot
#Check remapping. First one is from the manual, second one is better in my #opinion
dmesg | grep -e DMAR -e IOMMU -e AMD-Vi
dmesg | grep 'remapping'
lspci | grep Chelsio
01:00.0 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller
01:00.1 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller
01:00.2 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller
01:00.3 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller
01:00.4 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller
01:00.5 SCSI storage controller: Chelsio Communications Inc T520-CR Unified Wire Storage Controller
01:00.6 Fibre Channel: Chelsio Communications Inc T520-CR Unified Wire Storage Controller
find /sys/kernel/iommu_groups/ -type l | grep 01:00
/sys/kernel/iommu_groups/1/devices/0000:01:00.6
/sys/kernel/iommu_groups/1/devices/0000:01:00.4
/sys/kernel/iommu_groups/1/devices/0000:01:00.2
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.5
/sys/kernel/iommu_groups/1/devices/0000:01:00.3
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
# Attach the options to the end of the line. So for me it looks like this:
root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt
#save and exit
proxmox-boot-tool refresh
#From here the config should be the same again
nano /etc/modules
#change it to
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
#save and quit
update-initramfs -u -k all
reboot
#Check remapping. First one is from the manual, second one is better in my #opinion
dmesg | grep -e DMAR -e IOMMU -e AMD-Vi
dmesg | grep 'remapping'
lspci | grep Chelsio
01:00.0 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller
01:00.1 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller
01:00.2 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller
01:00.3 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller
01:00.4 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller
01:00.5 SCSI storage controller: Chelsio Communications Inc T520-CR Unified Wire Storage Controller
01:00.6 Fibre Channel: Chelsio Communications Inc T520-CR Unified Wire Storage Controller
find /sys/kernel/iommu_groups/ -type l | grep 01:00
/sys/kernel/iommu_groups/1/devices/0000:01:00.6
/sys/kernel/iommu_groups/1/devices/0000:01:00.4
/sys/kernel/iommu_groups/1/devices/0000:01:00.2
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.5
/sys/kernel/iommu_groups/1/devices/0000:01:00.3
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
Last edited: