The mlx5 accel module supports crypto operations. Data buffer is split into `block_size` chunks and each chunk is enrypted individually. mlx5 library contains some utility functions that will later be used by other libraries, this lib will be exntended later. Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: Iacdd8caaade477277d5a95cfd53e9910e280a73b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15420 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
129 lines
3.6 KiB
Makefile
129 lines
3.6 KiB
Makefile
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright (C) 2016 Intel Corporation.
|
|
# Copyright (c) 2021, 2022 NVIDIA CORPORATION & AFFILIATES.
|
|
# All rights reserved.
|
|
#
|
|
|
|
BLOCKDEV_MODULES_LIST = bdev_malloc bdev_null bdev_nvme bdev_passthru bdev_lvol
|
|
BLOCKDEV_MODULES_LIST += bdev_raid bdev_error bdev_gpt bdev_split bdev_delay
|
|
BLOCKDEV_MODULES_LIST += bdev_zone_block
|
|
BLOCKDEV_MODULES_LIST += blobfs blobfs_bdev blob_bdev blob lvol vmd nvme
|
|
|
|
# Some bdev modules don't have pollers, so they can directly run in interrupt mode
|
|
INTR_BLOCKDEV_MODULES_LIST = bdev_malloc bdev_passthru bdev_error bdev_gpt bdev_split bdev_raid
|
|
# Logical volume, blobstore and blobfs can directly run in both interrupt mode and poll mode.
|
|
INTR_BLOCKDEV_MODULES_LIST += bdev_lvol blobfs blobfs_bdev blob_bdev blob lvol
|
|
|
|
ifeq ($(CONFIG_XNVME),y)
|
|
BLOCKDEV_MODULES_LIST += bdev_xnvme
|
|
endif
|
|
|
|
ifeq ($(CONFIG_VFIO_USER),y)
|
|
BLOCKDEV_MODULES_LIST += vfio_user
|
|
endif
|
|
|
|
ifeq ($(CONFIG_CRYPTO),y)
|
|
BLOCKDEV_MODULES_LIST += bdev_crypto
|
|
ifeq ($(CONFIG_CRYPTO_MLX5),y)
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -lmlx5 -libverbs
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_OCF),y)
|
|
BLOCKDEV_MODULES_LIST += bdev_ocf
|
|
BLOCKDEV_MODULES_LIST += ocfenv
|
|
endif
|
|
|
|
ifeq ($(CONFIG_VBDEV_COMPRESS),y)
|
|
BLOCKDEV_MODULES_LIST += bdev_compress reduce
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -lpmem
|
|
ifeq ($(CONFIG_VBDEV_COMPRESS_MLX5),y)
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -lmlx5 -libverbs
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_RDMA),y)
|
|
BLOCKDEV_MODULES_LIST += rdma
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -libverbs -lrdmacm
|
|
ifeq ($(CONFIG_RDMA_PROV),mlx5_dv)
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -lmlx5
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(OS),Linux)
|
|
BLOCKDEV_MODULES_LIST += bdev_aio
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -laio
|
|
INTR_BLOCKDEV_MODULES_LIST += bdev_aio
|
|
BLOCKDEV_MODULES_LIST += bdev_ftl ftl
|
|
ifeq ($(CONFIG_VIRTIO),y)
|
|
BLOCKDEV_MODULES_LIST += bdev_virtio virtio
|
|
endif
|
|
ifeq ($(CONFIG_ISCSI_INITIATOR),y)
|
|
BLOCKDEV_MODULES_LIST += bdev_iscsi
|
|
# Fedora installs libiscsi to /usr/lib64/iscsi for some reason.
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -L/usr/lib64/iscsi -liscsi
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_URING),y)
|
|
BLOCKDEV_MODULES_LIST += bdev_uring
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -luring
|
|
ifneq ($(strip $(CONFIG_URING_PATH)),)
|
|
CFLAGS += -I$(CONFIG_URING_PATH)
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -L$(CONFIG_URING_PATH)
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_RBD),y)
|
|
BLOCKDEV_MODULES_LIST += bdev_rbd
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -lrados -lrbd
|
|
endif
|
|
|
|
ifeq ($(CONFIG_PMDK),y)
|
|
BLOCKDEV_MODULES_LIST += bdev_pmem
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -lpmemblk -lpmem
|
|
endif
|
|
|
|
ifeq ($(CONFIG_DAOS),y)
|
|
BLOCKDEV_MODULES_LIST += bdev_daos
|
|
BLOCKDEV_MODULES_PRIVATE_LIBS += -ldaos -ldaos_common -ldfs -lgurt -luuid -ldl
|
|
endif
|
|
|
|
SOCK_MODULES_LIST = sock_posix
|
|
|
|
ifeq ($(OS), Linux)
|
|
ifeq ($(CONFIG_URING),y)
|
|
SOCK_MODULES_LIST += sock_uring
|
|
endif
|
|
endif
|
|
|
|
ACCEL_MODULES_LIST = accel_ioat ioat
|
|
ifeq ($(CONFIG_IDXD),y)
|
|
ACCEL_MODULES_LIST += accel_dsa accel_iaa idxd
|
|
endif
|
|
ifeq ($(CONFIG_CRYPTO),y)
|
|
ACCEL_MODULES_LIST += accel_dpdk_cryptodev
|
|
endif
|
|
ifeq ($(CONFIG_DPDK_COMPRESSDEV),y)
|
|
ACCEL_MODULES_LIST += accel_dpdk_compressdev
|
|
endif
|
|
|
|
ifeq ($(CONFIG_RDMA_PROV)|$(CONFIG_CRYPTO),mlx5_dv|y)
|
|
ACCEL_MODULES_LIST += accel_mlx5
|
|
endif
|
|
|
|
SCHEDULER_MODULES_LIST = scheduler_dynamic
|
|
ifeq (y,$(DPDK_POWER))
|
|
SCHEDULER_MODULES_LIST += env_dpdk scheduler_dpdk_governor scheduler_gscheduler
|
|
endif
|
|
|
|
ifeq ($(CONFIG_VFIO_USER),y)
|
|
VFU_DEVICE_MODULES_LIST = vfu_device
|
|
endif
|
|
|
|
EVENT_BDEV_SUBSYSTEM = event_bdev event_accel event_vmd event_sock event_iobuf
|
|
|
|
ALL_MODULES_LIST = $(BLOCKDEV_MODULES_LIST) $(ACCEL_MODULES_LIST) $(SCHEDULER_MODULES_LIST) $(SOCK_MODULES_LIST)
|
|
ALL_MODULES_LIST += $(VFU_DEVICE_MODULES_LIST)
|
|
SYS_LIBS += $(BLOCKDEV_MODULES_PRIVATE_LIBS)
|