2015-05-15 15:56:46 +00:00
|
|
|
# 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.
|
|
|
|
|
|
|
|
include $(RTE_SDK)/mk/rte.vars.mk
|
|
|
|
|
2017-04-06 17:05:09 +00:00
|
|
|
# set in mk/toolchain/xxx/rte.toolchain-compat.mk
|
|
|
|
ifeq ($(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD),d)
|
|
|
|
$(warning thunderx pmd is not supported by old compilers)
|
|
|
|
endif
|
|
|
|
|
2017-03-24 13:21:31 +00:00
|
|
|
core-libs := librte_eal librte_mbuf librte_mempool librte_ring librte_ether
|
|
|
|
core-libs += librte_net librte_kvargs
|
|
|
|
|
2015-05-15 15:56:47 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += af_packet
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-af_packet = $(core-libs)
|
2017-04-04 19:50:23 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark
|
|
|
|
DEPDIRS-ark = $(core-libs)
|
2017-03-28 11:53:56 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp
|
|
|
|
DEPDIRS-avp = $(core-libs)
|
2015-07-20 16:33:20 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-bnx2x = $(core-libs)
|
2015-05-15 15:56:48 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bonding
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-bonding = $(core-libs) librte_cmdline
|
2015-06-29 23:28:35 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-cxgbe = $(core-libs)
|
2017-04-11 13:49:17 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2
|
|
|
|
DEPDIRS-dpaa2 = $(core-libs)
|
2015-05-15 15:56:49 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-e1000 = $(core-libs)
|
2016-03-17 14:31:18 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-ena = $(core-libs)
|
2015-05-15 15:56:50 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-enic = $(core-libs) librte_hash
|
2015-05-15 15:56:51 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-fm10k = $(core-libs) librte_hash
|
2015-05-18 11:05:12 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-i40e = $(core-libs) librte_hash
|
2015-05-15 15:56:53 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-ixgbe = $(core-libs) librte_hash
|
2017-03-25 06:24:12 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += liquidio
|
|
|
|
DEPDIRS-liquidio = $(core-libs)
|
2015-05-15 15:56:54 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-mlx4 = $(core-libs)
|
2015-10-30 18:52:30 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-mlx5 = $(core-libs)
|
2015-11-30 10:25:35 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-nfp = $(core-libs)
|
2016-06-15 21:23:01 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-bnxt = $(core-libs)
|
2015-05-15 15:56:55 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-null = $(core-libs)
|
2015-05-15 15:56:56 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-pcap = $(core-libs)
|
2016-04-27 14:18:38 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-qede = $(core-libs)
|
2015-05-15 15:56:57 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += ring
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-ring = $(core-libs)
|
2016-11-29 16:18:33 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-sfc = $(core-libs)
|
2015-11-10 14:18:13 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += szedata2
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-szedata2 = $(core-libs)
|
2016-12-12 14:38:38 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap
|
2017-04-05 16:07:14 +00:00
|
|
|
DEPDIRS-tap = $(core-libs) librte_hash
|
2016-06-17 13:29:35 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += thunderx
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-thunderx = $(core-libs)
|
2015-05-15 15:56:58 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-virtio = $(core-libs)
|
2015-05-15 15:56:59 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-vmxnet3 = $(core-libs)
|
2015-05-15 15:57:00 +00:00
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += xenvirt
|
2017-03-28 09:23:33 +00:00
|
|
|
DEPDIRS-xenvirt = $(core-libs) librte_cmdline
|
2015-05-15 15:56:46 +00:00
|
|
|
|
2017-02-17 13:42:38 +00:00
|
|
|
ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
|
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_PMD_KNI) += kni
|
|
|
|
endif
|
|
|
|
DEPDIRS-kni = $(core-libs) librte_kni
|
|
|
|
|
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 05:45:08 +00:00
|
|
|
ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)
|
|
|
|
DIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += vhost
|
|
|
|
endif # $(CONFIG_RTE_LIBRTE_VHOST)
|
2017-03-24 13:21:31 +00:00
|
|
|
DEPDIRS-vhost = $(core-libs) librte_vhost
|
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 05:45:08 +00:00
|
|
|
|
2015-05-15 15:56:46 +00:00
|
|
|
include $(RTE_SDK)/mk/rte.subdir.mk
|