Hi, Added new net driver for Netcope nfb cards
Signed-off-by: Rastislav Cernay <cernay at netcope.com> Reviewed-by: Rami Rosen <ramir...@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; + } +