compress/qat: add empty driver

Add Makefiles, meson files, and empty source files for compression PMD.
Handle cases for building either symmetric crypto PMD
or compression PMD or both and the common files both depend on.

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com>
This commit is contained in:
Fiona Trahe 2018-07-13 03:28:11 +01:00 committed by Pablo de Lara
parent b769101307
commit 7a34c21557
14 changed files with 119 additions and 41 deletions

View File

@ -861,6 +861,11 @@ Compression Drivers
M: Pablo de Lara <pablo.de.lara.guarch@intel.com>
T: git://dpdk.org/next/dpdk-next-crypto
Intel QuickAssist
M: Fiona Trahe <fiona.trahe@intel.com>
F: drivers/compress/qat/
F: drivers/common/qat/
ISA-L
M: Lee Daly <lee.daly@intel.com>
F: drivers/compress/isal/

View File

@ -493,7 +493,8 @@ CONFIG_RTE_LIBRTE_DPAA_MAX_CRYPTODEV=4
#
# Compile PMD for QuickAssist based devices
#
CONFIG_RTE_LIBRTE_PMD_QAT=n
CONFIG_RTE_LIBRTE_PMD_QAT=y
CONFIG_RTE_LIBRTE_PMD_QAT_SYM=n
#
# Max. number of QuickAssist devices, which can be detected and attached
#

View File

@ -3,40 +3,55 @@
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_qat.a
# library version
LIBABIVER := 1
# build flags
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -O3
# build directories
QAT_CRYPTO_DIR := $(RTE_SDK)/drivers/crypto/qat
VPATH=$(QAT_CRYPTO_DIR)
QAT_COMPRESS_DIR := $(RTE_SDK)/drivers/compress/qat
VPATH=$(QAT_CRYPTO_DIR):$(QAT_COMPRESS_DIR)
# external library include paths
CFLAGS += -I$(SRCDIR)/qat_adf
CFLAGS += -I$(SRCDIR)
CFLAGS += -I$(QAT_CRYPTO_DIR)
CFLAGS += -I$(QAT_COMPRESS_DIR)
# library common source files
SRCS-y += qat_device.c
SRCS-y += qat_common.c
SRCS-y += qat_logs.c
SRCS-y += qat_qp.c
ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
CFLAGS += -DALLOW_EXPERIMENTAL_API
LDLIBS += -lrte_compressdev
SRCS-y += qat_comp.c
SRCS-y += qat_comp_pmd.c
build_qat = yes
endif
# library symmetric crypto source files
ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),y)
LDLIBS += -lrte_cryptodev
LDLIBS += -lcrypto
CFLAGS += -DBUILD_QAT_SYM
SRCS-y += qat_sym.c
SRCS-y += qat_sym_session.c
SRCS-y += qat_sym_pmd.c
build_qat = yes
endif
endif
ifdef build_qat
# library name
LIB = librte_pmd_qat.a
# library version
LIBABIVER := 1
# build flags
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -O3
# library common source files
SRCS-y += qat_device.c
SRCS-y += qat_common.c
SRCS-y += qat_logs.c
SRCS-y += qat_qp.c
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
LDLIBS += -lrte_pci -lrte_bus_pci
@ -45,6 +60,7 @@ LDLIBS += -lrte_pci -lrte_bus_pci
SYMLINK-y-include +=
# versioning export map
EXPORT_MAP := ../../crypto/qat/rte_pmd_qat_version.map
EXPORT_MAP := ../../compress/qat/rte_pmd_qat_version.map
endif
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,7 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
drivers = ['isal']
drivers = ['isal', 'qat']
std_deps = ['compressdev'] # compressdev pulls in all other needed deps
config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'

View File

@ -0,0 +1,18 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017-2018 Intel Corporation
# Add our sources files to the list
allow_experimental_apis = true
qat_sources += files('qat_comp_pmd.c',
'qat_comp.c')
qat_includes += include_directories('.')
qat_deps += 'compressdev'
qat_ext_deps += dep
# build the whole driver
sources += qat_sources
cflags += qat_cflags
deps += qat_deps
ext_deps += qat_ext_deps
includes += qat_includes

View File

@ -0,0 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2018 Intel Corporation
*/
#include "qat_comp.h"

View File

@ -0,0 +1,14 @@
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2015-2018 Intel Corporation
*/
#ifndef _QAT_COMP_H_
#define _QAT_COMP_H_
#ifdef RTE_LIBRTE_COMPRESSDEV
#include <rte_compressdev.h>
#include <rte_compressdev_pmd.h>
#endif
#endif

View File

@ -0,0 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2015-2018 Intel Corporation
*/
#include "qat_comp_pmd.h"

View File

@ -0,0 +1,14 @@
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2015-2018 Intel Corporation
*/
#ifndef _QAT_COMP_PMD_H_
#define _QAT_COMP_PMD_H_
#ifdef RTE_LIBRTE_COMPRESSDEV
#include <rte_compressdev.h>
#include <rte_compressdev_pmd.h>
#endif
#endif /* _QAT_COMP_PMD_H_ */

View File

@ -0,0 +1,3 @@
DPDK_18.08 {
local: *;
};

View File

@ -1,24 +1,18 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017-2018 Intel Corporation
# this does not build the QAT driver, instead that is done in the compression
# driver which comes later. Here we just add our sources files to the list
build = false
dep = dependency('libcrypto', required: false)
qat_includes += include_directories('.')
qat_deps += 'cryptodev'
if dep.found()
# Add our sources files to the list
qat_sources += files('qat_sym_pmd.c',
'qat_sym.c',
'qat_sym_session.c')
qat_includes += include_directories('.')
qat_deps += 'cryptodev'
qat_ext_deps += dep
pkgconfig_extra_libs += '-lcrypto'
qat_cflags += '-DBUILD_QAT_SYM'
# build the whole driver
sources += qat_sources
cflags += qat_cflags
deps += qat_deps
ext_deps += qat_ext_deps
includes += qat_includes
build = true
endif

View File

@ -1,3 +0,0 @@
DPDK_2.2 {
local: *;
};

View File

@ -199,7 +199,9 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += -lIPSec_MB
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += -lrte_pmd_ccp -lcrypto
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += -lrte_pmd_openssl -lcrypto
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += -lrte_pmd_null_crypto
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lrte_pmd_qat -lcrypto
ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT),y)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT_SYM) += -lrte_pmd_qat -lcrypto
endif # CONFIG_RTE_LIBRTE_PMD_QAT
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += -lrte_pmd_snow3g
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += -L$(LIBSSO_SNOW3G_PATH)/build -lsso_snow3g
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += -lrte_pmd_kasumi
@ -222,6 +224,10 @@ endif # CONFIG_RTE_LIBRTE_CRYPTODEV
ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lrte_pmd_isal_comp
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lisal
# Link QAT driver if it has not been linked yet
ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),n)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lrte_pmd_qat
endif # CONFIG_RTE_LIBRTE_PMD_QAT_SYM
endif # CONFIG_RTE_LIBRTE_COMPRESSDEV
ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)

View File

@ -9938,9 +9938,9 @@ test_cryptodev_qat(void /*argv __rte_unused, int argc __rte_unused*/)
RTE_STR(CRYPTODEV_NAME_QAT_SYM_PMD));
if (gbl_driver_id == -1) {
RTE_LOG(ERR, USER1, "QAT PMD must be loaded. Check if "
"CONFIG_RTE_LIBRTE_PMD_QAT is enabled "
"in config file to run this testsuite.\n");
RTE_LOG(ERR, USER1, "QAT PMD must be loaded. Check that both "
"CONFIG_RTE_LIBRTE_PMD_QAT and CONFIG_RTE_LIBRTE_PMD_QAT_SYM "
"are enabled in config file to run this testsuite.\n");
return TEST_SKIPPED;
}