dp-packet batches can hold only a fixed count of packets since their
introduction.

This limitation makes it impossible to split packets/emit more than
the batch size during the processing of one batch.

This series proposes to dynamically grow those batches when a
NETDEV_MAX_BURST threshold is reached.

-- 
David Marchand

Changes since v1:
- added more AT_CHECK in unit tests,
- enhanced readability (variable names, capacity helper introduction...),
- fixed AF_XDP netdev transmission,

Changes since RFC v1:
- rebased,
- with AVX512 removal, patch 2 was dropped and some other
  patches got simpler,
- add some helper for ip fragments,
- split patch 4 in multiple patches and refactored meter and output
  actions to drop the dependency on NETDEV_MAX_BURST arrays,
- updated max retries count for vhost-user ports,

David Marchand (14):
  tests: Add a helper to check coverage counters.
  tests: Add a helper for generating IP fragments.
  dpif-netdev: Remove ambiguous array size.
  dpif-netdev: Prepare metering for dynamic packet batches.
  dpif-netdev: Prepare recirculation for dynamic packet batches.
  dpif-netdev: Prepare output for dynamic packet batches.
  netdev-afxdp: Prepare for dynamic packet batches.
  netdev-dpdk: Prepare vhost transmission for dynamic packet batches.
  dp-packet: Prepare for dynamic packet batches.
  dp-packet: Introduce dynamic packet batches.
  dpif-netdev: Use dynamic packet batches for output.
  ipf: Use dynamic packet batches.
  dp-packet-gso: Use dynamic packet batches.
  netdev: Use software GSO for nested tunnels.

 Documentation/topics/userspace-tso.rst |   4 +-
 lib/dp-packet-gso.c                    |  66 ++++---
 lib/dp-packet-gso.h                    |   4 +-
 lib/dp-packet.c                        |  25 +++
 lib/dp-packet.h                        |  88 ++++++---
 lib/dpif-netdev.c                      | 223 +++++++++++++++------
 lib/dpif.c                             |   1 +
 lib/ipf.c                              |  48 ++---
 lib/netdev-afxdp.c                     |  44 ++++-
 lib/netdev-bsd.c                       |   3 +-
 lib/netdev-dpdk.c                      |  25 ++-
 lib/netdev-dummy.c                     |   3 +-
 lib/netdev-linux.c                     |   2 +-
 lib/netdev.c                           | 159 ++++-----------
 lib/odp-execute.c                      |   5 +-
 tests/dpif-netdev.at                   | 207 ++++++++++++-------
 tests/drop-stats.at                    |  60 ++----
 tests/ofproto-dpif.at                  | 263 ++++++++++---------------
 tests/ofproto-macros.at                |  18 +-
 tests/system-offloads-traffic.at       |   4 +-
 tests/test-conntrack.c                 |  10 +-
 tests/tunnel-push-pop-ipv6.at          |  30 +--
 tests/tunnel-push-pop.at               |  36 ++--
 tests/tunnel.at                        |   6 +-
 24 files changed, 701 insertions(+), 633 deletions(-)

-- 
2.54.0

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

Reply via email to