xref: /dpdk/doc/guides/prog_guide/index.rst (revision 14b8f0bbe51976d4a9bdd5d0ceccd4d86c6ff9ae)
15630257fSFerruh Yigit..  SPDX-License-Identifier: BSD-3-Clause
25630257fSFerruh Yigit    Copyright(c) 2010-2017 Intel Corporation.
3fc1f2750SBernard Iremonger
4fc1f2750SBernard IremongerProgrammer's Guide
5fc1f2750SBernard Iremonger==================
6fc1f2750SBernard Iremonger
7fc1f2750SBernard Iremonger.. toctree::
8fc1f2750SBernard Iremonger    :maxdepth: 3
9fc1f2750SBernard Iremonger    :numbered:
10fc1f2750SBernard Iremonger
11fc1f2750SBernard Iremonger    intro
12fc1f2750SBernard Iremonger    overview
13fc1f2750SBernard Iremonger    env_abstraction_layer
1421698354SHarry van Haaren    service_cores
15fc1f2750SBernard Iremonger    ring_lib
16fc1f2750SBernard Iremonger    mempool_lib
17fc1f2750SBernard Iremonger    mbuf_lib
18fc1f2750SBernard Iremonger    poll_mode_drv
194d73b6fbSAdrien Mazarguil    rte_flow
20b7f859c9SDeclan Doherty    switch_representation
215bf4bebbSCristian Dumitrescu    traffic_metering_and_policing
22e660897dSJasvinder Singh    traffic_management
234935e1e9SAmr Mokhtar    bbdev
240318c02bSDeclan Doherty    cryptodev_lib
25a584d3beSAshish Gupta    compressdev
2640ff8c99SAkhil Goyal    rte_security
27a9bb0c44SShreyansh Jain    rawdev
28fc1f2750SBernard Iremonger    link_bonding_poll_mode_drv_lib
29fc1f2750SBernard Iremonger    timer_lib
30fc1f2750SBernard Iremonger    hash_lib
310dd62a01SPablo de Lara    efd_lib
3255694b2aSYipeng Wang    member_lib
33fc1f2750SBernard Iremonger    lpm_lib
34fc1f2750SBernard Iremonger    lpm6_lib
35fdec9301SBernard Iremonger    flow_classify_lib
36fc1f2750SBernard Iremonger    packet_distrib_lib
3734287c69SSergio Gonzalez Monroy    reorder_lib
38fc1f2750SBernard Iremonger    ip_fragment_reassembly_lib
392c900d09SJiayu Hu    generic_receive_offload_lib
40f6010c76SMark Kavanagh    generic_segmentation_offload_lib
41278f9454SReshma Pattan    pdump_lib
42fc1f2750SBernard Iremonger    multi_proc_support
43fc1f2750SBernard Iremonger    kernel_nic_interface
444b152471SThomas Monjalon    thread_safety_dpdk_functions
457358c91fSHarry van Haaren    eventdev
463ffa6809SNikhil Rao    event_ethernet_rx_adapter
4730e7fbd6SErik Gabriel Carrillo    event_timer_adapter
487b51fc96SAbhinandan Gujjar    event_crypto_adapter
49fc1f2750SBernard Iremonger    qos_framework
50fc1f2750SBernard Iremonger    power_man
51fc1f2750SBernard Iremonger    packet_classif_access_ctrl
52fc1f2750SBernard Iremonger    packet_framework
530ee5e7fbSSiobhan Butler    vhost_lib
54349950ddSRemy Horton    metrics_lib
550cf92e62STetsuya Mukawa    port_hotplug_framework
56*14b8f0bbSKonstantin Ananyev    bpf_lib
57fc1f2750SBernard Iremonger    source_org
58fc1f2750SBernard Iremonger    dev_kit_build_system
59fc1f2750SBernard Iremonger    dev_kit_root_make_help
604b152471SThomas Monjalon    extend_dpdk
61fc1f2750SBernard Iremonger    build_app
62fc1f2750SBernard Iremonger    ext_app_lib_make_help
63fc1f2750SBernard Iremonger    perf_opt_guidelines
64fc1f2750SBernard Iremonger    writing_efficient_code
65fc1f2750SBernard Iremonger    profile_app
66fc1f2750SBernard Iremonger    glossary
67fc1f2750SBernard Iremonger
68fc1f2750SBernard Iremonger
69fc1f2750SBernard Iremonger**Figures**
70fc1f2750SBernard Iremonger
714a22e6eeSJohn McNamara:numref:`figure_architecture-overview` :ref:`figure_architecture-overview`
72fc1f2750SBernard Iremonger
734a22e6eeSJohn McNamara:numref:`figure_linuxapp_launch` :ref:`figure_linuxapp_launch`
74fc1f2750SBernard Iremonger
754a22e6eeSJohn McNamara:numref:`figure_malloc_heap` :ref:`figure_malloc_heap`
76fc1f2750SBernard Iremonger
774a22e6eeSJohn McNamara:numref:`figure_ring1` :ref:`figure_ring1`
78fc1f2750SBernard Iremonger
794a22e6eeSJohn McNamara:numref:`figure_ring-enqueue1` :ref:`figure_ring-enqueue1`
80fc1f2750SBernard Iremonger
814a22e6eeSJohn McNamara:numref:`figure_ring-enqueue2` :ref:`figure_ring-enqueue2`
82fc1f2750SBernard Iremonger
834a22e6eeSJohn McNamara:numref:`figure_ring-enqueue3` :ref:`figure_ring-enqueue3`
84fc1f2750SBernard Iremonger
854a22e6eeSJohn McNamara:numref:`figure_ring-dequeue1` :ref:`figure_ring-dequeue1`
86fc1f2750SBernard Iremonger
874a22e6eeSJohn McNamara:numref:`figure_ring-dequeue2` :ref:`figure_ring-dequeue2`
88fc1f2750SBernard Iremonger
894a22e6eeSJohn McNamara:numref:`figure_ring-dequeue3` :ref:`figure_ring-dequeue3`
90fc1f2750SBernard Iremonger
914a22e6eeSJohn McNamara:numref:`figure_ring-mp-enqueue1` :ref:`figure_ring-mp-enqueue1`
92fc1f2750SBernard Iremonger
934a22e6eeSJohn McNamara:numref:`figure_ring-mp-enqueue2` :ref:`figure_ring-mp-enqueue2`
94fc1f2750SBernard Iremonger
954a22e6eeSJohn McNamara:numref:`figure_ring-mp-enqueue3` :ref:`figure_ring-mp-enqueue3`
96fc1f2750SBernard Iremonger
974a22e6eeSJohn McNamara:numref:`figure_ring-mp-enqueue4` :ref:`figure_ring-mp-enqueue4`
98fc1f2750SBernard Iremonger
994a22e6eeSJohn McNamara:numref:`figure_ring-mp-enqueue5` :ref:`figure_ring-mp-enqueue5`
100fc1f2750SBernard Iremonger
1014a22e6eeSJohn McNamara:numref:`figure_ring-modulo1` :ref:`figure_ring-modulo1`
102fc1f2750SBernard Iremonger
1034a22e6eeSJohn McNamara:numref:`figure_ring-modulo2` :ref:`figure_ring-modulo2`
104fc1f2750SBernard Iremonger
1054a22e6eeSJohn McNamara:numref:`figure_memory-management` :ref:`figure_memory-management`
106fc1f2750SBernard Iremonger
1074a22e6eeSJohn McNamara:numref:`figure_memory-management2` :ref:`figure_memory-management2`
108fc1f2750SBernard Iremonger
1094a22e6eeSJohn McNamara:numref:`figure_mempool` :ref:`figure_mempool`
110fc1f2750SBernard Iremonger
1114a22e6eeSJohn McNamara:numref:`figure_mbuf1` :ref:`figure_mbuf1`
112fc1f2750SBernard Iremonger
1134a22e6eeSJohn McNamara:numref:`figure_mbuf2` :ref:`figure_mbuf2`
114fc1f2750SBernard Iremonger
1154a22e6eeSJohn McNamara:numref:`figure_multi_process_memory` :ref:`figure_multi_process_memory`
116fc1f2750SBernard Iremonger
1174a22e6eeSJohn McNamara:numref:`figure_kernel_nic_intf` :ref:`figure_kernel_nic_intf`
118fc1f2750SBernard Iremonger
1194a22e6eeSJohn McNamara:numref:`figure_pkt_flow_kni` :ref:`figure_pkt_flow_kni`
120fc1f2750SBernard Iremonger
121fc1f2750SBernard Iremonger
1224a22e6eeSJohn McNamara:numref:`figure_pkt_proc_pipeline_qos` :ref:`figure_pkt_proc_pipeline_qos`
123fc1f2750SBernard Iremonger
1244a22e6eeSJohn McNamara:numref:`figure_hier_sched_blk` :ref:`figure_hier_sched_blk`
125fc1f2750SBernard Iremonger
1264a22e6eeSJohn McNamara:numref:`figure_sched_hier_per_port` :ref:`figure_sched_hier_per_port`
127fc1f2750SBernard Iremonger
1284a22e6eeSJohn McNamara:numref:`figure_data_struct_per_port` :ref:`figure_data_struct_per_port`
129fc1f2750SBernard Iremonger
1304a22e6eeSJohn McNamara:numref:`figure_prefetch_pipeline` :ref:`figure_prefetch_pipeline`
1314a22e6eeSJohn McNamara
1324a22e6eeSJohn McNamara:numref:`figure_pipe_prefetch_sm` :ref:`figure_pipe_prefetch_sm`
1334a22e6eeSJohn McNamara
1344a22e6eeSJohn McNamara:numref:`figure_blk_diag_dropper` :ref:`figure_blk_diag_dropper`
1354a22e6eeSJohn McNamara
1364a22e6eeSJohn McNamara:numref:`figure_flow_tru_droppper` :ref:`figure_flow_tru_droppper`
1374a22e6eeSJohn McNamara
1384a22e6eeSJohn McNamara:numref:`figure_ex_data_flow_tru_dropper` :ref:`figure_ex_data_flow_tru_dropper`
1394a22e6eeSJohn McNamara
1404a22e6eeSJohn McNamara:numref:`figure_pkt_drop_probability` :ref:`figure_pkt_drop_probability`
1414a22e6eeSJohn McNamara
1424a22e6eeSJohn McNamara:numref:`figure_drop_probability_graph` :ref:`figure_drop_probability_graph`
1434a22e6eeSJohn McNamara
1444a22e6eeSJohn McNamara:numref:`figure_figure32` :ref:`figure_figure32`
1454a22e6eeSJohn McNamara
1464a22e6eeSJohn McNamara:numref:`figure_figure33` :ref:`figure_figure33`
1474a22e6eeSJohn McNamara
1484a22e6eeSJohn McNamara:numref:`figure_figure34` :ref:`figure_figure34`
1494a22e6eeSJohn McNamara
1504a22e6eeSJohn McNamara:numref:`figure_figure35` :ref:`figure_figure35`
1514a22e6eeSJohn McNamara
1524a22e6eeSJohn McNamara:numref:`figure_figure37` :ref:`figure_figure37`
1534a22e6eeSJohn McNamara
1544a22e6eeSJohn McNamara:numref:`figure_figure38` :ref:`figure_figure38`
1554a22e6eeSJohn McNamara
1564a22e6eeSJohn McNamara:numref:`figure_figure39` :ref:`figure_figure39`
1574a22e6eeSJohn McNamara
1580dd62a01SPablo de Lara:numref:`figure_efd1` :ref:`figure_efd1`
1590dd62a01SPablo de Lara
1600dd62a01SPablo de Lara:numref:`figure_efd2` :ref:`figure_efd2`
1610dd62a01SPablo de Lara
1620dd62a01SPablo de Lara:numref:`figure_efd3` :ref:`figure_efd3`
1630dd62a01SPablo de Lara
1640dd62a01SPablo de Lara:numref:`figure_efd4` :ref:`figure_efd4`
1650dd62a01SPablo de Lara
1660dd62a01SPablo de Lara:numref:`figure_efd5` :ref:`figure_efd5`
1670dd62a01SPablo de Lara
1680dd62a01SPablo de Lara:numref:`figure_efd6` :ref:`figure_efd6`
1690dd62a01SPablo de Lara
1700dd62a01SPablo de Lara:numref:`figure_efd7` :ref:`figure_efd7`
1710dd62a01SPablo de Lara
1720dd62a01SPablo de Lara:numref:`figure_efd8` :ref:`figure_efd8`
1730dd62a01SPablo de Lara
1740dd62a01SPablo de Lara:numref:`figure_efd9` :ref:`figure_efd9`
1750dd62a01SPablo de Lara
1760dd62a01SPablo de Lara:numref:`figure_efd10` :ref:`figure_efd10`
1770dd62a01SPablo de Lara
1780dd62a01SPablo de Lara:numref:`figure_efd11` :ref:`figure_efd11`
1790dd62a01SPablo de Lara
18055694b2aSYipeng Wang:numref:`figure_membership1` :ref:`figure_membership1`
18155694b2aSYipeng Wang
18255694b2aSYipeng Wang:numref:`figure_membership2` :ref:`figure_membership2`
18355694b2aSYipeng Wang
18455694b2aSYipeng Wang:numref:`figure_membership3` :ref:`figure_membership3`
18555694b2aSYipeng Wang
18655694b2aSYipeng Wang:numref:`figure_membership4` :ref:`figure_membership4`
18755694b2aSYipeng Wang
18855694b2aSYipeng Wang:numref:`figure_membership5` :ref:`figure_membership5`
18955694b2aSYipeng Wang
19055694b2aSYipeng Wang:numref:`figure_membership6` :ref:`figure_membership6`
19155694b2aSYipeng Wang
19255694b2aSYipeng Wang:numref:`figure_membership7` :ref:`figure_membership7`
193fc1f2750SBernard Iremonger
194fc1f2750SBernard Iremonger**Tables**
195fc1f2750SBernard Iremonger
1968c9a3374SJohn McNamara:numref:`table_qos_1` :ref:`table_qos_1`
197fc1f2750SBernard Iremonger
1988c9a3374SJohn McNamara:numref:`table_qos_2` :ref:`table_qos_2`
199fc1f2750SBernard Iremonger
2008c9a3374SJohn McNamara:numref:`table_qos_3` :ref:`table_qos_3`
201fc1f2750SBernard Iremonger
2028c9a3374SJohn McNamara:numref:`table_qos_4` :ref:`table_qos_4`
203fc1f2750SBernard Iremonger
2048c9a3374SJohn McNamara:numref:`table_qos_5` :ref:`table_qos_5`
205fc1f2750SBernard Iremonger
2068c9a3374SJohn McNamara:numref:`table_qos_6` :ref:`table_qos_6`
207fc1f2750SBernard Iremonger
2088c9a3374SJohn McNamara:numref:`table_qos_7` :ref:`table_qos_7`
209fc1f2750SBernard Iremonger
2108c9a3374SJohn McNamara:numref:`table_qos_8` :ref:`table_qos_8`
211fc1f2750SBernard Iremonger
2128c9a3374SJohn McNamara:numref:`table_qos_9` :ref:`table_qos_9`
213fc1f2750SBernard Iremonger
2148c9a3374SJohn McNamara:numref:`table_qos_10` :ref:`table_qos_10`
215fc1f2750SBernard Iremonger
2168c9a3374SJohn McNamara:numref:`table_qos_11` :ref:`table_qos_11`
217fc1f2750SBernard Iremonger
2188c9a3374SJohn McNamara:numref:`table_qos_12` :ref:`table_qos_12`
219fc1f2750SBernard Iremonger
2208c9a3374SJohn McNamara:numref:`table_qos_13` :ref:`table_qos_13`
221fc1f2750SBernard Iremonger
2228c9a3374SJohn McNamara:numref:`table_qos_14` :ref:`table_qos_14`
223fc1f2750SBernard Iremonger
2248c9a3374SJohn McNamara:numref:`table_qos_15` :ref:`table_qos_15`
225fc1f2750SBernard Iremonger
2268c9a3374SJohn McNamara:numref:`table_qos_16` :ref:`table_qos_16`
227fc1f2750SBernard Iremonger
2288c9a3374SJohn McNamara:numref:`table_qos_17` :ref:`table_qos_17`
229fc1f2750SBernard Iremonger
2308c9a3374SJohn McNamara:numref:`table_qos_18` :ref:`table_qos_18`
231fc1f2750SBernard Iremonger
2328c9a3374SJohn McNamara:numref:`table_qos_19` :ref:`table_qos_19`
233fc1f2750SBernard Iremonger
2348c9a3374SJohn McNamara:numref:`table_qos_20` :ref:`table_qos_20`
235fc1f2750SBernard Iremonger
2368c9a3374SJohn McNamara:numref:`table_qos_21` :ref:`table_qos_21`
237fc1f2750SBernard Iremonger
2388c9a3374SJohn McNamara:numref:`table_qos_22` :ref:`table_qos_22`
239fc1f2750SBernard Iremonger
2408c9a3374SJohn McNamara:numref:`table_qos_23` :ref:`table_qos_23`
241fc1f2750SBernard Iremonger
2428c9a3374SJohn McNamara:numref:`table_qos_24` :ref:`table_qos_24`
243fc1f2750SBernard Iremonger
2448c9a3374SJohn McNamara:numref:`table_qos_25` :ref:`table_qos_25`
245fc1f2750SBernard Iremonger
2468c9a3374SJohn McNamara:numref:`table_qos_26` :ref:`table_qos_26`
247fc1f2750SBernard Iremonger
2488c9a3374SJohn McNamara:numref:`table_qos_27` :ref:`table_qos_27`
249fc1f2750SBernard Iremonger
2508c9a3374SJohn McNamara:numref:`table_qos_28` :ref:`table_qos_28`
251fc1f2750SBernard Iremonger
2528c9a3374SJohn McNamara:numref:`table_qos_29` :ref:`table_qos_29`
253fc1f2750SBernard Iremonger
2548c9a3374SJohn McNamara:numref:`table_qos_30` :ref:`table_qos_30`
255fc1f2750SBernard Iremonger
2568c9a3374SJohn McNamara:numref:`table_qos_31` :ref:`table_qos_31`
257fc1f2750SBernard Iremonger
2588c9a3374SJohn McNamara:numref:`table_qos_32` :ref:`table_qos_32`
259fc1f2750SBernard Iremonger
2608c9a3374SJohn McNamara:numref:`table_qos_33` :ref:`table_qos_33`
261fc1f2750SBernard Iremonger
2628c9a3374SJohn McNamara:numref:`table_qos_34` :ref:`table_qos_34`
26327bd48ffSPablo de Lara
26427bd48ffSPablo de Lara:numref:`table_hash_lib_1` :ref:`table_hash_lib_1`
26527bd48ffSPablo de Lara
26627bd48ffSPablo de Lara:numref:`table_hash_lib_2` :ref:`table_hash_lib_2`
267