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