Skip to content

[PATCH v6] api: packet: deprecate packet vectors - #2406

Merged
MatiasElo merged 8 commits into
OpenDataPlane:masterfrom
TuomasTaipale:dev/packet_vec_depr
Oct 23, 2026
Merged

MatiasElo merged 8 commits into
OpenDataPlane:masterfrom
TuomasTaipale:dev/packet_vec_depr

Conversation

@TuomasTaipale

@TuomasTaipale TuomasTaipale commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Deprecate packet vectors. The newer event vector API is now the main vectorization interface.

Additionally, introduce odp_event_aggr_capability_t::source capability for signaling ability for different event sources to generate event vectors if configured with an event aggregator queue. This replaces the capability structures defined for the now deprecated packet vectors.

v2:

  • Rebased
  • Matias' comments

v4:

  • Rebased
  • Matias' comment

v5:

  • Added reviewed-by tags

@github-actions github-actions Bot changed the title api: packet: deprecate packet vectors [PATCH v1] api: packet: deprecate packet vectors Sep 25, 2026
@MatiasElo MatiasElo added this to the v1.52.0 milestone Sep 29, 2026
Comment thread test/validation/api/pool/pool.c Outdated
Comment thread include/odp/api/spec/pool_types.h Outdated
Comment thread include/odp/api/spec/pool_types.h Outdated
Comment thread include/odp/api/spec/classification.h
Comment thread include/odp/api/spec/event_vector_types.h Outdated
Comment thread include/odp/api/spec/event_vector_types.h Outdated
Comment thread include/odp/api/spec/event_vector_types.h Outdated
Comment thread include/odp/api/abi-default/event_types.h
Comment thread include/odp/api/spec/packet.h Outdated
Comment thread test/validation/api/event/event.c Outdated
@github-actions github-actions Bot changed the title [PATCH v1] api: packet: deprecate packet vectors [PATCH v2] api: packet: deprecate packet vectors Oct 9, 2026
@PavanNikhilesh

Copy link
Copy Markdown
Contributor

Acked-by: Pavan Nikhilesh Bhagavatula pbhagavatula@marvell.com

@MatiasElo MatiasElo added the API spec OK API specification is ready. Needs implementation and test updates. label Oct 16, 2026
@github-actions github-actions Bot changed the title [PATCH v2] api: packet: deprecate packet vectors [PATCH v3] api: packet: deprecate packet vectors Oct 20, 2026
Comment thread test/validation/api/pktio/pktio.c Outdated
Comment on lines +4768 to +4769
if (recv && !aggr_capa.source.bit.pktin)
return ODP_TEST_INACTIVE;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since aggr_capa.source.bit.pktin is basically only a hint for the application and it looks like the test should pass also if only normal packets are received, it's perhaps better to not disable this.

@github-actions github-actions Bot changed the title [PATCH v3] api: packet: deprecate packet vectors [PATCH v4] api: packet: deprecate packet vectors Oct 22, 2026
@github-actions github-actions Bot changed the title [PATCH v4] api: packet: deprecate packet vectors [PATCH v5] api: packet: deprecate packet vectors Oct 22, 2026
@MatiasElo MatiasElo added API Ready API change ready to be merged (with the next API version increment) and removed API spec OK API specification is ready. Needs implementation and test updates. labels Oct 23, 2026
Deprecate packet vectors. The newer event vector API is now the main
vectorization interface.

Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Acked-by: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
Add new `odp_event_aggr_capability_t::source` capability for signaling
ability for different event sources to generate event vectors if
configured with an event aggregator queue.

Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Acked-by: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
Fill the new `odp_event_aggr_capability_t::source` capability for plain
and scheduled queue aggregators. Event aggregation is done in software
when events are enqueued to an aggregator queue, so events from all
sources can be aggregated.

Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Print the new `odp_event_aggr_capability_t::source` capability of plain
and scheduled queue aggregators.

Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Packet input aggregates packets into event vectors only if the
aggregator capability advertises the packet input event source. Print
a warning with the `odp_event_aggr_capability_t::source` bits in event
vector receive tests when the `pktin` bit is not set. This helps to
identify failures caused by missing aggregation while still running the
tests on implementations that do not yet report source capabilities.

Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Classifier aggregates packets into event vectors only if the aggregator
capability advertises the classifier event source. Print a warning with
the `odp_event_aggr_capability_t::source` bits in event vector tests
when the `cls` bit is not set. This helps to identify failures caused
by missing aggregation while still running the tests on implementations
that do not yet report source capabilities.

Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Application enqueues to an aggregator queue are aggregated into event
vectors only if the aggregator capability advertises the queue event
source. Print a warning with the `odp_event_aggr_capability_t::source`
bits in aggregator enqueue tests when the `queue` bit is not set. This
helps to identify failures caused by missing aggregation while still
running the tests on implementations that do not yet report source
capabilities.

Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Packet input aggregates packets into event vectors only if the
aggregator capability advertises the packet input event source.
Otherwise, workers receive plain packets in event vector mode. Print a
warning with the `odp_event_aggr_capability_t::source` bits when the
`pktin` bit is not set, but still allow event vector mode on
implementations that do not yet report source capabilities.

Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
@MatiasElo
MatiasElo force-pushed the dev/packet_vec_depr branch from 5bb2527 to 2557a0a Compare October 23, 2026 14:23
@github-actions github-actions Bot changed the title [PATCH v5] api: packet: deprecate packet vectors [PATCH v6] api: packet: deprecate packet vectors Oct 23, 2026
@MatiasElo
MatiasElo merged commit fa4766f into OpenDataPlane:master Oct 23, 2026
98 of 135 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

API Ready API change ready to be merged (with the next API version increment)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants