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 <cardigli...@ntop.org> > Reviewed-by: Shannon Nelson <snel...@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.