ѸDPDK̳

1.ѹ
	dpdk-18.11Ϊͻʹʱ԰18.11Լʹõİ汾
	DPDK汾 wget http://dpdk.org/rel/dpdk-18.11.tar.xz
	tar -xJf  dpdk-18.11.tar.xz

2.ѸDPDKpatchDPDK
	
	ע⣺dpdk汾޸ĵڶ֣ζҪ½ѹdpdkԴpatch1.0.4  1.1.0

	Ŀ¼dpdk-pmd dpdk-18.11 ͬһĿ¼ִ
	cp -a dpdk-pmd dpdk-18.11/drivers/net/netswift

	ȻdpdkĿ¼cd dpdk-18.11
	Patch Ѹpatch -p1 < drivers/net/netswift/scripts/dpdk-18.11.patch
	patchǷΪ
            		config/common_base
            		drivers/net/Makefile
            		mk/rte.app.mk
            20.08汾֧meson룬У
            		drivers/meson.build

3. 
	鿴ܹϢ
		dpdkĿ¼ִmake defconfig
	makeʽб룺	
		make install T=x86_64-native-linuxapp-gcc
	20.08汾ϲmeson뷽ʽغmesonninja
	
		CC=gcc meson -Denable_kmods=True -Dexamples=all -Dlibdir=lib  --default-library=static x86_64-native-linuxapp-gcc
		ninja -C x86_64-native-linuxapp-gcc -j %s
	ע-Dexamples=allеexamples-jӵΪcpu
	
	ܴڵλô
	1./root/dpdk/lib/librte_eal/linux/eal/eal_memory.c:29:10: numa.hNo such file or directory
	װyum install numactl-devel*x86_64
		If ubuntu
		sudo apt-get install numactl 
		sudo apt-get install libnuma-dev

	2. fatal error: pcap/pcap.h: No such file or directory
	װyum install  libpcap-devel
      	If ubuntu
		sudo apt-get install libpcap-dev

---------------ϲǱֻҪһμɣ豸֮Ҫظִ---------------

4.ôҳڴ
	echo 4096 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

5.û̬˿
	û̬ǵĿdpdk û̬vfio-pci ʹigb_uio
	һvfio-pciҪVTiommuϤĻ԰ٶȣֱʹĬϵigb_uioû̬igb_uioƽ̨֧֡

	vfio-pciʹ£
		modprobe vfio
		modprobe vfio-pci
		usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:07:00.0 0000:07:00.1

	igb_uio ʹ£
		modprobe uio
		insmod x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
		usertools/dpdk-devbind.py --force --bind=igb_uio 0000:07:00.0 0000:07:00.1
	ע0000:07:00.0 0000:07:00.1ڵǰ豸ϵportpci id

6.example
	dpdk,helloworld
		cd examples/helloworld/
		export RTE_SDK=/root/dpdk-18.11
		export RTE_TARGET=x86_64-native-linuxapp-gcc

	makeɹ,ܿõbuildĿ¼
    		CC main.o
    		LD helloworld
    		INSTALL-APP helloworld
   		 INSTALL-MAP helloworld.map
		Ȼмɡ
Ͻ̳̲ϤʣҲԲοDPDKٷַhttps://doc.dpdk.org/guides-18.11/sample_app_ug/index.html
