db75c7af19
vhost-user protocol is common to many virtio devices, such as virtio_net/virtio_scsi/virtio_blk. Since DPDK vhost library removed the NET specific data structures, the vhost library is common to other virtio devices, such as virtio-scsi. Here we introduce a simple memory based block device that can be presented to Guest VM through vhost-user-scsi-pci controller. Similar with vhost-net, the sample application will process the I/Os sent via virt rings. Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
144 lines
4.7 KiB
ReStructuredText
144 lines
4.7 KiB
ReStructuredText
.. BSD LICENSE
|
|
Copyright(c) 2010-2015 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.
|
|
|
|
Sample Applications User Guides
|
|
===============================
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:numbered:
|
|
|
|
intro
|
|
cmd_line
|
|
ethtool
|
|
exception_path
|
|
hello_world
|
|
skeleton
|
|
rxtx_callbacks
|
|
ip_frag
|
|
ipv4_multicast
|
|
ip_reassembly
|
|
kernel_nic_interface
|
|
keep_alive
|
|
l2_forward_crypto
|
|
l2_forward_job_stats
|
|
l2_forward_real_virtual
|
|
l2_forward_cat
|
|
l3_forward
|
|
l3_forward_power_man
|
|
l3_forward_access_ctrl
|
|
l3_forward_virtual
|
|
link_status_intr
|
|
load_balancer
|
|
server_node_efd
|
|
multi_process
|
|
qos_metering
|
|
qos_scheduler
|
|
quota_watermark
|
|
timer
|
|
packet_ordering
|
|
vmdq_dcb_forwarding
|
|
vhost
|
|
vhost_scsi
|
|
netmap_compatibility
|
|
ip_pipeline
|
|
test_pipeline
|
|
eventdev_pipeline_sw_pmd
|
|
dist_app
|
|
vm_power_management
|
|
tep_termination
|
|
ptpclient
|
|
performance_thread
|
|
ipsec_secgw
|
|
|
|
**Figures**
|
|
|
|
:numref:`figure_exception_path_example` :ref:`figure_exception_path_example`
|
|
|
|
:numref:`figure_kernel_nic` :ref:`figure_kernel_nic`
|
|
|
|
:numref:`figure_l2_fwd_benchmark_setup_jobstats` :ref:`figure_l2_fwd_benchmark_setup_jobstats`
|
|
|
|
:numref:`figure_l2_fwd_virtenv_benchmark_setup_jobstats` :ref:`figure_l2_fwd_virtenv_benchmark_setup_jobstats`
|
|
|
|
:numref:`figure_l2_fwd_benchmark_setup` :ref:`figure_l2_fwd_benchmark_setup`
|
|
|
|
:numref:`figure_l2_fwd_virtenv_benchmark_setup` :ref:`figure_l2_fwd_virtenv_benchmark_setup`
|
|
|
|
:numref:`figure_l2_fwd_encrypt_flow` :ref:`figure_l2_fwd_encrypt_flow`
|
|
|
|
:numref:`figure_ipv4_acl_rule` :ref:`figure_ipv4_acl_rule`
|
|
|
|
:numref:`figure_example_rules` :ref:`figure_example_rules`
|
|
|
|
:numref:`figure_load_bal_app_arch` :ref:`figure_load_bal_app_arch`
|
|
|
|
:numref:`figure_sym_multi_proc_app` :ref:`figure_sym_multi_proc_app`
|
|
|
|
:numref:`figure_client_svr_sym_multi_proc_app` :ref:`figure_client_svr_sym_multi_proc_app`
|
|
|
|
:numref:`figure_master_slave_proc` :ref:`figure_master_slave_proc`
|
|
|
|
:numref:`figure_slave_proc_recov` :ref:`figure_slave_proc_recov`
|
|
|
|
:numref:`figure_qos_sched_app_arch` :ref:`figure_qos_sched_app_arch`
|
|
|
|
:numref:`figure_pipeline_overview` :ref:`figure_pipeline_overview`
|
|
|
|
:numref:`figure_ring_pipeline_perf_setup` :ref:`figure_ring_pipeline_perf_setup`
|
|
|
|
:numref:`figure_threads_pipelines` :ref:`figure_threads_pipelines`
|
|
|
|
:numref:`figure_vmdq_dcb_example` :ref:`figure_vmdq_dcb_example`
|
|
|
|
:numref:`figure_test_pipeline_app` :ref:`figure_test_pipeline_app`
|
|
|
|
:numref:`figure_dist_perf` :ref:`figure_dist_perf`
|
|
|
|
:numref:`figure_dist_app` :ref:`figure_dist_app`
|
|
|
|
:numref:`figure_vm_power_mgr_highlevel` :ref:`figure_vm_power_mgr_highlevel`
|
|
|
|
:numref:`figure_vm_power_mgr_vm_request_seq` :ref:`figure_vm_power_mgr_vm_request_seq`
|
|
:numref:`figure_overlay_networking` :ref:`figure_overlay_networking`
|
|
:numref:`figure_tep_termination_arch` :ref:`figure_tep_termination_arch`
|
|
|
|
:numref:`figure_ptpclient_highlevel` :ref:`figure_ptpclient_highlevel`
|
|
|
|
:numref:`figure_efd_sample_app_overview` :ref:`figure_efd_sample_app_overview`
|
|
|
|
**Tables**
|
|
|
|
:numref:`table_qos_metering_1` :ref:`table_qos_metering_1`
|
|
|
|
:numref:`table_qos_scheduler_1` :ref:`table_qos_scheduler_1`
|
|
|
|
:numref:`table_test_pipeline_1` :ref:`table_test_pipeline_1`
|