[dpdk-dev] [PATCH v6 00/31] A new net PMD - ICE

Wenzhuo Lu wenzhuo.lu at intel.com
Tue Dec 18 09:46:09 CET 2018


This patch set adds the support of a new net PMD,
Intel® Ethernet Network Adapters E810, also
called ice.

Below features are enabled by this patch set,

Basic features:
1, Basic device operations: probe, initialization, start/stop, configure, info get.
2, RX/TX queue operations: setup/release, start/stop, info get.
3, RX/TX.

HW Offload features:
1, CRC Stripping/insertion.
2, L2/L3 checksum strip/insertion.
3, PVID set.
4, TPID change.
5, TSO (LRO/RSC not supported).

Stats:
1, statics & xstatics.

Switch functions:
1, MAC Filter Add/Delete.
2, VLAN Filter Add/Delete.

Power saving:
1, RX interrupt mode.

Misc:
1, Interrupt For Link Status.
2, firmware info query.
3, Jumbo Frame Support.
4, ptype check.
5, EEPROM check and set.

---
v2:
 - Fix shared lib compile issue.
 - Add meson build support.
 - Update documents.
 - Fix more checkpatch issues.

v3:
 - Removed the support of secondary process.
 - Splitted the base code to more patches.
 - Pass NULL to rte_zmalloc.
 - Changed some magic numbers to macros.
 - Fixed the wrong implementation of a specific bitmapi.

v4:
 - Moved meson build forward.
 - Updated and splitted the document to related patches.
 - Updated the device info.
 - Removed unnecessary compile config.
 - Removed the code of ops rx_descriptor_done.
 - Adjusted the order of the functions.
 - Added error print for MAC setting.

v5:
 - Removed ice_dcb.c/h.
 - Fixed compile error of icc and i686.
 - Announced dependence of uio and vfio.

v6:
 - Adjusted the order of the patches.
 - Fixed some checkpatch errors.
 - Some minor change.

Paul M Stillwell Jr (13):
  net/ice/base: add registers for Intel(R) E800 Series NIC
  net/ice/base: add basic structures
  net/ice/base: add admin queue structures and commands
  net/ice/base: add sideband queue info
  net/ice/base: add device IDs for Intel(r) E800 Series NICs
  net/ice/base: add control queue information
  net/ice/base: add basic transmit scheduler
  net/ice/base: add virtual switch code
  net/ice/base: add code to work with the NVM
  net/ice/base: add common functions
  net/ice/base: add various headers
  net/ice/base: add protocol structures and defines
  net/ice/base: add structures for RX/TX queues

Wenzhuo Lu (18):
  net/ice/base: add OS specific implementation
  net/ice: support device initialization
  net/ice: support device and queue ops
  net/ice: support getting device information
  net/ice: support link update
  net/ice: support queue information getting
  net/ice: support packet type getting
  net/ice: support basic RX/TX
  net/ice: support MTU setting
  net/ice: support MAC ops
  net/ice: support VLAN ops
  net/ice: support RSS
  net/ice: support RX queue interruption
  net/ice: support FW version getting
  net/ice: support EEPROM information getting
  net/ice: support advance RX/TX
  net/ice: support statistics
  support descriptor ops

 MAINTAINERS                              |    8 +
 config/common_base                       |    9 +
 doc/guides/nics/features/ice.ini         |   39 +
 doc/guides/nics/ice.rst                  |  104 +
 doc/guides/nics/index.rst                |    1 +
 doc/guides/rel_notes/release_19_02.rst   |    5 +
 drivers/net/Makefile                     |    1 +
 drivers/net/ice/Makefile                 |   55 +
 drivers/net/ice/base/README              |   22 +
 drivers/net/ice/base/ice_adminq_cmd.h    | 1891 ++++++
 drivers/net/ice/base/ice_alloc.h         |   22 +
 drivers/net/ice/base/ice_common.c        | 3521 +++++++++++
 drivers/net/ice/base/ice_common.h        |  186 +
 drivers/net/ice/base/ice_controlq.c      | 1098 ++++
 drivers/net/ice/base/ice_controlq.h      |   97 +
 drivers/net/ice/base/ice_devids.h        |   17 +
 drivers/net/ice/base/ice_flex_type.h     |   19 +
 drivers/net/ice/base/ice_flow.h          |    8 +
 drivers/net/ice/base/ice_hw_autogen.h    | 9815 ++++++++++++++++++++++++++++++
 drivers/net/ice/base/ice_lan_tx_rx.h     | 2291 +++++++
 drivers/net/ice/base/ice_nvm.c           |  387 ++
 drivers/net/ice/base/ice_osdep.h         |  524 ++
 drivers/net/ice/base/ice_protocol_type.h |  248 +
 drivers/net/ice/base/ice_sbq_cmd.h       |   93 +
 drivers/net/ice/base/ice_sched.c         | 5380 ++++++++++++++++
 drivers/net/ice/base/ice_sched.h         |  210 +
 drivers/net/ice/base/ice_status.h        |   45 +
 drivers/net/ice/base/ice_switch.c        | 2812 +++++++++
 drivers/net/ice/base/ice_switch.h        |  333 +
 drivers/net/ice/base/ice_type.h          |  869 +++
 drivers/net/ice/base/meson.build         |   27 +
 drivers/net/ice/ice_ethdev.c             | 3245 ++++++++++
 drivers/net/ice/ice_ethdev.h             |  318 +
 drivers/net/ice/ice_logs.h               |   45 +
 drivers/net/ice/ice_rxtx.c               | 2872 +++++++++
 drivers/net/ice/ice_rxtx.h               |  154 +
 drivers/net/ice/meson.build              |   13 +
 drivers/net/ice/rte_pmd_ice_version.map  |    4 +
 drivers/net/meson.build                  |    1 +
 mk/rte.app.mk                            |    1 +
 40 files changed, 36790 insertions(+)
 create mode 100644 doc/guides/nics/features/ice.ini
 create mode 100644 doc/guides/nics/ice.rst
 create mode 100644 drivers/net/ice/Makefile
 create mode 100644 drivers/net/ice/base/README
 create mode 100644 drivers/net/ice/base/ice_adminq_cmd.h
 create mode 100644 drivers/net/ice/base/ice_alloc.h
 create mode 100644 drivers/net/ice/base/ice_common.c
 create mode 100644 drivers/net/ice/base/ice_common.h
 create mode 100644 drivers/net/ice/base/ice_controlq.c
 create mode 100644 drivers/net/ice/base/ice_controlq.h
 create mode 100644 drivers/net/ice/base/ice_devids.h
 create mode 100644 drivers/net/ice/base/ice_flex_type.h
 create mode 100644 drivers/net/ice/base/ice_flow.h
 create mode 100644 drivers/net/ice/base/ice_hw_autogen.h
 create mode 100644 drivers/net/ice/base/ice_lan_tx_rx.h
 create mode 100644 drivers/net/ice/base/ice_nvm.c
 create mode 100644 drivers/net/ice/base/ice_osdep.h
 create mode 100644 drivers/net/ice/base/ice_protocol_type.h
 create mode 100644 drivers/net/ice/base/ice_sbq_cmd.h
 create mode 100644 drivers/net/ice/base/ice_sched.c
 create mode 100644 drivers/net/ice/base/ice_sched.h
 create mode 100644 drivers/net/ice/base/ice_status.h
 create mode 100644 drivers/net/ice/base/ice_switch.c
 create mode 100644 drivers/net/ice/base/ice_switch.h
 create mode 100644 drivers/net/ice/base/ice_type.h
 create mode 100644 drivers/net/ice/base/meson.build
 create mode 100644 drivers/net/ice/ice_ethdev.c
 create mode 100644 drivers/net/ice/ice_ethdev.h
 create mode 100644 drivers/net/ice/ice_logs.h
 create mode 100644 drivers/net/ice/ice_rxtx.c
 create mode 100644 drivers/net/ice/ice_rxtx.h
 create mode 100644 drivers/net/ice/meson.build
 create mode 100644 drivers/net/ice/rte_pmd_ice_version.map

-- 
1.9.3



More information about the dev mailing list