X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fprog_guide%2Findex.rst;h=20e5155cf4293bafc6eac4adaee458097565f9a5;hb=34fd4373ce76efd0236e59397c495762c2ec9e64;hp=9a1e3372562eed369654f04e6d7270e901ddd9b0;hpb=4a22e6ee3d2f8be8afd5b374a8916e232ab7fe97;p=dpdk.git diff --git a/doc/guides/prog_guide/index.rst b/doc/guides/prog_guide/index.rst index 9a1e337256..20e5155cf4 100644 --- a/doc/guides/prog_guide/index.rst +++ b/doc/guides/prog_guide/index.rst @@ -1,41 +1,9 @@ -.. BSD LICENSE - Copyright(c) 2010-2014 Intel Corporation. All rights reserved. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2010-2017 Intel Corporation. Programmer's Guide ================== -|today| - - -**Contents** - .. toctree:: :maxdepth: 3 :numbered: @@ -43,203 +11,66 @@ Programmer's Guide intro overview env_abstraction_layer - malloc_lib + service_cores + trace_lib + rcu_lib ring_lib + stack_lib mempool_lib mbuf_lib poll_mode_drv - ivshmem_lib + rte_flow + switch_representation + traffic_metering_and_policing + traffic_management + bbdev + cryptodev_lib + compressdev + regexdev + dmadev + rte_security + rawdev link_bonding_poll_mode_drv_lib timer_lib hash_lib + toeplitz_hash_lib + efd_lib + member_lib lpm_lib lpm6_lib + flow_classify_lib packet_distrib_lib reorder_lib ip_fragment_reassembly_lib + generic_receive_offload_lib + generic_segmentation_offload_lib + pcapng_lib + pdump_lib multi_proc_support kernel_nic_interface - thread_safety_intel_dpdk_functions + thread_safety_dpdk_functions + eventdev + event_ethernet_rx_adapter + event_ethernet_tx_adapter + event_timer_adapter + event_crypto_adapter qos_framework power_man packet_classif_access_ctrl packet_framework vhost_lib - port_hotplug_framework + metrics_lib + telemetry_lib + bpf_lib + ipsec_lib + graph_lib source_org - dev_kit_build_system - dev_kit_root_make_help - extend_intel_dpdk + build-sdk-meson + meson_ut build_app - ext_app_lib_make_help perf_opt_guidelines writing_efficient_code + lto profile_app + asan glossary - - -**Figures** - -:numref:`figure_architecture-overview` :ref:`figure_architecture-overview` - -:numref:`figure_linuxapp_launch` :ref:`figure_linuxapp_launch` - -:numref:`figure_malloc_heap` :ref:`figure_malloc_heap` - -:numref:`figure_ring1` :ref:`figure_ring1` - -:numref:`figure_ring-enqueue1` :ref:`figure_ring-enqueue1` - -:numref:`figure_ring-enqueue2` :ref:`figure_ring-enqueue2` - -:numref:`figure_ring-enqueue3` :ref:`figure_ring-enqueue3` - -:numref:`figure_ring-dequeue1` :ref:`figure_ring-dequeue1` - -:numref:`figure_ring-dequeue2` :ref:`figure_ring-dequeue2` - -:numref:`figure_ring-dequeue3` :ref:`figure_ring-dequeue3` - -:numref:`figure_ring-mp-enqueue1` :ref:`figure_ring-mp-enqueue1` - -:numref:`figure_ring-mp-enqueue2` :ref:`figure_ring-mp-enqueue2` - -:numref:`figure_ring-mp-enqueue3` :ref:`figure_ring-mp-enqueue3` - -:numref:`figure_ring-mp-enqueue4` :ref:`figure_ring-mp-enqueue4` - -:numref:`figure_ring-mp-enqueue5` :ref:`figure_ring-mp-enqueue5` - -:numref:`figure_ring-modulo1` :ref:`figure_ring-modulo1` - -:numref:`figure_ring-modulo2` :ref:`figure_ring-modulo2` - -:numref:`figure_memory-management` :ref:`figure_memory-management` - -:numref:`figure_memory-management2` :ref:`figure_memory-management2` - -:numref:`figure_mempool` :ref:`figure_mempool` - -:numref:`figure_mbuf1` :ref:`figure_mbuf1` - -:numref:`figure_mbuf2` :ref:`figure_mbuf2` - -:numref:`figure_multi_process_memory` :ref:`figure_multi_process_memory` - -:numref:`figure_kernel_nic_intf` :ref:`figure_kernel_nic_intf` - -:numref:`figure_pkt_flow_kni` :ref:`figure_pkt_flow_kni` - -:numref:`figure_vhost_net_arch2` :ref:`figure_vhost_net_arch2` - -:numref:`figure_kni_traffic_flow` :ref:`figure_kni_traffic_flow` - - -:numref:`figure_pkt_proc_pipeline_qos` :ref:`figure_pkt_proc_pipeline_qos` - -:numref:`figure_hier_sched_blk` :ref:`figure_hier_sched_blk` - -:numref:`figure_sched_hier_per_port` :ref:`figure_sched_hier_per_port` - -:numref:`figure_data_struct_per_port` :ref:`figure_data_struct_per_port` - -:numref:`figure_prefetch_pipeline` :ref:`figure_prefetch_pipeline` - -:numref:`figure_pipe_prefetch_sm` :ref:`figure_pipe_prefetch_sm` - -:numref:`figure_blk_diag_dropper` :ref:`figure_blk_diag_dropper` - -:numref:`figure_flow_tru_droppper` :ref:`figure_flow_tru_droppper` - -:numref:`figure_ex_data_flow_tru_dropper` :ref:`figure_ex_data_flow_tru_dropper` - -:numref:`figure_pkt_drop_probability` :ref:`figure_pkt_drop_probability` - -:numref:`figure_drop_probability_graph` :ref:`figure_drop_probability_graph` - -:numref:`figure_figure32` :ref:`figure_figure32` - -:numref:`figure_figure33` :ref:`figure_figure33` - -:numref:`figure_figure34` :ref:`figure_figure34` - -:numref:`figure_figure35` :ref:`figure_figure35` - -:numref:`figure_figure37` :ref:`figure_figure37` - -:numref:`figure_figure38` :ref:`figure_figure38` - -:numref:`figure_figure39` :ref:`figure_figure39` - - -**Tables** - -:ref:`Table 1. Packet Processing Pipeline Implementing QoS ` - -:ref:`Table 2. Infrastructure Blocks Used by the Packet Processing Pipeline ` - -:ref:`Table 3. Port Scheduling Hierarchy ` - -:ref:`Table 4. Scheduler Internal Data Structures per Port ` - -:ref:`Table 5. Ethernet Frame Overhead Fields ` - -:ref:`Table 6. Token Bucket Generic Operations ` - -:ref:`Table 7. Token Bucket Generic Parameters ` - -:ref:`Table 8. Token Bucket Persistent Data Structure ` - -:ref:`Table 9. Token Bucket Operations ` - -:ref:`Table 10. Subport/Pipe Traffic Class Upper Limit Enforcement Persistent Data Structure ` - -:ref:`Table 11. Subport/Pipe Traffic Class Upper Limit Enforcement Operations ` - -:ref:`Table 12. Weighted Round Robin (WRR) ` - -:ref:`Table 13. Subport Traffic Class Oversubscription ` - -:ref:`Table 14. Watermark Propagation from Subport Level to Member Pipes at the Beginning of Each Traffic Class Upper Limit Enforcement Period ` - -:ref:`Table 15. Watermark Calculation ` - -:ref:`Table 16. RED Configuration Parameters ` - -:ref:`Table 17. Relative Performance of Alternative Approaches ` - -:ref:`Table 18. RED Configuration Corresponding to RED Configuration File ` - -:ref:`Table 19. Port types ` - -:ref:`Table 20. Port abstract interface ` - -:ref:`Table 21. Table types ` - -:ref:`Table 29. Table Abstract Interface ` - -:ref:`Table 22. Configuration parameters common for all hash table types ` - -:ref:`Table 23. Configuration parameters specific to extendable bucket hash table ` - -:ref:`Table 24. Configuration parameters specific to pre-computed key signature hash table ` - -:ref:`Table 25. The main large data structures (arrays) used for configurable key size hash tables ` - -:ref:`Table 26. Field description for bucket array entry (configurable key size hash tables) ` - -:ref:`Table 27. Description of the bucket search pipeline stages (configurable key size hash tables) ` - -:ref:`Table 28. Lookup tables for match, match_many, match_pos ` - -:ref:`Table 29. Collapsed lookup tables for match, match_many and match_pos ` - -:ref:`Table 30. The main large data structures (arrays) used for 8-byte and 16-byte key size hash tables ` - -:ref:`Table 31. Field description for bucket array entry (8-byte and 16-byte key hash tables) ` - -:ref:`Table 32. Description of the bucket search pipeline stages (8-byte and 16-byte key hash tables) ` - -:ref:`Table 33. Next hop actions (reserved) ` - -:ref:`Table 34. User action examples `