xref: /dpdk/doc/guides/prog_guide/index.rst (revision a9bb0c44c775784f3d6cafd4d774301db633cb47)
1fc1f2750SBernard Iremonger..  BSD LICENSE
2349950ddSRemy Horton    Copyright(c) 2010-2017 Intel Corporation. All rights reserved.
3fc1f2750SBernard Iremonger    All rights reserved.
4fc1f2750SBernard Iremonger
5fc1f2750SBernard Iremonger    Redistribution and use in source and binary forms, with or without
6fc1f2750SBernard Iremonger    modification, are permitted provided that the following conditions
7fc1f2750SBernard Iremonger    are met:
8fc1f2750SBernard Iremonger
9fc1f2750SBernard Iremonger    * Redistributions of source code must retain the above copyright
10fc1f2750SBernard Iremonger    notice, this list of conditions and the following disclaimer.
11fc1f2750SBernard Iremonger    * Redistributions in binary form must reproduce the above copyright
12fc1f2750SBernard Iremonger    notice, this list of conditions and the following disclaimer in
13fc1f2750SBernard Iremonger    the documentation and/or other materials provided with the
14fc1f2750SBernard Iremonger    distribution.
15fc1f2750SBernard Iremonger    * Neither the name of Intel Corporation nor the names of its
16fc1f2750SBernard Iremonger    contributors may be used to endorse or promote products derived
17fc1f2750SBernard Iremonger    from this software without specific prior written permission.
18fc1f2750SBernard Iremonger
19fc1f2750SBernard Iremonger    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20fc1f2750SBernard Iremonger    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21fc1f2750SBernard Iremonger    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22fc1f2750SBernard Iremonger    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23fc1f2750SBernard Iremonger    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24fc1f2750SBernard Iremonger    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25fc1f2750SBernard Iremonger    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26fc1f2750SBernard Iremonger    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27fc1f2750SBernard Iremonger    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28fc1f2750SBernard Iremonger    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29fc1f2750SBernard Iremonger    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30fc1f2750SBernard Iremonger
31fc1f2750SBernard IremongerProgrammer's Guide
32fc1f2750SBernard Iremonger==================
33fc1f2750SBernard Iremonger
34fc1f2750SBernard Iremonger.. toctree::
35fc1f2750SBernard Iremonger    :maxdepth: 3
36fc1f2750SBernard Iremonger    :numbered:
37fc1f2750SBernard Iremonger
38fc1f2750SBernard Iremonger    intro
39fc1f2750SBernard Iremonger    overview
40fc1f2750SBernard Iremonger    env_abstraction_layer
4121698354SHarry van Haaren    service_cores
42fc1f2750SBernard Iremonger    ring_lib
43fc1f2750SBernard Iremonger    mempool_lib
44fc1f2750SBernard Iremonger    mbuf_lib
45fc1f2750SBernard Iremonger    poll_mode_drv
464d73b6fbSAdrien Mazarguil    rte_flow
475bf4bebbSCristian Dumitrescu    traffic_metering_and_policing
48e660897dSJasvinder Singh    traffic_management
494935e1e9SAmr Mokhtar    bbdev
500318c02bSDeclan Doherty    cryptodev_lib
5140ff8c99SAkhil Goyal    rte_security
52*a9bb0c44SShreyansh Jain    rawdev
53fc1f2750SBernard Iremonger    link_bonding_poll_mode_drv_lib
54fc1f2750SBernard Iremonger    timer_lib
55fc1f2750SBernard Iremonger    hash_lib
560dd62a01SPablo de Lara    efd_lib
5755694b2aSYipeng Wang    member_lib
58fc1f2750SBernard Iremonger    lpm_lib
59fc1f2750SBernard Iremonger    lpm6_lib
60fdec9301SBernard Iremonger    flow_classify_lib
61fc1f2750SBernard Iremonger    packet_distrib_lib
6234287c69SSergio Gonzalez Monroy    reorder_lib
63fc1f2750SBernard Iremonger    ip_fragment_reassembly_lib
642c900d09SJiayu Hu    generic_receive_offload_lib
65f6010c76SMark Kavanagh    generic_segmentation_offload_lib
66278f9454SReshma Pattan    pdump_lib
67fc1f2750SBernard Iremonger    multi_proc_support
68fc1f2750SBernard Iremonger    kernel_nic_interface
694b152471SThomas Monjalon    thread_safety_dpdk_functions
707358c91fSHarry van Haaren    eventdev
713ffa6809SNikhil Rao    event_ethernet_rx_adapter
72fc1f2750SBernard Iremonger    qos_framework
73fc1f2750SBernard Iremonger    power_man
74fc1f2750SBernard Iremonger    packet_classif_access_ctrl
75fc1f2750SBernard Iremonger    packet_framework
760ee5e7fbSSiobhan Butler    vhost_lib
77349950ddSRemy Horton    metrics_lib
780cf92e62STetsuya Mukawa    port_hotplug_framework
79fc1f2750SBernard Iremonger    source_org
80fc1f2750SBernard Iremonger    dev_kit_build_system
81fc1f2750SBernard Iremonger    dev_kit_root_make_help
824b152471SThomas Monjalon    extend_dpdk
83fc1f2750SBernard Iremonger    build_app
84fc1f2750SBernard Iremonger    ext_app_lib_make_help
85fc1f2750SBernard Iremonger    perf_opt_guidelines
86fc1f2750SBernard Iremonger    writing_efficient_code
87fc1f2750SBernard Iremonger    profile_app
88fc1f2750SBernard Iremonger    glossary
89fc1f2750SBernard Iremonger
90fc1f2750SBernard Iremonger
91fc1f2750SBernard Iremonger**Figures**
92fc1f2750SBernard Iremonger
934a22e6eeSJohn McNamara:numref:`figure_architecture-overview` :ref:`figure_architecture-overview`
94fc1f2750SBernard Iremonger
954a22e6eeSJohn McNamara:numref:`figure_linuxapp_launch` :ref:`figure_linuxapp_launch`
96fc1f2750SBernard Iremonger
974a22e6eeSJohn McNamara:numref:`figure_malloc_heap` :ref:`figure_malloc_heap`
98fc1f2750SBernard Iremonger
994a22e6eeSJohn McNamara:numref:`figure_ring1` :ref:`figure_ring1`
100fc1f2750SBernard Iremonger
1014a22e6eeSJohn McNamara:numref:`figure_ring-enqueue1` :ref:`figure_ring-enqueue1`
102fc1f2750SBernard Iremonger
1034a22e6eeSJohn McNamara:numref:`figure_ring-enqueue2` :ref:`figure_ring-enqueue2`
104fc1f2750SBernard Iremonger
1054a22e6eeSJohn McNamara:numref:`figure_ring-enqueue3` :ref:`figure_ring-enqueue3`
106fc1f2750SBernard Iremonger
1074a22e6eeSJohn McNamara:numref:`figure_ring-dequeue1` :ref:`figure_ring-dequeue1`
108fc1f2750SBernard Iremonger
1094a22e6eeSJohn McNamara:numref:`figure_ring-dequeue2` :ref:`figure_ring-dequeue2`
110fc1f2750SBernard Iremonger
1114a22e6eeSJohn McNamara:numref:`figure_ring-dequeue3` :ref:`figure_ring-dequeue3`
112fc1f2750SBernard Iremonger
1134a22e6eeSJohn McNamara:numref:`figure_ring-mp-enqueue1` :ref:`figure_ring-mp-enqueue1`
114fc1f2750SBernard Iremonger
1154a22e6eeSJohn McNamara:numref:`figure_ring-mp-enqueue2` :ref:`figure_ring-mp-enqueue2`
116fc1f2750SBernard Iremonger
1174a22e6eeSJohn McNamara:numref:`figure_ring-mp-enqueue3` :ref:`figure_ring-mp-enqueue3`
118fc1f2750SBernard Iremonger
1194a22e6eeSJohn McNamara:numref:`figure_ring-mp-enqueue4` :ref:`figure_ring-mp-enqueue4`
120fc1f2750SBernard Iremonger
1214a22e6eeSJohn McNamara:numref:`figure_ring-mp-enqueue5` :ref:`figure_ring-mp-enqueue5`
122fc1f2750SBernard Iremonger
1234a22e6eeSJohn McNamara:numref:`figure_ring-modulo1` :ref:`figure_ring-modulo1`
124fc1f2750SBernard Iremonger
1254a22e6eeSJohn McNamara:numref:`figure_ring-modulo2` :ref:`figure_ring-modulo2`
126fc1f2750SBernard Iremonger
1274a22e6eeSJohn McNamara:numref:`figure_memory-management` :ref:`figure_memory-management`
128fc1f2750SBernard Iremonger
1294a22e6eeSJohn McNamara:numref:`figure_memory-management2` :ref:`figure_memory-management2`
130fc1f2750SBernard Iremonger
1314a22e6eeSJohn McNamara:numref:`figure_mempool` :ref:`figure_mempool`
132fc1f2750SBernard Iremonger
1334a22e6eeSJohn McNamara:numref:`figure_mbuf1` :ref:`figure_mbuf1`
134fc1f2750SBernard Iremonger
1354a22e6eeSJohn McNamara:numref:`figure_mbuf2` :ref:`figure_mbuf2`
136fc1f2750SBernard Iremonger
1374a22e6eeSJohn McNamara:numref:`figure_multi_process_memory` :ref:`figure_multi_process_memory`
138fc1f2750SBernard Iremonger
1394a22e6eeSJohn McNamara:numref:`figure_kernel_nic_intf` :ref:`figure_kernel_nic_intf`
140fc1f2750SBernard Iremonger
1414a22e6eeSJohn McNamara:numref:`figure_pkt_flow_kni` :ref:`figure_pkt_flow_kni`
142fc1f2750SBernard Iremonger
143fc1f2750SBernard Iremonger
1444a22e6eeSJohn McNamara:numref:`figure_pkt_proc_pipeline_qos` :ref:`figure_pkt_proc_pipeline_qos`
145fc1f2750SBernard Iremonger
1464a22e6eeSJohn McNamara:numref:`figure_hier_sched_blk` :ref:`figure_hier_sched_blk`
147fc1f2750SBernard Iremonger
1484a22e6eeSJohn McNamara:numref:`figure_sched_hier_per_port` :ref:`figure_sched_hier_per_port`
149fc1f2750SBernard Iremonger
1504a22e6eeSJohn McNamara:numref:`figure_data_struct_per_port` :ref:`figure_data_struct_per_port`
151fc1f2750SBernard Iremonger
1524a22e6eeSJohn McNamara:numref:`figure_prefetch_pipeline` :ref:`figure_prefetch_pipeline`
1534a22e6eeSJohn McNamara
1544a22e6eeSJohn McNamara:numref:`figure_pipe_prefetch_sm` :ref:`figure_pipe_prefetch_sm`
1554a22e6eeSJohn McNamara
1564a22e6eeSJohn McNamara:numref:`figure_blk_diag_dropper` :ref:`figure_blk_diag_dropper`
1574a22e6eeSJohn McNamara
1584a22e6eeSJohn McNamara:numref:`figure_flow_tru_droppper` :ref:`figure_flow_tru_droppper`
1594a22e6eeSJohn McNamara
1604a22e6eeSJohn McNamara:numref:`figure_ex_data_flow_tru_dropper` :ref:`figure_ex_data_flow_tru_dropper`
1614a22e6eeSJohn McNamara
1624a22e6eeSJohn McNamara:numref:`figure_pkt_drop_probability` :ref:`figure_pkt_drop_probability`
1634a22e6eeSJohn McNamara
1644a22e6eeSJohn McNamara:numref:`figure_drop_probability_graph` :ref:`figure_drop_probability_graph`
1654a22e6eeSJohn McNamara
1664a22e6eeSJohn McNamara:numref:`figure_figure32` :ref:`figure_figure32`
1674a22e6eeSJohn McNamara
1684a22e6eeSJohn McNamara:numref:`figure_figure33` :ref:`figure_figure33`
1694a22e6eeSJohn McNamara
1704a22e6eeSJohn McNamara:numref:`figure_figure34` :ref:`figure_figure34`
1714a22e6eeSJohn McNamara
1724a22e6eeSJohn McNamara:numref:`figure_figure35` :ref:`figure_figure35`
1734a22e6eeSJohn McNamara
1744a22e6eeSJohn McNamara:numref:`figure_figure37` :ref:`figure_figure37`
1754a22e6eeSJohn McNamara
1764a22e6eeSJohn McNamara:numref:`figure_figure38` :ref:`figure_figure38`
1774a22e6eeSJohn McNamara
1784a22e6eeSJohn McNamara:numref:`figure_figure39` :ref:`figure_figure39`
1794a22e6eeSJohn McNamara
1800dd62a01SPablo de Lara:numref:`figure_efd1` :ref:`figure_efd1`
1810dd62a01SPablo de Lara
1820dd62a01SPablo de Lara:numref:`figure_efd2` :ref:`figure_efd2`
1830dd62a01SPablo de Lara
1840dd62a01SPablo de Lara:numref:`figure_efd3` :ref:`figure_efd3`
1850dd62a01SPablo de Lara
1860dd62a01SPablo de Lara:numref:`figure_efd4` :ref:`figure_efd4`
1870dd62a01SPablo de Lara
1880dd62a01SPablo de Lara:numref:`figure_efd5` :ref:`figure_efd5`
1890dd62a01SPablo de Lara
1900dd62a01SPablo de Lara:numref:`figure_efd6` :ref:`figure_efd6`
1910dd62a01SPablo de Lara
1920dd62a01SPablo de Lara:numref:`figure_efd7` :ref:`figure_efd7`
1930dd62a01SPablo de Lara
1940dd62a01SPablo de Lara:numref:`figure_efd8` :ref:`figure_efd8`
1950dd62a01SPablo de Lara
1960dd62a01SPablo de Lara:numref:`figure_efd9` :ref:`figure_efd9`
1970dd62a01SPablo de Lara
1980dd62a01SPablo de Lara:numref:`figure_efd10` :ref:`figure_efd10`
1990dd62a01SPablo de Lara
2000dd62a01SPablo de Lara:numref:`figure_efd11` :ref:`figure_efd11`
2010dd62a01SPablo de Lara
20255694b2aSYipeng Wang:numref:`figure_membership1` :ref:`figure_membership1`
20355694b2aSYipeng Wang
20455694b2aSYipeng Wang:numref:`figure_membership2` :ref:`figure_membership2`
20555694b2aSYipeng Wang
20655694b2aSYipeng Wang:numref:`figure_membership3` :ref:`figure_membership3`
20755694b2aSYipeng Wang
20855694b2aSYipeng Wang:numref:`figure_membership4` :ref:`figure_membership4`
20955694b2aSYipeng Wang
21055694b2aSYipeng Wang:numref:`figure_membership5` :ref:`figure_membership5`
21155694b2aSYipeng Wang
21255694b2aSYipeng Wang:numref:`figure_membership6` :ref:`figure_membership6`
21355694b2aSYipeng Wang
21455694b2aSYipeng Wang:numref:`figure_membership7` :ref:`figure_membership7`
215fc1f2750SBernard Iremonger
216fc1f2750SBernard Iremonger**Tables**
217fc1f2750SBernard Iremonger
2188c9a3374SJohn McNamara:numref:`table_qos_1` :ref:`table_qos_1`
219fc1f2750SBernard Iremonger
2208c9a3374SJohn McNamara:numref:`table_qos_2` :ref:`table_qos_2`
221fc1f2750SBernard Iremonger
2228c9a3374SJohn McNamara:numref:`table_qos_3` :ref:`table_qos_3`
223fc1f2750SBernard Iremonger
2248c9a3374SJohn McNamara:numref:`table_qos_4` :ref:`table_qos_4`
225fc1f2750SBernard Iremonger
2268c9a3374SJohn McNamara:numref:`table_qos_5` :ref:`table_qos_5`
227fc1f2750SBernard Iremonger
2288c9a3374SJohn McNamara:numref:`table_qos_6` :ref:`table_qos_6`
229fc1f2750SBernard Iremonger
2308c9a3374SJohn McNamara:numref:`table_qos_7` :ref:`table_qos_7`
231fc1f2750SBernard Iremonger
2328c9a3374SJohn McNamara:numref:`table_qos_8` :ref:`table_qos_8`
233fc1f2750SBernard Iremonger
2348c9a3374SJohn McNamara:numref:`table_qos_9` :ref:`table_qos_9`
235fc1f2750SBernard Iremonger
2368c9a3374SJohn McNamara:numref:`table_qos_10` :ref:`table_qos_10`
237fc1f2750SBernard Iremonger
2388c9a3374SJohn McNamara:numref:`table_qos_11` :ref:`table_qos_11`
239fc1f2750SBernard Iremonger
2408c9a3374SJohn McNamara:numref:`table_qos_12` :ref:`table_qos_12`
241fc1f2750SBernard Iremonger
2428c9a3374SJohn McNamara:numref:`table_qos_13` :ref:`table_qos_13`
243fc1f2750SBernard Iremonger
2448c9a3374SJohn McNamara:numref:`table_qos_14` :ref:`table_qos_14`
245fc1f2750SBernard Iremonger
2468c9a3374SJohn McNamara:numref:`table_qos_15` :ref:`table_qos_15`
247fc1f2750SBernard Iremonger
2488c9a3374SJohn McNamara:numref:`table_qos_16` :ref:`table_qos_16`
249fc1f2750SBernard Iremonger
2508c9a3374SJohn McNamara:numref:`table_qos_17` :ref:`table_qos_17`
251fc1f2750SBernard Iremonger
2528c9a3374SJohn McNamara:numref:`table_qos_18` :ref:`table_qos_18`
253fc1f2750SBernard Iremonger
2548c9a3374SJohn McNamara:numref:`table_qos_19` :ref:`table_qos_19`
255fc1f2750SBernard Iremonger
2568c9a3374SJohn McNamara:numref:`table_qos_20` :ref:`table_qos_20`
257fc1f2750SBernard Iremonger
2588c9a3374SJohn McNamara:numref:`table_qos_21` :ref:`table_qos_21`
259fc1f2750SBernard Iremonger
2608c9a3374SJohn McNamara:numref:`table_qos_22` :ref:`table_qos_22`
261fc1f2750SBernard Iremonger
2628c9a3374SJohn McNamara:numref:`table_qos_23` :ref:`table_qos_23`
263fc1f2750SBernard Iremonger
2648c9a3374SJohn McNamara:numref:`table_qos_24` :ref:`table_qos_24`
265fc1f2750SBernard Iremonger
2668c9a3374SJohn McNamara:numref:`table_qos_25` :ref:`table_qos_25`
267fc1f2750SBernard Iremonger
2688c9a3374SJohn McNamara:numref:`table_qos_26` :ref:`table_qos_26`
269fc1f2750SBernard Iremonger
2708c9a3374SJohn McNamara:numref:`table_qos_27` :ref:`table_qos_27`
271fc1f2750SBernard Iremonger
2728c9a3374SJohn McNamara:numref:`table_qos_28` :ref:`table_qos_28`
273fc1f2750SBernard Iremonger
2748c9a3374SJohn McNamara:numref:`table_qos_29` :ref:`table_qos_29`
275fc1f2750SBernard Iremonger
2768c9a3374SJohn McNamara:numref:`table_qos_30` :ref:`table_qos_30`
277fc1f2750SBernard Iremonger
2788c9a3374SJohn McNamara:numref:`table_qos_31` :ref:`table_qos_31`
279fc1f2750SBernard Iremonger
2808c9a3374SJohn McNamara:numref:`table_qos_32` :ref:`table_qos_32`
281fc1f2750SBernard Iremonger
2828c9a3374SJohn McNamara:numref:`table_qos_33` :ref:`table_qos_33`
283fc1f2750SBernard Iremonger
2848c9a3374SJohn McNamara:numref:`table_qos_34` :ref:`table_qos_34`
28527bd48ffSPablo de Lara
28627bd48ffSPablo de Lara:numref:`table_hash_lib_1` :ref:`table_hash_lib_1`
28727bd48ffSPablo de Lara
28827bd48ffSPablo de Lara:numref:`table_hash_lib_2` :ref:`table_hash_lib_2`
289