Skip to content

[PATCH v1] Merge ODP linux-generic v1.50.0.0#263

Open
MatiasElo wants to merge 90 commits into
OpenDataPlane:masterfrom
MatiasElo:dev/release
Open

[PATCH v1] Merge ODP linux-generic v1.50.0.0#263
MatiasElo wants to merge 90 commits into
OpenDataPlane:masterfrom
MatiasElo:dev/release

Conversation

@MatiasElo
Copy link
Copy Markdown
Contributor

No description provided.

JannePeltonen and others added 30 commits January 13, 2026 15:45
Print SNOW 5G based crypto algorithm capabilities.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Acked-by: Tejasree Kondoj <ktejasree@marvell.com>
Add SNOW 5G based algorithms in the test suite so that they get included
in the combined encrypt-decrypt tests if supported, even though we do not
include actual test vectors for them.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Acked-by: Tejasree Kondoj <ktejasree@marvell.com>
Do not explicitly set the output_pool crypto session parameter but rely
on the default value set by odp_crypto_session_param_init().

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Acked-by: Tejasree Kondoj <ktejasree@marvell.com>
Use odp_crypto_session_param_init() function to initialize session
parameters for better forward compatibility with future ODP API
versions. Remove setting of the output_pool parameter and rely on
the default value set by the init function.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Acked-by: Tejasree Kondoj <ktejasree@marvell.com>
Check that used DPDK version is supported during configure.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
Adding '-msse4.2' option to DPDK_CFLAGS manually is no longer necessary.
The option was added a long time ago when DPDK did not yet support
pkg-config for exporting the necessary compiler flags.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
Decrease odp_sched_pktio example packet pool size to reduce memory usage.
Fixes out of memory failures in CI process mode test.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
Add support for printing new ODP_AUTH_ALG_SNOW5G_NIA4 and
ODP_CIPHER_ALG_SNOW5G_NEA4 algorithms in odp_crypto_session_print().

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Use odp_packet_has_ref() function for checking if packet has references to
enable loop pktio code reuse with odp-dpdk.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Add missing CONFIG_CACHE_PAD_LINES value print to odp_sys_config_print()
output.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Upgrade to Ubuntu 24.04 Coverity container.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
The flush_in_queues() function did nothing since odp_pktin_recv() only
receives packet from devices in PKTIO_STATE_STARTED state.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Check that correct pool type is used with odp_buffer_alloc() and
odp_buffer_alloc_multi() functions also from application PoV.
odp_dma_compl_alloc() and odp_ml_compl_alloc() functions now use
implementation internal _odp_event_alloc() function for allocating their
events and check the used pool type. Also, make _odp_event_alloc() function
inlined.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
Match test results output to API function names also in throughput mode.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Add missing test for odp_schedule_multi_wait() function.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Previously 'min_rx_burst' config file options was actually never used by
the implementation and instead the default value DPDK_MIN_RX_BURST was
used. Also, check that the given 'min_rx_burst' value does not overflow.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
Enable application to define all DPDK pktio config file options per DPDK
PMD. Also, document this feature better in the config file.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
Clarify pktio validation test code by combining all global data inside
common pktio_global_t struct. The data is initialized in pktio_suite_init()
function.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Save commonly used pktio capabilities during suite init to enable making
per test capability checks simpler.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Use pktio capabilities saved during suite init to simplify capability
checks.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
…tions

Enable testing single event odp_buffer_alloc/free() and
odp_packet_alloc/free() functions by setting burst size to zero
('--burst 0'). Also, change default burst size to 32.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Optimize implementation of internal single event specific _odp_event_free()
function, which is used to implement several API functions.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Optimize implementation of internal single event specific
_odp_event_alloc() function, which is used to implement several API
functions.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Use single event alloc function in odp_buffer_alloc() implementation.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Add free_ctrl metadata to test_packet_md_t for better test coverage.
When free_ctrl was introduced, it was not added to test_packet_md_t.

Remove packet length as it depends on packet data and thus makes
test_packet_is_md_equal() more cumbersome to use in contexts where
packet lengths vary. The current user of the function does not
rely on packet length being included.

Add missing include guards to packet_common.h.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Set L2 offset to ODP_PACKET_OFFSET_INVALID instead of 0 in packet
allocation and metadata reset. ODP API says that odp_packet_l2_offset()
returns ODP_PACKET_OFFSET_INVALID when the offset has not been set.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Improve testing of the default packet metadata after packet
allocation and reset.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Move packet pool creation and destroying to their own functions from
open_pktios() and close_pktios() to shorten open_pktios() and to ensure
that the packet pool gets destroyed when open_pktios() fails.

Currently odp_term_global() fails after certain failures of open_pktios(),
generating many additional error messages. This commit fixes the problem
with respect to the packet pool only.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
SCTP checksum has its own test function that is nearly identical to the
test function for IPv4 and UDP checksums. Combine the functions into one
to reduce code duplication.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Move setting of has_udp and has_sctp flags in the relevant checksum test
prep functions to reduce clutter in the common checksum test function.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
JannePeltonen and others added 28 commits March 31, 2026 18:16
If a referencing packet is passed to TM, copy it before processing to
avoid writing to the read-only parts of the packet. Unconditional copying
at TM enqueue time could be avoided by making the copy only when needed
in various marking functions but this commit keeps things simple and
does the copy always. Copying for referenced packets and static packet
references was already in place.

Add capability bits to indicate support for packet references.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
If a referencing packet is passed to ipsec, copy it before processing to
avoid writing to the read-only parts of the packet.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Add testing with referencing and referenced packets in addition to normal
packets and static references. Add checking of the related new pktio
capabilities.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Add testing with referencing and referenced packets in addition to normal
packets and static references.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Add new validation tests for many basic packet manipulation API functions
and run the tests using many different kind of test packets, including
normal packets and referencing packets.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Add testing of odp_packet_is_referencing().

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Check that odp_pktio_capability_t::packet_ref.static_ref capability is
present in the used pktios when static reference TX mode is requested.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Print the odp_pktout_packet_ref_capability_t flags for pktios.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Update the chapter on packet references to better match the updated
API spec.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Increment API version number to reflect the following changes:

Backward incompatible:
- ipsec: change odp_ipsec_out_inline() function specification
- packet: redefine the semantics of odp_packet_ref()
- packet: change odp_packet_ref_pkt() function specification to match
  updated odp_packet_ref() specification
- packet: change odp_packet_has_ref() function specification
- pktio: add odp_pktio_capability_t.packet_ref capability
- timer: change periodic timer expiration event configuration
- timer: add odp_timer_periodic_param_init() function
- timer: add odp_timer_periodic_alloc() function
- timer: change odp_timer_periodic_start_t parameters
- timer: change odp_timer_periodic_ack() return values
- timer: add ODP_TIMER_BUSY return value to odp_timer_start(),
  odp_timer_restart(), and odp_timer_periodic_start() functions
- timer: add ODP_TIMER_TYPE_PERIODIC_FREQ timer type and rename
  ODP_TIMER_TYPE_PERIODIC to ODP_TIMER_TYPE_PERIODIC_BASE_MUL
- tm: add odp_tm_capabilities_t.packet_ref capability

Backward compatible:
- event vector: add odp_event_aggr_capability_t.stats capability
- packet: add odp_packet_is_referencing() function
- packet: clarify how odp_packet_free() function operates with packets that
  participate in packet data sharing
- packet: clarify how odp_packet_concat() function operates with packets
  that participate in packet data sharing
- packet: clarify that odp_packet_copy() function returns always a normal
  packet
- packet: change odp_packet_free_ctrl_set() function specification to allow
  usage with packets that participate in packet data sharing
- packet: clarify odp_packet_l2/l3/l4_offset_set() behavior after packet
  truncation
- packet: clarify odp_packet_l2/l3/l4_ptr() behavior when offset exceeds
  packet length
- packet: fix odp_packet_head() function specification
- queue: add odp_queue_len() function
- queue: add supported statistics counters per plain queue type
- scheduler: add odp_schedule_capability_t.queue_stats capability
- timer: add odp_timeout_is_periodic() function
- timer: add odp_timer_pool_param_t.periodic.max_pending_tmo parameter and
  matching capabilities

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
Merge ODP linux-generic v1.50.0.0 into linux-dpdk.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
…alue"

Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
…tation"

Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
…ing from tail"

Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
… a little"

Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
…FFSET_INVALID"

Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
…river specific"

Port original commit from linux-generic. No functional changes in ODP-DPDK
since per-driver lookup was already supported for all options.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
…nfiguration"

Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
…ncy"

Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
…cket references"

Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Port original commit from linux-generic.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Previously, if the new head mbuf had multiple segments, the segment
allocation loop didn't update 't', so the segments got overwritten. Also,
the loop counter 'i' was handled incorrectly.

Additionally, handle a corner case where 'addheadsize' is evenly divisible
by 'buf_len'.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Use maximum pool segment length instead of current packet segment length
when validating 'len' parameter of odp_packet_align().

Signed-off-by: Matias Elo <matias.elo@nokia.com>
Add _odp_packet_hdr_from_mbuf() helper function for converting mbufs to
ODP packet headers.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
…nces"

Port packet references from linux-generic to linux-dpdk, using DPDK
indirect mbufs. Packet references are tracked per segment, not only in the
first segment.

Signed-off-by: Matias Elo <matias.elo@nokia.com>
@odpbuild odpbuild changed the title Merge ODP linux-generic v1.50.0.0 [PATCH v1] Merge ODP linux-generic v1.50.0.0 May 13, 2026
Copy link
Copy Markdown
Collaborator

@TuomasTaipale TuomasTaipale left a comment

Choose a reason for hiding this comment

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

Checked 75b83b5 and 4959419.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants