2015-01-31 23:06:06 +01:00
|
|
|
.. 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.
|
|
|
|
|
|
|
|
Network Interface Controller Drivers
|
|
|
|
====================================
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 3
|
|
|
|
:numbered:
|
|
|
|
|
2016-01-27 21:07:09 +01:00
|
|
|
overview
|
2017-03-28 07:54:09 -04:00
|
|
|
avp
|
2015-12-10 22:36:37 -08:00
|
|
|
bnx2x
|
2016-06-15 14:23:01 -07:00
|
|
|
bnxt
|
2015-06-30 04:58:42 +05:30
|
|
|
cxgbe
|
2015-01-31 23:06:06 +01:00
|
|
|
e1000em
|
2016-03-17 15:31:15 +01:00
|
|
|
ena
|
2015-12-13 15:11:32 -08:00
|
|
|
enic
|
2015-12-10 15:00:21 +08:00
|
|
|
fm10k
|
2016-03-09 15:28:39 +08:00
|
|
|
i40e
|
2015-01-31 23:06:06 +01:00
|
|
|
ixgbe
|
|
|
|
intel_vf
|
2017-02-17 13:42:38 +00:00
|
|
|
kni
|
2017-03-25 11:54:57 +05:30
|
|
|
liquidio
|
2015-01-31 23:06:06 +01:00
|
|
|
mlx4
|
2015-10-30 19:52:42 +01:00
|
|
|
mlx5
|
2015-11-30 10:25:42 +00:00
|
|
|
nfp
|
2016-04-27 07:18:37 -07:00
|
|
|
qede
|
2016-11-29 16:18:33 +00:00
|
|
|
sfc_efx
|
2015-11-10 15:18:13 +01:00
|
|
|
szedata2
|
2016-12-12 08:38:38 -06:00
|
|
|
tap
|
2016-06-17 18:59:53 +05:30
|
|
|
thunderx
|
2015-01-31 23:06:06 +01:00
|
|
|
virtio
|
vhost: add driver on top of the library
The patch introduces a new PMD. This PMD is implemented as thin wrapper
of librte_vhost. It means librte_vhost is also needed to compile the PMD.
The vhost messages will be handled only when a port is started. So start
a port first, then invoke QEMU.
The PMD has 2 parameters.
- iface: The parameter is used to specify a path to connect to a
virtio-net device.
- queues: The parameter is used to specify the number of the queues
virtio-net device has.
(Default: 1)
Here is an example.
$ ./testpmd -c f -n 4 --vdev 'eth_vhost0,iface=/tmp/sock0,queues=1' -- -i
To connect above testpmd, here is qemu command example.
$ qemu-system-x86_64 \
<snip>
-chardev socket,id=chr0,path=/tmp/sock0 \
-netdev vhost-user,id=net0,chardev=chr0,vhostforce,queues=1 \
-device virtio-net-pci,netdev=net0,mq=on
Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Rich Lane <rich.lane@bigswitch.com>
Tested-by: Rich Lane <rich.lane@bigswitch.com>
Update for queue state event name:
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2016-03-21 14:45:08 +09:00
|
|
|
vhost
|
2015-01-31 23:06:06 +01:00
|
|
|
vmxnet3
|
|
|
|
pcap_ring
|
|
|
|
|
|
|
|
**Figures**
|
|
|
|
|
2015-05-18 12:34:06 +01:00
|
|
|
:numref:`figure_single_port_nic` :ref:`figure_single_port_nic`
|
2015-01-31 23:06:06 +01:00
|
|
|
|
2015-05-18 12:34:06 +01:00
|
|
|
:numref:`figure_perf_benchmark` :ref:`figure_perf_benchmark`
|
2015-01-31 23:06:06 +01:00
|
|
|
|
2015-05-18 12:34:06 +01:00
|
|
|
:numref:`figure_fast_pkt_proc` :ref:`figure_fast_pkt_proc`
|
2015-01-31 23:06:06 +01:00
|
|
|
|
2015-05-18 12:34:06 +01:00
|
|
|
:numref:`figure_inter_vm_comms` :ref:`figure_inter_vm_comms`
|
2015-01-31 23:06:06 +01:00
|
|
|
|
2015-05-18 12:34:06 +01:00
|
|
|
:numref:`figure_host_vm_comms` :ref:`figure_host_vm_comms`
|
2015-01-31 23:06:06 +01:00
|
|
|
|
2015-05-18 12:34:06 +01:00
|
|
|
:numref:`figure_host_vm_comms_qemu` :ref:`figure_host_vm_comms_qemu`
|
|
|
|
|
|
|
|
:numref:`figure_vmxnet3_int` :ref:`figure_vmxnet3_int`
|
|
|
|
|
|
|
|
:numref:`figure_vswitch_vm` :ref:`figure_vswitch_vm`
|
|
|
|
|
|
|
|
:numref:`figure_vm_vm_comms` :ref:`figure_vm_vm_comms`
|