dpdk端口配置(手动绑定与解绑dpdk驱动)
dpdk端口配置(手动绑定与解绑dpdk驱动)echo “0000:3b.00.0” > /sys/bus/pci/drivers/vfio-pci/bindecho “vfio-pci” > /sys/bus/pci/devices/0000:3b.00.0/driver_overridedevice为设备号,0x100e为82540EM网卡,可以通过/sys/bus/pci/devices/0000:3b.00.0/device查到。设备信息也可以通过lspci -kvmms和lspci -kvmmns查看(后者多个n表示以数字形式查看)。# 绑定
手动绑定与解绑dpdk驱动以(slot = 0000:3b:00.0 dpdk_driver = vfio-pci vendor = 0x8086 device = 0x100e)为例。
slot为设备的PCI插槽号,即设备的PCI号。
dpdk_driver驱动选用vcfio-pci(也可以使用igb_uio)。
vendor为厂商号,0x8086为Intel厂商,可以通过/sys/bus/pci/devices/0000:3b.00.0/vendor查到。
device为设备号,0x100e为82540EM网卡,可以通过/sys/bus/pci/devices/0000:3b.00.0/device查到。
设备信息也可以通过lspci -kvmms和lspci -kvmmns查看(后者多个n表示以数字形式查看)。
# 绑定
echo “vfio-pci” > /sys/bus/pci/devices/0000:3b.00.0/driver_override
echo “0000:3b.00.0” > /sys/bus/pci/drivers/vfio-pci/bind
# 解绑
echo “0000:3b.00.0” > /sys/bus/pci/drivers/vfio-pci/unbind
对于linux-3.15以下的版本# 绑定
echo “8086 100e” > /sys/bus/pci/drivers/vfio-pci/new_id
echo “0000:3b.00.0” > /sys/bus/pci/drivers/vfio-pci/bind
# 解绑
echo “0000:3b.00.0” > /sys/bus/pci/drivers/vfio-pci/unbind
绑定方式对比可以发现,linux-3.15以上或以下的版本,解绑驱动的方式是没有发生变化,只有绑定驱动的方式有区别,3.15以上使用的是driver_override字段,而3.15以下使用的是new_id字段。