mbox series

[v3,00/17] Introduces net/ionic PMD

Message ID 20191209214656.27347-1-cardigliano@ntop.org (mailing list archive)
Headers
Series Introduces net/ionic PMD |

Message

Alfredo Cardigliano Dec. 9, 2019, 9:46 p.m. UTC
  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 <cardigliano@ntop.org>
Reviewed-by: Shannon Nelson <snelson@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
  

Comments

Ferruh Yigit Dec. 10, 2019, 6:57 p.m. UTC | #1
On 12/9/2019 9:46 PM, Alfredo Cardigliano wrote:
> 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 <cardigliano@ntop.org>
> Reviewed-by: Shannon Nelson <snelson@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

Hi Alfredo,

License issue still needs to be cleared.

There is shared build errors, I mentioned details in the patch, can you please
be sure shared build works in next version?

Also can you please run in-house scripts and be sure the issues they identified
are addressed:
./devtools/checkpatches.sh
./devtools/check-git-log.sh


And I already put some comments to the individual patches.


Thanks,
ferruh