2017-01-31 11:59, Ferruh Yigit:
> There is already a block for crypto libraries, move the PMD library to
> that block.
>
> This prevents extra ifdef check for cryptodev.
That's why I thought also when reading this patch:
http://dpdk.org/commit/dbb336407
Then I've read its message:
"Different than other cryptodev PMDs, scheduler PMD is required to be built
as shared libraries."
I guess the explanation is that it has an API (like bonding has):
drivers/crypto/scheduler/rte_cryptodev_scheduler.h
However, it is neither referenced in doc/api/doxy-api.conf nor
doc/api/doxy-api-index.md.
> --- a/mk/rte.app.mk
> +++ b/mk/rte.app.mk
> @@ -103,10 +103,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_REORDER) +=
> -lrte_reorder
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += -lrte_pmd_bond
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += -lrte_pmd_xenvirt -lxenstore
>
> -ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) +=
> -lrte_pmd_crypto_scheduler
> -endif
> -
> ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
> # plugins (link only if static libraries)
>
> @@ -153,6 +149,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) +=
> -lrte_pmd_zuc
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += -L$(LIBSSO_ZUC_PATH)/build
> -lsso_zuc
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -lrte_pmd_armv8
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) +=
> -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) +=
> -lrte_pmd_crypto_scheduler
> endif # CONFIG_RTE_LIBRTE_CRYPTODEV
>
> endif # !CONFIG_RTE_BUILD_SHARED_LIBS
I must say the quick overview I had on this PMD is not very promising.
Please Pablo and Fan, try to better explain things in the patches
and get more review on framework integration.