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