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