dpdk环境搭建

步骤一:yum update
            yum install libpcap-devel kernel   //安装程序依赖

 

步骤二:wget https://dpdk.org/rel/dpdk-17.11.2.tar.xz
            xz -d dpdk-17.11.2.tar.xz
           tar -xvf dpdk-17.11.2.tar  //下载dpdk安装包

步骤三:进入dpdk-stable-17.11.2/config/目录 ,修改common_linuxapp文件
             CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=y改为 CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n


            CONFIG_RTE_LIBRTE_VHOST_NUMA=y改为 CONFIG_RTE_LIBRTE_VHOST_NUMA=n


            CONFIG_RTE_KNI_KMOD=y改为 CONFIG_RTE_KNI_KMOD=n


步骤四:进入dpdk-stable-17.11.2/lib/librte_eal/linuxapp/igb_uio/目录 修改igb_uio.c
            if (pci_intx_mask_supported(udev->pdev))改为 if (pci_intx_mask_supported(udev->pdev) || 1)(在文件279行)

步骤五:进入dpdk-stable-17.11.2/usertools
             执行./dpdk-setup.sh
             输入14 (14对应 x86_64-native-linuxapp-gcc,有可能14不是x86_64-native-linuxapp-gcc,那这里就不能输入14,输入x86_64-native-linuxapp-gcc前面的id)
            安装好以后选择exit退出后
            在输入上面退出选项的id(一般是34,看选项英文的意思,然后它对应着一个id,一般这个id是34)

步骤六:将dpdk_start.sh脚本放到当前目录下
            执行 sh dpdk_start.sh脚本

dpdk_start.sh脚本内容:
 modprobe uio
 insmod ../x86_64-native-linuxapp-gcc/kmod/igb_uio.ko //载入用户态驱动

 ifconfig ens37 down
 ifconfig ens38 down //将网口加入到dpdk之前,必须要先将网卡关闭(注释:这里的网口以自己的网口为止,不一定是ens37和ens38)


 ./dpdk-devbind.py -b igb_uio ens37
./dpdk-devbind.py -b igb_uio ens38 //绑定网卡驱动


 sleep 2s延时两秒


 echo 1024  >  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages //配置巨页 这里为1G 1024*2M(2048KB)
 mount –t hugetlbfs nodev /mnt/huge 挂载


               脚本内容

 

如修改回普通网卡模式,则使用如下命令 ./dpdk-devbind.py -b e1000 0000:02:05.0

                                                                    ifconfig ens33 up

 

  查看巨页信息:
 cat /proc/meminfo | grep Huge

 删除巨页配置:
 umount nodev /mnt/huge
 rm –rf /dev/hugepages/*
 echo 0  >  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
https://blog.csdn.net/Silvester123/article/details/80964146

脚本内容:

 #!/bin/bash
 modprobe uio
 insmod ../x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
 ifconfig ens37 down
 ifconfig ens38 down
 ./dpdk-devbind.py -b igb_uio ens37
./dpdk-devbind.py -b igb_uio ens38
 sleep 2s
 echo 1024  >  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
 mount –t hugetlbfs nodev /mnt/huge

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值