DPDK » Historique » Version 8
« Précédent -
Version 8/113
(diff) -
Suivant » -
Version actuelle
Mehdi Abaakouk, 02/05/2014 16:45
- Contenu
- DPDK
DPDK¶
Traitement haute performance en logiciel, 10 Gbit/s en petit paquets line rate
Liens¶
Misc¶
- Intel PCI id http://www.intel.com/support/network/sb/cs-012904.htm
- http://www.intel.com/content/www/us/en/ethernet-controllers/ethernet-products.html?iid=embed_portal+hdprod_ethernet#s1=Gigabit%20Ethernet&s2=all&s3=all
- Intel Pro/1000 PT vs CT http://hardforum.com/showthread.php?t=1386042
- http://images.ncix.com/forumimages/C9864B87-583B-10FB-B0DE80742781CE07.jpg
- http://www.intel.com/content/www/us/en/ethernet-controllers/ethernet-controllers.html#s1=all&s2=82572EI&s3=all
- http://www.intel.com/content/www/us/en/ethernet-controllers/ethernet-controllers.html#s1=all&s2=82574L&s3=all
- https://github.com/Pktgen/Pktgen-DPDK
- Evaluating the Suitability of Server Network Cards for Software Routers http://kfall.net/ucbpage/papers/snc.pdf
Note sileht dpdk:¶
Extract from: http://www.intel.com/content/dam/www/public/us/en/documents/guides/intel-dpdk-getting-started-guide.pdf
configuration hugepages:¶
- 2M (1024*2k): hugepages=1024 (at runtime: echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages)
- 4G (4x1G): default_hugepagesz=1G hugepagesz=1G hugepages=4 (only works at boot time via grub)
mkdir /mnt/huge mount -t hugetlbfs nodev /mnt/huge
Compile and load modules:¶
Note: source tools/setup.sh is a helper tools for this but works only with IGB driver not e1000e
# apt-get install make gcc linux-headers-amd64 # make config T=x86_64-default-linuxapp-gcc # make T=x86_64-default-linuxapp-gcc .. Build complete # modprobe uio (I think this is not useful) # insmod build/kmod/rte_kni.ko (I think this is not useful) # insmod build/kmod/igb_uio.ko (I think this is not useful) # ./tools/pci_unbind.py --status Network devices using IGB_UIO driver ==================================== <none> Network devices using kernel driver =================================== 0000:00:19.0 'Ethernet Connection I217-LM' if=eth1 drv=e1000e unused=<none> *Active* 0000:04:00.0 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller' if=eth0 drv=r8169 unused=<none> Other network devices ===================== <none> # ip link set eth1 down # lspci|grep -i 'Ethernet.*Intel' 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 05) # ./tools/pci_unbind.py --bind=e1000e 00:19.0
Prepare examples programs:¶
# export RTE_SDK=/root/sileht/dpdk-1.6.0r1 # export RTE_TARGET=build # cd /root/sileht/ # cp -r $RTE_SDK/examples/helloworld my_rte_app # cd my_rte_app # make