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

Rami Rosen ramirose at gmail.com
Tue Mar 5 21:31:57 CET 2019


Hi,

Added new net driver for Netcope nfb cards

Signed-off-by: Rastislav Cernay <cernay at netcope.com>
Reviewed-by: Rami Rosen <ramirose at gmail.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

Minors:

+int
+nfb_eth_rx_queue_init(struct nfb_device *nfb,
+ uint16_t rx_queue_id,
+ uint16_t port_id,
+ struct rte_mempool *mb_pool,
+ struct ndp_rx_queue *rxq)
+{
+ if (nfb == NULL)
+ return -EINVAL;
+
+ rxq->queue = ndp_open_rx_queue(nfb, rx_queue_id);
+ if (rxq->queue == NULL)
+ return -EINVAL;
+
+ rxq->nfb = nfb;
+ rxq->rx_queue_id = rx_queue_id;
+ rxq->in_port = port_id;
+ rxq->mb_pool = mb_pool;

maybe better to have the following declaration at the beginning
of the method (though not sure it will cause a compilation error
under most compilers)

+
+ const struct rte_pktmbuf_pool_private *mbp_priv =
+ rte_mempool_get_priv(mb_pool);


static __rte_always_inline uint16_t
+nfb_eth_ndp_tx(void *queue,
+ struct rte_mbuf **bufs,
+ uint16_t nb_pkts)
+{
...
...
Should be "TX invalid arguments!\n"):

+ if (unlikely(ndp->queue == NULL || nb_pkts == 0)) {
+ RTE_LOG(ERR, PMD, "RX invalid arguments!\n");
+ return 0;
+ }
+


More information about the dev mailing list