$ cd dpdk-stable-16.07.2/ $ patch -p 1 < 0001-kni-use-netlink-event-for-multicast-driver-part.patch
Now build DPDK and export RTE_SDK env variable for DPDK app (DPVS)
1 2
$ make config T=x86_64-native-linuxapp-gcc Configuration done
u need install kernel-devel-uname -r, or u got below error:
make: *** /lib/modules/3.10.0-327.el7.x86_64/build: No such file or directory. Stop.
make[5]: *** [igb_uio.ko] Error 2
make[4]: *** [igb_uio] Error 2
make[4]: *** Waiting for unfinished jobs…
1 2 3 4 5 6 7 8 9 10 11 12
$ cd $ wget https://buildlogs.centos.org/c7.1511.00/kernel/20151119220809/3.10.0-327.el7.x86_64/kernel-devel-3.10.0-327.el7.x86_64.rpm $ yum install local kernel-devel-3.10.0-327.el7.x86_64.rpm
maybe you need recreate soft link $ ln -fs /usr/src/kernels/3.10.0-327.36.1.el7.x86_64/ /lib/modules/3.10.0-327.el7.x86_64/build
logout & login
$ cd /root/dpvs/dpdk-stable-16.07.2 $ make -j 32 $ export RTE_SDK=$PWD
$ mkdir /mnt/huge $ mount -t hugetlbfs nodev /mnt/huge/
Install Kernel modules and bind NIC with igb_uio driver. Quick start uses only one NIC, normally we use 2 for Full-NAT cluster, even 4 for bonding mode. Assuming eth0 will be used for DPVS/DPDK, and another standalone Linux NIC for debug, for example, eth1.
Other network devices ===================== <none>
$ ifconfig eno1 down $ ./tools/dpdk-devbind.py --bind=igb_uio 0000:02:00.0
The BCM5719 device is not supported by the current DPDK driver.Only the 10G Broadcom NetExtreme II devices are supported.
dpdk-devbind.py -u can be used to unbind driver and switch it back to Linux driver like ixgbe. You can also use lspci or ethtool -i eth0 to check the NIC PCI bus-id. Pls see DPDK site for details.
Build DPVS
Set RTE_SDK and build it.
1 2 3 4 5 6
$ cd /root/dpvs/dpdk-stable-16.07.2 $ export RTE_SDK=$PWD $ cd .. $ yum install -y openssl openssl-devel popt-devel $ make -j 32 $ make install
1 2
$ ls bin/ dpip dpvs ipvsadm keepalived
dpvs is the main program.
dpip is the tool to set IP address, route, vlan, neighbor etc.
ipvsadm and keepalived come from LVS, both are modified.
Launch DPVS
dpvs.conf must be put at /etc/dpvs.conf, just copy it from conf/dpvs.conf.single-nic.sample.
1 2 3
$ cp conf/dpvs.conf.single-nic.sample /etc/dpvs.conf $ cd /root/dpvs/bin/ $ ./dpvs &