[dpdk-dev] [PATCH v2 01/17] net/ionic: add skeleton

Ferruh Yigit ferruh.yigit at intel.com
Mon Dec 2 17:06:52 CET 2019


On 10/15/2019 9:22 AM, Alfredo Cardigliano wrote:
> Add makefile and config file options to compile the Pensando ionic PMD.
> Add feature and version map file.
> Update maintainers file.
> 
> Signed-off-by: Alfredo Cardigliano <cardigliano at ntop.org>
> Reviewed-by: Shannon Nelson <snelson at pensando.io>
> ---
>  MAINTAINERS                                 |  6 +++
>  config/common_base                          |  5 ++
>  doc/guides/nics/features/ionic.ini          |  8 +++
>  doc/guides/nics/index.rst                   |  1 +
>  doc/guides/nics/ionic.rst                   | 35 +++++++++++++
>  drivers/net/Makefile                        |  1 +
>  drivers/net/ionic/Makefile                  | 58 +++++++++++++++++++++
>  drivers/net/ionic/meson.build               |  8 +++
>  drivers/net/ionic/rte_pmd_ionic_version.map |  5 ++
>  mk/rte.app.mk                               |  1 +
>  10 files changed, 128 insertions(+)
>  create mode 100644 doc/guides/nics/features/ionic.ini
>  create mode 100644 doc/guides/nics/ionic.rst
>  create mode 100644 drivers/net/ionic/Makefile
>  create mode 100644 drivers/net/ionic/meson.build
>  create mode 100644 drivers/net/ionic/rte_pmd_ionic_version.map

Can you please add the new PMD support to the release notes (release notes of
20.02)?

<...>

> @@ -0,0 +1,35 @@
> +..  SPDX-License-Identifier: GPL-2.0
> +    Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.

Why it is GPL-2.0 licensed?

What is the license of the PMD overall?

> +
> +IONIC Driver
> +============
> +
> +The ionic driver provides support for Pensando server adapters.

Can you please provide a link to the product page to get more detailed information?

<...>

> @@ -0,0 +1,58 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.
> +
> +include $(RTE_SDK)/mk/rte.vars.mk
> +
> +#
> +# library name
> +#
> +LIB = librte_pmd_ionic.a
> +
> +CFLAGS += -DALLOW_EXPERIMENTAL_API

Is the allow exprerimental flag really required? If so can you please add the
experimental APIs used as a comment.

> +CFLAGS += -O3
> +CFLAGS += $(WERROR_FLAGS)
> +
> +EXPORT_MAP := rte_pmd_ionic_version.map
> +
> +LIBABIVER := 2

We are not using individual library versioning anymore, please drop this.

> +
> +ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
> +#
> +# CFLAGS for icc
> +#
> +CFLAGS += -diag-disable 174 -diag-disable 593 -diag-disable 869
> +CFLAGS += -diag-disable 981 -diag-disable 2259 -diag-disable 3656

This makefile looks like copy/paste from somewhere, please don't add these flags
unless they really are needed.

> +
> +else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
> +#
> +# CFLAGS for clang
> +#
> +CFLAGS += -Wno-unused-parameter -Wno-unused-value -Wno-strict-aliasing
> +CFLAGS += -Wno-format-extra-args
> +
> +else
> +#
> +# CFLAGS for gcc
> +#
> +ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
> +CFLAGS += -Wno-deprecated -Wno-unused-parameter -Wno-unused-value
> +CFLAGS += -Wno-strict-aliasing -Wno-format-extra-args
> +CFLAGS += -Wno-missing-field-initializers -Wno-pointer-arith
> +endif
> +
> +ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
> +CFLAGS += -Wno-implicit-fallthrough
> +endif
> +
> +endif
> +
> +LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
> +LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
> +LDLIBS += -lrte_bus_pci

Same here, please don't include anly library that is not really needed.

> +
> +#
> +# all source are stored in SRCS-y
> +#
> +SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) +=
> +
> +include $(RTE_SDK)/mk/rte.lib.mk
> diff --git a/drivers/net/ionic/meson.build b/drivers/net/ionic/meson.build
> new file mode 100644
> index 000000000..502076e3c
> --- /dev/null
> +++ b/drivers/net/ionic/meson.build
> @@ -0,0 +1,8 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2019 Pensando
> +
> +version = 1

Same here, can drop the version.

> +
> +sources = files(
> +)
> +
> diff --git a/drivers/net/ionic/rte_pmd_ionic_version.map b/drivers/net/ionic/rte_pmd_ionic_version.map
> new file mode 100644
> index 000000000..96f83bd6c
> --- /dev/null
> +++ b/drivers/net/ionic/rte_pmd_ionic_version.map
> @@ -0,0 +1,5 @@
> +DPDK_2.0 {

The prefix is the now ABI version, you can use 'DPDK_20.0' for it.


More information about the dev mailing list