[dpdk-dev] [PATCH v3] net/nfb: new netcope driver

Luca Boccassi bluca at debian.org
Tue Mar 5 23:41:14 CET 2019


On Fri, 2019-03-01 at 15:37 +0100, Rastislav Cernay wrote:
> From: Rastislav Cernay <cernay at netcope.com>
> 
> Added new net driver for Netcope nfb cards
> 
> Signed-off-by: Rastislav Cernay <cernay at netcope.com>
> ---
> v2: remove unnecessary cast
>     remove unnecessary zeroing
>     move declaration to not mix with code
>     restore skeleton example
> v3: add release notes
>     add doc to doc index
>     add architecture limits to doc
>     edit features list
>     add .map file
>     change link to dependecies to official vendor site
>     move declarations out of code
>     remove false comments (rte_errno is set)
>     comments to c89 style
>     remove log from main rx loop
>     remove redundant code
>  MAINTAINERS                             |   7 +
>  config/common_base                      |   4 +
>  devtools/test-build.sh                  |   1 +
>  doc/guides/nics/features/nfb.ini        |  18 +
>  doc/guides/nics/index.rst               |   1 +
>  doc/guides/nics/nfb.rst                 | 143 ++++++++
>  doc/guides/rel_notes/release_19_02.rst  |   5 +
>  drivers/net/Makefile                    |   1 +
>  drivers/net/meson.build                 |   1 +
>  drivers/net/nfb/Makefile                |  41 +++
>  drivers/net/nfb/meson.build             |   9 +
>  drivers/net/nfb/nfb.h                   |  50 +++
>  drivers/net/nfb/nfb_ethdev.c            | 589
> ++++++++++++++++++++++++++++++++
>  drivers/net/nfb/nfb_rx.c                | 127 +++++++
>  drivers/net/nfb/nfb_rx.h                | 213 ++++++++++++
>  drivers/net/nfb/nfb_rxmode.c            | 100 ++++++
>  drivers/net/nfb/nfb_rxmode.h            |  78 +++++
>  drivers/net/nfb/nfb_stats.c             |  78 +++++
>  drivers/net/nfb/nfb_stats.h             |  48 +++
>  drivers/net/nfb/nfb_tx.c                | 113 ++++++
>  drivers/net/nfb/nfb_tx.h                | 204 +++++++++++
>  drivers/net/nfb/rte_nfb_pmd_version.map |   4 +
>  mk/rte.app.mk                           |   1 +
>  23 files changed, 1836 insertions(+)
>  create mode 100644 doc/guides/nics/features/nfb.ini
>  create mode 100644 doc/guides/nics/nfb.rst
>  create mode 100644 drivers/net/nfb/Makefile
>  create mode 100644 drivers/net/nfb/meson.build
>  create mode 100644 drivers/net/nfb/nfb.h
>  create mode 100644 drivers/net/nfb/nfb_ethdev.c
>  create mode 100644 drivers/net/nfb/nfb_rx.c
>  create mode 100644 drivers/net/nfb/nfb_rx.h
>  create mode 100644 drivers/net/nfb/nfb_rxmode.c
>  create mode 100644 drivers/net/nfb/nfb_rxmode.h
>  create mode 100644 drivers/net/nfb/nfb_stats.c
>  create mode 100644 drivers/net/nfb/nfb_stats.h
>  create mode 100644 drivers/net/nfb/nfb_tx.c
>  create mode 100644 drivers/net/nfb/nfb_tx.h
>  create mode 100644 drivers/net/nfb/rte_nfb_pmd_version.map
> 

<...>

> diff --git a/drivers/net/nfb/meson.build
> b/drivers/net/nfb/meson.build
> new file mode 100644
> index 0000000..d7dccba
> --- /dev/null
> +++ b/drivers/net/nfb/meson.build
> @@ -0,0 +1,9 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2018 Cesnet
> +# Copyright(c) 2018 Netcope Technologies, a.s. <info at netcope.com>
> +# All rights reserved.
> +
> +dep = cc.find_library('nfb', required: true)

This unconditionally breaks the build, please look at how
drivers/net/pcap/meson.build checks for dependencies for an example (I
assume libnfd does not provide a pkg-config file?)

> +build = dep.found()
> +ext_deps += dep
> +sources = files('nfb_rx.c', 'nfb_tx.c', 'nfb_stats.c',
> 'nfb_ethdev.c', 'nfb_rxmode.c')

<...>

> diff --git a/drivers/net/nfb/rte_nfb_pmd_version.map
> b/drivers/net/nfb/rte_nfb_pmd_version.map
> new file mode 100644
> index 0000000..97fd251
> --- /dev/null
> +++ b/drivers/net/nfb/rte_nfb_pmd_version.map
> @@ -0,0 +1,4 @@
> +DPDK_19.02 {
> +
> +        local: *;
> +};

These are all new symbols so they should be marked as experimental,
please see doc/guides/contributing/versioning.rst

> diff --git a/mk/rte.app.mk b/mk/rte.app.mk
> index 8a4f0f4..32e88b5 100644
> --- a/mk/rte.app.mk
> +++ b/mk/rte.app.mk
> @@ -196,6 +196,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC)      +=
> -lrte_pmd_softnic
>  endif
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD)    += -lrte_pmd_sfc_efx
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2)   += -lrte_pmd_szedata2
> -lsze2
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NFB)        += -lrte_pmd_nfb -lnfb
> -lfdt

Why is -lfdt added? I don't see any symbols from libfdt used in the
rest of the patch?

>  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_TAP)        += -lrte_pmd_tap
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) +=
> -lrte_pmd_thunderx_nicvf
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) +=
> -lrte_pmd_vdev_netvsc

-- 
Kind regards,
Luca Boccassi


More information about the dev mailing list