The patch series provides an initial version of a poll mode driver for Pensando network adapters. The driver name is ionic.
v3 Changes: ---------- - Set the license to BSD-3 (in addition to GPL-2) - Add the new PMD driver to the release notes - Add a link to the adapter vendor page - Cleanup the makefile (compilation flags, libraries, etc) - Fix clang build errors - Fix indentation according to the dpdk coding style - Cleanup log functions and macros - Set min/max mtu to be checked by the API - Uninitialize device in close dev_ops - Fix VLAN offload support - Initialize stats struct - Move structures size check - Other minor code cleanup Signed-off-by: Alfredo Cardigliano <cardigli...@ntop.org> Reviewed-by: Shannon Nelson <snel...@pensando.io> Alfredo Cardigliano (17): net/ionic: add skeleton net/ionic: add hardware structures definitions net/ionic: add log net/ionic: register and initialize the adapter net/ionic: add port management commands net/ionic: add basic lif support net/ionic: add doorbells net/ionic: add adminq support net/ionic: add notifyq support net/ionic: add basic port operations net/ionic: add RX filters support net/ionic: add Flow Control support net/ionic: add RX and TX handling net/ionic: add RSS support net/ionic: add stats net/ionic: add TX checksum support net/ionic: read fw version MAINTAINERS | 6 + config/common_base | 5 + doc/guides/nics/features/ionic.ini | 37 + doc/guides/nics/index.rst | 1 + doc/guides/nics/ionic.rst | 37 + doc/guides/rel_notes/release_20_02.rst | 4 + drivers/net/Makefile | 1 + drivers/net/ionic/Makefile | 47 + drivers/net/ionic/ionic.h | 81 + drivers/net/ionic/ionic_dev.c | 577 +++++ drivers/net/ionic/ionic_dev.h | 269 ++ drivers/net/ionic/ionic_ethdev.c | 1348 ++++++++++ drivers/net/ionic/ionic_ethdev.h | 22 + drivers/net/ionic/ionic_if.h | 2491 +++++++++++++++++++ drivers/net/ionic/ionic_lif.c | 1718 +++++++++++++ drivers/net/ionic/ionic_lif.h | 189 ++ drivers/net/ionic/ionic_logs.h | 26 + drivers/net/ionic/ionic_mac_api.c | 61 + drivers/net/ionic/ionic_mac_api.h | 13 + drivers/net/ionic/ionic_main.c | 450 ++++ drivers/net/ionic/ionic_osdep.h | 79 + drivers/net/ionic/ionic_regs.h | 142 ++ drivers/net/ionic/ionic_rx_filter.c | 139 ++ drivers/net/ionic/ionic_rx_filter.h | 47 + drivers/net/ionic/ionic_rxtx.c | 1087 ++++++++ drivers/net/ionic/ionic_rxtx.h | 44 + drivers/net/ionic/meson.build | 13 + drivers/net/ionic/rte_pmd_ionic_version.map | 5 + mk/rte.app.mk | 1 + 29 files changed, 8940 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/ionic.h create mode 100644 drivers/net/ionic/ionic_dev.c create mode 100644 drivers/net/ionic/ionic_dev.h create mode 100644 drivers/net/ionic/ionic_ethdev.c create mode 100644 drivers/net/ionic/ionic_ethdev.h create mode 100644 drivers/net/ionic/ionic_if.h create mode 100644 drivers/net/ionic/ionic_lif.c create mode 100644 drivers/net/ionic/ionic_lif.h create mode 100644 drivers/net/ionic/ionic_logs.h create mode 100644 drivers/net/ionic/ionic_mac_api.c create mode 100644 drivers/net/ionic/ionic_mac_api.h create mode 100644 drivers/net/ionic/ionic_main.c create mode 100644 drivers/net/ionic/ionic_osdep.h create mode 100644 drivers/net/ionic/ionic_regs.h create mode 100644 drivers/net/ionic/ionic_rx_filter.c create mode 100644 drivers/net/ionic/ionic_rx_filter.h create mode 100644 drivers/net/ionic/ionic_rxtx.c create mode 100644 drivers/net/ionic/ionic_rxtx.h create mode 100644 drivers/net/ionic/meson.build create mode 100644 drivers/net/ionic/rte_pmd_ionic_version.map -- 2.17.1