DPDK » Historique » Version 9
Mehdi Abaakouk, 02/05/2014 17:01
1 | 1 | Laurent GUERBY | {{>toc}} |
---|---|---|---|
2 | 1 | Laurent GUERBY | |
3 | 1 | Laurent GUERBY | h1. DPDK |
4 | 1 | Laurent GUERBY | |
5 | 1 | Laurent GUERBY | Traitement haute performance en logiciel, 10 Gbit/s en petit paquets line rate |
6 | 1 | Laurent GUERBY | |
7 | 1 | Laurent GUERBY | h2. Liens |
8 | 1 | Laurent GUERBY | |
9 | 1 | Laurent GUERBY | * http://dpdk.org |
10 | 1 | Laurent GUERBY | * [[AtelierPPS2012]] |
11 | 2 | Laurent GUERBY | |
12 | 2 | Laurent GUERBY | h2. Misc |
13 | 2 | Laurent GUERBY | |
14 | 2 | Laurent GUERBY | * Intel PCI id http://www.intel.com/support/network/sb/cs-012904.htm |
15 | 3 | Laurent GUERBY | * 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 |
16 | 3 | Laurent GUERBY | * Intel Pro/1000 PT vs CT http://hardforum.com/showthread.php?t=1386042 |
17 | 4 | Laurent GUERBY | * http://images.ncix.com/forumimages/C9864B87-583B-10FB-B0DE80742781CE07.jpg |
18 | 4 | Laurent GUERBY | * http://www.intel.com/content/www/us/en/ethernet-controllers/ethernet-controllers.html#s1=all&s2=82572EI&s3=all |
19 | 4 | Laurent GUERBY | * http://www.intel.com/content/www/us/en/ethernet-controllers/ethernet-controllers.html#s1=all&s2=82574L&s3=all |
20 | 5 | Laurent GUERBY | * https://github.com/Pktgen/Pktgen-DPDK |
21 | 6 | Laurent GUERBY | * Evaluating the Suitability of Server Network Cards for Software Routers http://kfall.net/ucbpage/papers/snc.pdf |
22 | 7 | Mehdi Abaakouk | |
23 | 7 | Mehdi Abaakouk | |
24 | 7 | Mehdi Abaakouk | h2. Note sileht dpdk: |
25 | 7 | Mehdi Abaakouk | |
26 | 7 | Mehdi Abaakouk | Extract from: http://www.intel.com/content/dam/www/public/us/en/documents/guides/intel-dpdk-getting-started-guide.pdf |
27 | 7 | Mehdi Abaakouk | |
28 | 7 | Mehdi Abaakouk | h3. configuration hugepages: |
29 | 7 | Mehdi Abaakouk | |
30 | 7 | Mehdi Abaakouk | * 2M (1024*2k): hugepages=1024 (at runtime: echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages) |
31 | 7 | Mehdi Abaakouk | * 4G (4x1G): default_hugepagesz=1G hugepagesz=1G hugepages=4 (only works at boot time via grub) |
32 | 7 | Mehdi Abaakouk | |
33 | 7 | Mehdi Abaakouk | <pre> |
34 | 7 | Mehdi Abaakouk | mkdir /mnt/huge |
35 | 7 | Mehdi Abaakouk | mount -t hugetlbfs nodev /mnt/huge |
36 | 7 | Mehdi Abaakouk | </pre> |
37 | 7 | Mehdi Abaakouk | |
38 | 7 | Mehdi Abaakouk | h3. Compile and load modules: |
39 | 7 | Mehdi Abaakouk | |
40 | 7 | Mehdi Abaakouk | _Note: source tools/setup.sh is a helper tools for this but works only with IGB driver not e1000e_ |
41 | 7 | Mehdi Abaakouk | |
42 | 1 | Laurent GUERBY | <pre> |
43 | 8 | Mehdi Abaakouk | # apt-get install make gcc linux-headers-amd64 |
44 | 8 | Mehdi Abaakouk | # make config T=x86_64-default-linuxapp-gcc |
45 | 7 | Mehdi Abaakouk | # make T=x86_64-default-linuxapp-gcc |
46 | 7 | Mehdi Abaakouk | .. |
47 | 7 | Mehdi Abaakouk | Build complete |
48 | 7 | Mehdi Abaakouk | |
49 | 7 | Mehdi Abaakouk | # modprobe uio (I think this is not useful) |
50 | 7 | Mehdi Abaakouk | # insmod build/kmod/rte_kni.ko (I think this is not useful) |
51 | 7 | Mehdi Abaakouk | # insmod build/kmod/igb_uio.ko (I think this is not useful) |
52 | 7 | Mehdi Abaakouk | # ./tools/pci_unbind.py --status |
53 | 7 | Mehdi Abaakouk | |
54 | 7 | Mehdi Abaakouk | Network devices using IGB_UIO driver |
55 | 7 | Mehdi Abaakouk | ==================================== |
56 | 7 | Mehdi Abaakouk | <none> |
57 | 7 | Mehdi Abaakouk | |
58 | 7 | Mehdi Abaakouk | Network devices using kernel driver |
59 | 7 | Mehdi Abaakouk | =================================== |
60 | 9 | Mehdi Abaakouk | 0000:00:19.0 '82579LM Gigabit Network Connection' if=eth1 drv=e1000e unused=<none> |
61 | 9 | Mehdi Abaakouk | 0000:01:00.0 '82599EB 10-Gigabit SFI/SFP+ Network Connection' if=eth6 drv=ixgbe unused=igb_uio *Active* |
62 | 9 | Mehdi Abaakouk | 0000:01:00.1 '82599EB 10-Gigabit SFI/SFP+ Network Connection' if=eth7 drv=ixgbe unused=igb_uio |
63 | 9 | Mehdi Abaakouk | 0000:04:00.0 '82571EB Gigabit Ethernet Controller' if=eth2 drv=e1000e unused=igb_uio *Active* |
64 | 9 | Mehdi Abaakouk | 0000:04:00.1 '82571EB Gigabit Ethernet Controller' if=eth3 drv=e1000e unused=igb_uio |
65 | 9 | Mehdi Abaakouk | 0000:05:00.0 '82571EB Gigabit Ethernet Controller' if=eth4 drv=e1000e unused=igb_uio |
66 | 9 | Mehdi Abaakouk | 0000:05:00.1 '82571EB Gigabit Ethernet Controller' if=eth5 drv=e1000e unused=igb_uio |
67 | 9 | Mehdi Abaakouk | 0000:06:00.0 'RTL8111/8168B PCI Express Gigabit Ethernet controller' if=eth0 drv=r8169 unused=<none> *Active* |
68 | 1 | Laurent GUERBY | |
69 | 1 | Laurent GUERBY | Other network devices |
70 | 1 | Laurent GUERBY | ===================== |
71 | 1 | Laurent GUERBY | <none> |
72 | 9 | Mehdi Abaakouk | </pre> |
73 | 7 | Mehdi Abaakouk | |
74 | 9 | Mehdi Abaakouk | test sur eth7: |
75 | 9 | Mehdi Abaakouk | |
76 | 9 | Mehdi Abaakouk | <pre> |
77 | 9 | Mehdi Abaakouk | # ip link set eth7 down |
78 | 9 | Mehdi Abaakouk | # ./tools/pci_unbind.py --bind=igb_uio 0000:01:00.1 |
79 | 7 | Mehdi Abaakouk | </pre> |
80 | 7 | Mehdi Abaakouk | |
81 | 7 | Mehdi Abaakouk | h3. Prepare examples programs: |
82 | 7 | Mehdi Abaakouk | |
83 | 7 | Mehdi Abaakouk | <pre> |
84 | 7 | Mehdi Abaakouk | # export RTE_SDK=/root/sileht/dpdk-1.6.0r1 |
85 | 7 | Mehdi Abaakouk | # export RTE_TARGET=build |
86 | 7 | Mehdi Abaakouk | # cd /root/sileht/ |
87 | 7 | Mehdi Abaakouk | # cp -r $RTE_SDK/examples/helloworld my_rte_app |
88 | 7 | Mehdi Abaakouk | # cd my_rte_app |
89 | 7 | Mehdi Abaakouk | # make |
90 | 7 | Mehdi Abaakouk | </pre> |
91 | 7 | Mehdi Abaakouk | |
92 | 7 | Mehdi Abaakouk | |
93 | 7 | Mehdi Abaakouk | h3. Tests |
94 | 7 | Mehdi Abaakouk | |
95 | 7 | Mehdi Abaakouk | <pre> |
96 | 1 | Laurent GUERBY | </pre> |