New upstream version 18.02
[deb_dpdk.git] / doc / guides / prog_guide / index.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright(c) 2010-2017 Intel Corporation.
3
4 Programmer's Guide
5 ==================
6
7 .. toctree::
8     :maxdepth: 3
9     :numbered:
10
11     intro
12     overview
13     env_abstraction_layer
14     service_cores
15     ring_lib
16     mempool_lib
17     mbuf_lib
18     poll_mode_drv
19     rte_flow
20     traffic_metering_and_policing
21     traffic_management
22     bbdev
23     cryptodev_lib
24     rte_security
25     rawdev
26     link_bonding_poll_mode_drv_lib
27     timer_lib
28     hash_lib
29     efd_lib
30     member_lib
31     lpm_lib
32     lpm6_lib
33     flow_classify_lib
34     packet_distrib_lib
35     reorder_lib
36     ip_fragment_reassembly_lib
37     generic_receive_offload_lib
38     generic_segmentation_offload_lib
39     pdump_lib
40     multi_proc_support
41     kernel_nic_interface
42     thread_safety_dpdk_functions
43     eventdev
44     event_ethernet_rx_adapter
45     qos_framework
46     power_man
47     packet_classif_access_ctrl
48     packet_framework
49     vhost_lib
50     metrics_lib
51     port_hotplug_framework
52     source_org
53     dev_kit_build_system
54     dev_kit_root_make_help
55     extend_dpdk
56     build_app
57     ext_app_lib_make_help
58     perf_opt_guidelines
59     writing_efficient_code
60     profile_app
61     glossary
62
63
64 **Figures**
65
66 :numref:`figure_architecture-overview` :ref:`figure_architecture-overview`
67
68 :numref:`figure_linuxapp_launch` :ref:`figure_linuxapp_launch`
69
70 :numref:`figure_malloc_heap` :ref:`figure_malloc_heap`
71
72 :numref:`figure_ring1` :ref:`figure_ring1`
73
74 :numref:`figure_ring-enqueue1` :ref:`figure_ring-enqueue1`
75
76 :numref:`figure_ring-enqueue2` :ref:`figure_ring-enqueue2`
77
78 :numref:`figure_ring-enqueue3` :ref:`figure_ring-enqueue3`
79
80 :numref:`figure_ring-dequeue1` :ref:`figure_ring-dequeue1`
81
82 :numref:`figure_ring-dequeue2` :ref:`figure_ring-dequeue2`
83
84 :numref:`figure_ring-dequeue3` :ref:`figure_ring-dequeue3`
85
86 :numref:`figure_ring-mp-enqueue1` :ref:`figure_ring-mp-enqueue1`
87
88 :numref:`figure_ring-mp-enqueue2` :ref:`figure_ring-mp-enqueue2`
89
90 :numref:`figure_ring-mp-enqueue3` :ref:`figure_ring-mp-enqueue3`
91
92 :numref:`figure_ring-mp-enqueue4` :ref:`figure_ring-mp-enqueue4`
93
94 :numref:`figure_ring-mp-enqueue5` :ref:`figure_ring-mp-enqueue5`
95
96 :numref:`figure_ring-modulo1` :ref:`figure_ring-modulo1`
97
98 :numref:`figure_ring-modulo2` :ref:`figure_ring-modulo2`
99
100 :numref:`figure_memory-management` :ref:`figure_memory-management`
101
102 :numref:`figure_memory-management2` :ref:`figure_memory-management2`
103
104 :numref:`figure_mempool` :ref:`figure_mempool`
105
106 :numref:`figure_mbuf1` :ref:`figure_mbuf1`
107
108 :numref:`figure_mbuf2` :ref:`figure_mbuf2`
109
110 :numref:`figure_multi_process_memory` :ref:`figure_multi_process_memory`
111
112 :numref:`figure_kernel_nic_intf` :ref:`figure_kernel_nic_intf`
113
114 :numref:`figure_pkt_flow_kni` :ref:`figure_pkt_flow_kni`
115
116
117 :numref:`figure_pkt_proc_pipeline_qos` :ref:`figure_pkt_proc_pipeline_qos`
118
119 :numref:`figure_hier_sched_blk` :ref:`figure_hier_sched_blk`
120
121 :numref:`figure_sched_hier_per_port` :ref:`figure_sched_hier_per_port`
122
123 :numref:`figure_data_struct_per_port` :ref:`figure_data_struct_per_port`
124
125 :numref:`figure_prefetch_pipeline` :ref:`figure_prefetch_pipeline`
126
127 :numref:`figure_pipe_prefetch_sm` :ref:`figure_pipe_prefetch_sm`
128
129 :numref:`figure_blk_diag_dropper` :ref:`figure_blk_diag_dropper`
130
131 :numref:`figure_flow_tru_droppper` :ref:`figure_flow_tru_droppper`
132
133 :numref:`figure_ex_data_flow_tru_dropper` :ref:`figure_ex_data_flow_tru_dropper`
134
135 :numref:`figure_pkt_drop_probability` :ref:`figure_pkt_drop_probability`
136
137 :numref:`figure_drop_probability_graph` :ref:`figure_drop_probability_graph`
138
139 :numref:`figure_figure32` :ref:`figure_figure32`
140
141 :numref:`figure_figure33` :ref:`figure_figure33`
142
143 :numref:`figure_figure34` :ref:`figure_figure34`
144
145 :numref:`figure_figure35` :ref:`figure_figure35`
146
147 :numref:`figure_figure37` :ref:`figure_figure37`
148
149 :numref:`figure_figure38` :ref:`figure_figure38`
150
151 :numref:`figure_figure39` :ref:`figure_figure39`
152
153 :numref:`figure_efd1` :ref:`figure_efd1`
154
155 :numref:`figure_efd2` :ref:`figure_efd2`
156
157 :numref:`figure_efd3` :ref:`figure_efd3`
158
159 :numref:`figure_efd4` :ref:`figure_efd4`
160
161 :numref:`figure_efd5` :ref:`figure_efd5`
162
163 :numref:`figure_efd6` :ref:`figure_efd6`
164
165 :numref:`figure_efd7` :ref:`figure_efd7`
166
167 :numref:`figure_efd8` :ref:`figure_efd8`
168
169 :numref:`figure_efd9` :ref:`figure_efd9`
170
171 :numref:`figure_efd10` :ref:`figure_efd10`
172
173 :numref:`figure_efd11` :ref:`figure_efd11`
174
175 :numref:`figure_membership1` :ref:`figure_membership1`
176
177 :numref:`figure_membership2` :ref:`figure_membership2`
178
179 :numref:`figure_membership3` :ref:`figure_membership3`
180
181 :numref:`figure_membership4` :ref:`figure_membership4`
182
183 :numref:`figure_membership5` :ref:`figure_membership5`
184
185 :numref:`figure_membership6` :ref:`figure_membership6`
186
187 :numref:`figure_membership7` :ref:`figure_membership7`
188
189 **Tables**
190
191 :numref:`table_qos_1` :ref:`table_qos_1`
192
193 :numref:`table_qos_2` :ref:`table_qos_2`
194
195 :numref:`table_qos_3` :ref:`table_qos_3`
196
197 :numref:`table_qos_4` :ref:`table_qos_4`
198
199 :numref:`table_qos_5` :ref:`table_qos_5`
200
201 :numref:`table_qos_6` :ref:`table_qos_6`
202
203 :numref:`table_qos_7` :ref:`table_qos_7`
204
205 :numref:`table_qos_8` :ref:`table_qos_8`
206
207 :numref:`table_qos_9` :ref:`table_qos_9`
208
209 :numref:`table_qos_10` :ref:`table_qos_10`
210
211 :numref:`table_qos_11` :ref:`table_qos_11`
212
213 :numref:`table_qos_12` :ref:`table_qos_12`
214
215 :numref:`table_qos_13` :ref:`table_qos_13`
216
217 :numref:`table_qos_14` :ref:`table_qos_14`
218
219 :numref:`table_qos_15` :ref:`table_qos_15`
220
221 :numref:`table_qos_16` :ref:`table_qos_16`
222
223 :numref:`table_qos_17` :ref:`table_qos_17`
224
225 :numref:`table_qos_18` :ref:`table_qos_18`
226
227 :numref:`table_qos_19` :ref:`table_qos_19`
228
229 :numref:`table_qos_20` :ref:`table_qos_20`
230
231 :numref:`table_qos_21` :ref:`table_qos_21`
232
233 :numref:`table_qos_22` :ref:`table_qos_22`
234
235 :numref:`table_qos_23` :ref:`table_qos_23`
236
237 :numref:`table_qos_24` :ref:`table_qos_24`
238
239 :numref:`table_qos_25` :ref:`table_qos_25`
240
241 :numref:`table_qos_26` :ref:`table_qos_26`
242
243 :numref:`table_qos_27` :ref:`table_qos_27`
244
245 :numref:`table_qos_28` :ref:`table_qos_28`
246
247 :numref:`table_qos_29` :ref:`table_qos_29`
248
249 :numref:`table_qos_30` :ref:`table_qos_30`
250
251 :numref:`table_qos_31` :ref:`table_qos_31`
252
253 :numref:`table_qos_32` :ref:`table_qos_32`
254
255 :numref:`table_qos_33` :ref:`table_qos_33`
256
257 :numref:`table_qos_34` :ref:`table_qos_34`
258
259 :numref:`table_hash_lib_1` :ref:`table_hash_lib_1`
260
261 :numref:`table_hash_lib_2` :ref:`table_hash_lib_2`