1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright(c) 2010-2017 Intel Corporation. 3 4Programmer'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_timer_adapter 48 event_crypto_adapter 49 qos_framework 50 power_man 51 packet_classif_access_ctrl 52 packet_framework 53 vhost_lib 54 metrics_lib 55 port_hotplug_framework 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` 267