[dpdk-dev] [PATCH v4 4/4] ena: DPDK polling-mode driver for Amazon Elastic Network Adapters (ENA)

Panu Matilainen pmatilai at redhat.com
Wed Mar 2 09:18:50 CET 2016


On 03/01/2016 06:46 PM, Jan Medala wrote:
> This is a PMD for the Amazon ethernet ENA family.
> The driver operates variety of ENA adapters through feature negotiation
> with the adapter and upgradable commands set.
> ENA driver handles PCI Physical and Virtual ENA functions.
>
> Signed-off-by: Evgeny Schemeilin <evgenys at amazon.com>
> Signed-off-by: Jan Medala <jan at semihalf.com>
> Signed-off-by: Jakub Palider <jpa at semihalf.com>
> ---
>   config/common_linuxapp                  |   11 +
>   drivers/net/Makefile                    |    1 +
>   drivers/net/ena/Makefile                |   65 ++
>   drivers/net/ena/ena_ethdev.c            | 1311 +++++++++++++++++++++++++++++++
>   drivers/net/ena/ena_ethdev.h            |  155 ++++
>   drivers/net/ena/ena_logs.h              |   74 ++
>   drivers/net/ena/ena_platform.h          |   58 ++
>   drivers/net/ena/rte_pmd_ena_version.map |    4 +
>   mk/rte.app.mk                           |    1 +
>   9 files changed, 1680 insertions(+)
>   create mode 100644 drivers/net/ena/Makefile
>   create mode 100644 drivers/net/ena/ena_ethdev.c
>   create mode 100644 drivers/net/ena/ena_ethdev.h
>   create mode 100644 drivers/net/ena/ena_logs.h
>   create mode 100644 drivers/net/ena/ena_platform.h
>   create mode 100644 drivers/net/ena/rte_pmd_ena_version.map
>
[...]
> diff --git a/drivers/net/ena/Makefile b/drivers/net/ena/Makefile
> new file mode 100644
> index 0000000..0beb850
> --- /dev/null
> +++ b/drivers/net/ena/Makefile
> @@ -0,0 +1,65 @@
> +#
[...]
> +include $(RTE_SDK)/mk/rte.vars.mk
> +
> +#
> +# library name
> +#
> +LIB = librte_pmd_ena.a
> +CFLAGS += $(WERROR_FLAGS) -O2
> +INCLUDES :=-I$(SRCDIR) -I$(SRCDIR)/base/ena_defs -I$(SRCDIR)/base
> +
> +EXPORT_MAP := rte_pmd_ena_version.map
> +LIBABIVER := 1
> +
> +VPATH += $(SRCDIR)/base
> +#
> +# all source are stored in SRCS-y
> +#
> +SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_ethdev.c
> +SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_com.c
> +SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_eth_com.c
> +
> +# this lib depends upon:
> +DEPDIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += lib/librte_eal lib/librte_ether
> +DEPDIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += lib/librte_mempool lib/librte_mbuf
> +DEPDIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += lib/librte_net lib/librte_malloc
> +
> +ifeq ($(CONFIG_RTE_EXEC_ENV),"cvos")
> +CFLAGS += -Wno-old-style-definition
> +endif

Hmm, what's this? There's no "cvos" exec env in DPDK that I know of, and 
while its of course quite harmless I dont think its entirely appropriate 
to have references to in-house projects and the like (assuming that's 
what it is) in an OSS project.

[...]
> diff --git a/drivers/net/ena/rte_pmd_ena_version.map b/drivers/net/ena/rte_pmd_ena_version.map
> new file mode 100644
> index 0000000..ef35398
> --- /dev/null
> +++ b/drivers/net/ena/rte_pmd_ena_version.map
> @@ -0,0 +1,4 @@
> +DPDK_2.0 {
> +
> +	local: *;
> +};

The symbol versions should reflect the actual DPDK version where 
introduced. Its fairly academical here since no actual symbols are 
exported but for correctness sake, it should say DPDK_16.04 as the version.

	- Panu -



More information about the dev mailing list