igb_uio解绑

最近在玩dpdk,dpdk是intel开发的数据平面工具开发集。它的好处不言而喻,以往数据包传输都要经过内核,产生上下文切换,锁,数据包拷贝等问题。dpdk运行在用户空间,利用自身平面收发包,具有性能高等特点。dpdk安装时需要将原来网卡驱动解绑,将igb_uio或vfio绑定这张网卡。下面是解绑和重新绑定驱动的步骤:

1. lspci | grep Ethernet查看pci地址

2. python dpdk-devbind.py -u  0000:03:00.1,此时python dpdk-devbind.py
--status看到的情况如下:

这里写图片描述

3. 运行如下命令绑定网卡驱动:
    python dpdk-devbind.py --bind=ixgbe 0000:03:00.1
    报错:Error: bind failed for 0000:03:00.1 - Cannot bind to driver ixgbe
    unused driver里面没有ixgbe
    这里的dpdk-devbind.py是dpdk安装包里面的一个程序

4. 重启网络,报错
5. 查看ixgbe模块,lsmod | grep ixgbe,内核中是加载了ixgbe模块的
6. 谷歌了很多方式,比如echo '0000:03:00.1' > /sys/bus/pci/drivers/ixgbe/unbind,但都不行
7. 使用driverctl命令,driverctl is a generic tool for persistently configuring alternative device drivers;dpdk-devbind.py重启失效。使用yum install -y driverctl安装。

    driverctl -v list-devices | grep -i net

    driverctl set-override 0000:03:00.1 ixgbe

结果如下:
这里写图片描述

    此时ifconfig -a 能看到这张网卡了

8. 使用ifconfig XXXX(网卡) up,此时发现网卡虽然起来了,但是没有ip,查看网卡配置文件,使用的是static的方式。ifconfig XXXX down,然后ifup XXXX,结果网卡正常了,ip也有了。谷歌了一下,ifconfig :  设定网络参数使用的指令;ifup,ifdown:激活与关闭某个网络适配卡
### 回答1: DPDK是一种开源的数据包处理框架,它能够大大提升数据包处理的速度以及效率。DPDK的性能在很大程度上依赖于它与网络接口卡的配合。为了最大化性能,需要将网络接口卡定到DPDK上。 DPDK在网卡时,需要先在Linux系统中安装igb_uio驱动程序。然后,可以使用DPDK自带的定脚本进行定,如下所示: ./usertools/dpdk-devbind.py --bind=igb_uio eth0 其中,“eth0”为需要定的网卡名。定完成后,可以使用DPDK提供的性能测试工具来测试性能。 需要注意的是,在定之前,应先停止任何已经在使用该网卡的服务或应用程序。在定过程中,还要确保正确配置DPDK环境变量,如DPDK_SDK和RTE_SDK等。此外,在定完成后还需要检查网卡是否成功被定。 如果需要,可以使用同样的定脚本来进行操作,只需要将命令中的“bind”替换为“unbind”,如下所示: ./usertools/dpdk-devbind.py --unbind eth0 定和过程需要小心谨慎,否则可能会导致系统崩溃或者网络故障。因此,在操作前应先确认自己掌握了足够的知识和经验,才能进行相应的操作。 ### 回答2: DPDK是一种高性能数据平面开发工具集,可以用于加速包处理和数据包转发。定和网络接口是DPDK的重要功能,它可以为应用程序提供更高效的包处理和网络传输能力。 网卡定是将DPDK与物理网卡连接起来的过程。通常情况下,DPDK使用IGB UIO模块将物理网卡作为DPDK的虚拟设备进行管理。网卡定的过程包括以下几个步骤: 1. 加载IGB UIO驱动程序:使用modprobe命令加载驱动程序,驱动程序所在路径在DPDK目录下的x86_64-native-linuxapp-gcc/kmod目录中。 2. 网卡UIO驱动程序上:使用DPDK提供的dpdk-devbind工具,输入命令进行网卡驱动程序的定,如:./dpdk-devbind --bind=uio_pci_generic eth0。 3. 初始化DPDK虚拟设备:使用DPDK提供的脚本,输入命令进行虚拟设备的初始化,如:./usertools/dpdk-devbind.py -s。 网卡是将DPDK与物理网卡连接断开的过程。网卡的过程包括以下几个步骤: 1. 停止DPDK进程:使用DPDK提供的脚本,输入命令停止DPDK进程,如:./usertools/dpdk-devbind.py --status。 2. 网卡:使用DPDK提供的dpdk-devbind工具,输入命令网卡,如:./dpdk-devbind --unbind eth0。 3. 卸载IGB UIO驱动程序:使用rmmod命令卸载驱动程序,如:rmmod uio_pci_generic。 定和网卡的操作可以通过脚本进行自动化,以提高效率和可靠性。同时也需要注意,定和不当会导致系统网络异常,因此需要进行充分测试和验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值