|
本帖最后由 summerq 于 2023-9-15 23:01 编辑
大头吃小头 发表于 2023-9-15 22:55
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction ...
我给你个开启的教程吧。你修改这个脚本即可。
0. 首先grub里开启iommu,编辑 /etc/default/grub,内容如下。之后更新grub并且重启: update-grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="intel_pstate=disable amd_iommu=on iommu=pt mitigations=off"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX pci=assign-busses pcie_acs_override=downstream,multifunction pci=noaer"
1. 创建一个文件 /etc/init.d/net-sriov
其中enp2s0f0要根据你的x550两个网口的名称进行修改。mac地址也可以改掉。
#! /bin/sh
### BEGIN INIT INFO
# Provides: sriov_script
# Required-Start: $network $named $remote_fs $syslog $sriov_scripts
# Required-Stop: $remote_fs $sriov_scripts
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SR-IOV initialization.
#Description: Initializing VM's network with sriov support.
### END INIT INFO
start () {
# enable SRIOV
# 8 vf for LAN
echo 8 > /sys/class/net/enp2s0f0/device/sriov_numvfs
# 2 vf for WAN
# echo 2 > /sys/class/net/enp2s0f1/device/sriov_numvfs
# sleep 2
# set up mac addresses
ip link set dev enp2s0f0 vf 3 trust on mac 20:00:11:01:02:00 spoofchk off
ip link set dev enp2s0f0 vf 1 trust on mac 20:00:11:01:02:01 spoofchk off
ip link set dev enp2s0f0 vf 2 trust on mac 20:00:11:01:02:02 spoofchk off
ip link set dev enp2s0f0 vf 0 trust on mac 20:00:11:01:02:03 spoofchk off
ip link set dev enp2s0f0 vf 4 trust on mac 20:00:11:01:02:04 spoofchk off
ip link set dev enp2s0f0 vf 5 trust on mac 20:00:11:01:02:05 spoofchk off
ip link set dev enp2s0f0 vf 6 trust on mac 20:00:11:01:02:06 spoofchk off
ip link set dev enp2s0f0 vf 7 trust on mac 20:00:11:01:02:07 spoofchk off
# setup wan mac addresses
# ip link set dev enp2s0f1 vf 0 trust on mac 20:00:11:88:88:01 spoofchk off
# ip link set dev enp2s0f1 vf 1 trust on mac 20:00:11:88:88:02 spoofchk off
# turn off HT for cores 5,6,7, reserved for DPDK
# echo 0 > /sys/devices/system/cpu/cpu13/online
# echo 0 > /sys/devices/system/cpu/cpu14/online
# echo 0 > /sys/devices/system/cpu/cpu15/online
}
stop () {
[ "$READ_INTERFACES" != "no" ] && network_interfaces ifdown
}
case $1 in
start)
start
;;
stop | force-stop)
stop
;;
*)
echo "Usage: $0 {start|stop}" >&2
exit 1
;;
esac
exit 0
2. 给与此文件可执行属性
chmod +x /etc/init.d/net-sriov
3. 添加默认systemd启动
systemctl enable net-sriov
4. 重启看效果。别问我是谁,我就是步步高点读机 |
|