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