dpdk源码中未定义的宏是如何在编译时期生成的?

2 篇文章 0 订阅订阅专栏
dpvs是爱奇艺基于dpdk做的lvs的二次开发,性能更由于lvs
下载 dpvs git clone https://github.com/iqiyi/dpvs.git
进入到dpvs目录 安装dpdk , dpvs官方建议 最好把 dpdk放在dpvs目录中下载链接 https://fast.dpdk.org/rel/dpdk-17.11.2.tar.xztar dpdk-17.11.2.tar.xz
在ubuntu 下安装 需要进行一下操作cd dpdk-stable-17.05.2/sed -i “s/pci_intx_mask_supported(dev)/pci_intx_mask_supported(dev)
true/g” lib/librte_eal/linuxapp/igb_uio/igb_uio.c
安装依赖echo 8192 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages 大页最好调整到8192apt-get install libpopt-dev libssl-dev libnuma-dev
编译dpdkcd dpvscp patch/dpdk-stable-17.11.2/*.patch dpdk-stable-17.11.2/cd dpdk 路径patch -p 1 < 0001-PATCH-kni-use-netlink-event-for-multicast-driver-par.patchpatch -p1 < 0002-net-support-variable-IP-header-len-for-checksum-API.patchmake config T=x86_64-native-linuxapp-gccmakeexport RTE_SDK=$PWD
挂在大页$ mkdir /mnt/huge$ mount -t hugetlbfs nodev /mnt/hugemodprobe uio$ insmod build/kmod/igb_uio.ko$ insmod build/kmod/rte_kni.ko
绑定网卡./usertools/dpdk-devbind.py --status 查看网卡mac使用一个不用的网卡 保证down ifconfig ens161 down //加入用ens161这块网卡./usertools/dpdk-devbind.py -b igb_uio 0000:06:00.0 绑定网卡
安装dpvs //这步可能会包 inline 未定义 需要在 src下的Makefile cflags 中加入 -fgnu89-inline // cflags += -fgnu89-inline$ cd dpdk-stable-17.11.2/$ export RTE_SDK=$PWD$ cd在安装前 有可能需要改一下源代码需要将 src/config.mk 改成机器的cpu的数量 不然会报错 //我遇到的是这样 这点不是很确定还有一个报错是 netif_port_start() fail to config tx queue //这事编译完成之后 启动的时候的报错 解决办法 参考 https://github.com/iqiyi/dpvs/issues/49make && make install
启动将 cp conf/dpvs.conf.single-nic.sample /etc/dpvs.conf // 配置文件需要改动 worker的数量 参考https://github.com/iqiyi/dpvs/blob/master/doc/tutorial.md#launch-dpvs-on-ubuntu进入到 bin 目录中 运行 ./dpvs //
检查状态进行DR 模式的配置https://github.com/iqiyi/dpvs/blob/master/doc/tutorial.md#
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交

我要回帖

更多关于 dpdk 原理 的文章

 

随机推荐