Introduce a new netdev type - netdev-doca.
In order to compile, need to install doca on the build machine.


v2-v1:
- Fixed licence comment headers.
- Abandoned dpdk-extra patch. It is a configuration issue and there is
  also [1].
- Added co-author to some of the commits.

[1] https://mail.openvswitch.org/pipermail/ovs-dev/2026-February/430134.html

v3-v2:
- There is a lot of code that can be shared with netdev-dpdk. Refactored it
  to enable sharing.
- Added documentation files.
- Styling fixes.
- Reworked ovs-rcu and refmap patches.
- Added support for github actions (CI) to compile with doca.
- Simplified acinclude.m4.
- Reworked sysfs access. Most of the accesses are now with doca-API.
- Reworked error paths - returned values, messages and rollbacks.

v4-v3:
- Licence comment headers.
- Styling fixes.
- CI dpdk is enhanced to compile mlx5 PMD and used with doca jobs.
- Removed ovs-rcu patch.
- Refmap fixes.
- DOCA mempool free by sweep.

v5-v4:
- Rebased onto dpdk-latest.
- Removed dev_type field from netdev-dpdk.
- Dropped the direct mempool commit.
- Refactored more dpdk code to netdev-dpdk-common.
- --with-doca is changed to be a flag.  Link type follows --with-dpdk.
- Added nvhws static link support.
- -DALLOW_EXPERIMENTAL_API:
  - Removed from acinclude.m4.  It still exists via doca's pkg-config files.
  - Temporarily disabled shared DOCA linking in CI until a DOCA SDK built
    against upstream DPDK with the promoted (non-experimental)
    symbols is available.
- Fixed a potential leak with doca_dev_rep_close().
- Preserve cX controller prefix in phys_port_name when probing ports.
- Changed doca log levels to match OVS vlog ones.
- Aligned flow-limit with ofproto.  Keep mismatch warning in ovs-doca.
- Styling fixes.

Ariel Levkovich (1):
  acinclude.m4: Add '--with-doca' option.

Eli Britstein (8):
  packets: Move ETH_TYPE_LLDP to be a public define.
  netdev-dpdk: Remove dev_type field.
  netdev-dpdk-common: Refactor declarations from netdev-dpdk.
  netdev-dpdk: Change access from dev->common.xxx to common->xxx.
  netdev-dpdk: Make 'started' field atomic.
  netdev-dpdk-common: Refactor common functions for netdev-doca reuse.
  unixctl: Introduce unixctl_mem_stream().
  netdev-doca: Introduce doca netdev.

Gaetan Rivet (1):
  refmap: Introduce reference map.

 .ci/doca-build.sh                     |   54 +
 .ci/dpdk-build.sh                     |    5 +-
 .github/workflows/build-and-test.yml  |  115 +-
 Documentation/automake.mk             |    2 +
 Documentation/howto/doca.rst          |  144 ++
 Documentation/howto/index.rst         |    1 +
 Documentation/intro/install/doca.rst  |  120 +
 Documentation/intro/install/index.rst |    1 +
 Makefile.am                           |    1 +
 NEWS                                  |    5 +
 acinclude.m4                          |  177 ++
 configure.ac                          |    4 +-
 lib/automake.mk                       |   14 +-
 lib/dpdk.c                            |   32 +-
 lib/netdev-doca.c                     | 2771 ++++++++++++++++++++
 lib/netdev-doca.h                     |  120 +
 lib/netdev-dpdk-common.c              | 2236 +++++++++++++++++
 lib/netdev-dpdk-common.h              |  392 +++
 lib/netdev-dpdk.c                     | 3351 +++++--------------------
 lib/netdev-dpdk.h                     |    9 +
 lib/ovs-doca.c                        |  851 +++++++
 lib/ovs-doca.h                        |  102 +
 lib/ovs-lldp.c                        |    1 -
 lib/packets.h                         |    7 +-
 lib/refmap.c                          |  494 ++++
 lib/refmap.h                          |  163 ++
 lib/unixctl.c                         |   43 +-
 lib/unixctl.h                         |    3 +
 tests/automake.mk                     |    1 +
 tests/library.at                      |    5 +
 tests/ofproto-macros.at               |    1 +
 tests/system-dpdk.at                  |    2 +-
 tests/test-aa.c                       |    2 -
 tests/test-refmap.c                   | 1107 ++++++++
 utilities/checkpatch_dict.txt         |    4 +
 vswitchd/bridge.c                     |    5 +
 vswitchd/ovs-vswitchd.c               |    3 +
 vswitchd/vswitch.ovsschema            |    9 +-
 vswitchd/vswitch.xml                  |  100 +-
 39 files changed, 9639 insertions(+), 2818 deletions(-)
 create mode 100755 .ci/doca-build.sh
 create mode 100644 Documentation/howto/doca.rst
 create mode 100644 Documentation/intro/install/doca.rst
 create mode 100644 lib/netdev-doca.c
 create mode 100644 lib/netdev-doca.h
 create mode 100644 lib/netdev-dpdk-common.c
 create mode 100644 lib/netdev-dpdk-common.h
 create mode 100644 lib/ovs-doca.c
 create mode 100644 lib/ovs-doca.h
 create mode 100644 lib/refmap.c
 create mode 100644 lib/refmap.h
 create mode 100644 tests/test-refmap.c

-- 
2.43.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to