History log of /dpdk/devtools/libabigail.abignore (Results 1 – 25 of 38)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# a95d7054 05-Apr-2022 David Marchand <[email protected]>

eal: factorize lcore main loop

All OS implementations provide the same main loop.
Introduce helpers (shared for Linux and FreeBSD) to handle synchronisation
between main and threads and factorize th

eal: factorize lcore main loop

All OS implementations provide the same main loop.
Introduce helpers (shared for Linux and FreeBSD) to handle synchronisation
between main and threads and factorize the rest as common code.
Thread id are now logged as string in a common format across OS.

Note:
- this change also fixes Windows EAL: worker threads cpu affinity was
incorrectly reported in log.

- libabigail flags this change as breaking ABI in clang builds:
1 function with some indirect sub-type change:

[C] 'function int rte_eal_remote_launch(int (void*)*, void*, unsigned
int)' at eal_common_launch.c:35:1 has some indirect sub-type
changes:
parameter 1 of type 'int (void*)*' changed:
in pointed to type 'function type int (void*)' at rte_launch.h:31:1:
entity changed from 'function type int (void*)' to 'typedef
lcore_function_t' at rte_launch.h:31:1
type size hasn't changed

This is being investigated on libabigail side.
For now, we don't have much choice but to waive reports on this symbol.

Signed-off-by: David Marchand <[email protected]>
Acked-by: Morten Brørup <[email protected]>
Acked-by: Tyler Retzlaff <[email protected]>

show more ...


# 381813e6 23-Mar-2022 David Marchand <[email protected]>

devtools: document ABI check suppression rules

Suppression rules are being added during the life of an ABI and cleaned
when bumping the major version.
Sort and document those rules to avoid pruning

devtools: document ABI check suppression rules

Suppression rules are being added during the life of an ABI and cleaned
when bumping the major version.
Sort and document those rules to avoid pruning rules that should be kept.

Signed-off-by: David Marchand <[email protected]>

show more ...


Revision tags: v22.03, v22.03-rc4, v22.03-rc3
# b403498e 06-Mar-2022 Thomas Monjalon <[email protected]>

build: hide local symbols in shared libraries

The symbols which are not listed in the version script
are exported by default.
Adding a local section with a wildcard make non-listed functions
and var

build: hide local symbols in shared libraries

The symbols which are not listed in the version script
are exported by default.
Adding a local section with a wildcard make non-listed functions
and variables as hidden, as it should be in all version.map files.

These are the changes done in the shared libraries:
- DF .text Base auxiliary_add_device
- DF .text Base auxiliary_dev_exists
- DF .text Base auxiliary_dev_iterate
- DF .text Base auxiliary_insert_device
- DF .text Base auxiliary_is_ignored_device
- DF .text Base auxiliary_match
- DF .text Base auxiliary_on_scan
- DF .text Base auxiliary_scan
- DO .bss Base auxiliary_bus_logtype
- DO .data Base auxiliary_bus
- DO .bss Base gpu_logtype

There is no impact on regexdev library.

Because these local symbols were exported as non-internal
in DPDK 21.11, any change in these functions would break the ABI.
Exception rules are added for these experimental libraries,
so the ABI check will skip them until the next ABI version.

A check is added to avoid such miss in future.

Fixes: 1afce3086cf4 ("bus/auxiliary: introduce auxiliary bus")
Fixes: 8b8036a66e3d ("gpudev: introduce GPU device class library")
Cc: [email protected]

Signed-off-by: Thomas Monjalon <[email protected]>

show more ...


# 89e290eb 06-Mar-2022 Thomas Monjalon <[email protected]>

regexdev: fix section attribute of symbols

The functions used by the drivers must be internal,
while the function and variables used in inline functions
must be experimental.

These are the changes

regexdev: fix section attribute of symbols

The functions used by the drivers must be internal,
while the function and variables used in inline functions
must be experimental.

These are the changes done in the shared library:
- DF .text Base rte_regexdev_get_device_by_name
+ DF .text INTERNAL rte_regexdev_get_device_by_name
- DF .text Base rte_regexdev_register
+ DF .text INTERNAL rte_regexdev_register
- DF .text Base rte_regexdev_unregister
+ DF .text INTERNAL rte_regexdev_unregister
- DF .text Base rte_regexdev_is_valid_dev
+ DF .text EXPERIMENTAL rte_regexdev_is_valid_dev
- DO .bss Base rte_regex_devices
+ DO .bss EXPERIMENTAL rte_regex_devices
- DO .bss Base rte_regexdev_logtype
+ DO .bss EXPERIMENTAL rte_regexdev_logtype

Because these symbols were exported in the default section in DPDK 21.11,
any change in these functions would be seen as incompatible
by the ABI compatibility check.
An exception rule is added for this experimental library,
so the ABI check will skip it until the next ABI version.

Fixes: bab9497ef78b ("regexdev: introduce API")
Cc: [email protected]

Signed-off-by: Thomas Monjalon <[email protected]>
Acked-by: Ori Kam <[email protected]>

show more ...


# 8fdcd513 01-Mar-2022 David Marchand <[email protected]>

devtools: use libabigail rule for mlx glue drivers

Convert the existing exception in the ABI script into a libabigail
suppression rule.

Note: file_name_regexp could be used to achieve the same with

devtools: use libabigail rule for mlx glue drivers

Convert the existing exception in the ABI script into a libabigail
suppression rule.

Note: file_name_regexp could be used to achieve the same with versions of
libabigail < 1.7 but soname_regexp has been preferred here since it is
already used with a recent change on common/mlx5.

While at it, fix indent from a recent change.

Signed-off-by: David Marchand <[email protected]>
Acked-by: Ray Kinsella <[email protected]>

show more ...


Revision tags: v22.03-rc2
# c2e3059a 24-Feb-2022 Michael Baum <[email protected]>

common/mlx5: consider local functions as internal

The functions which are not explicitly marked as internal
were exported because the local catch-all rule was missing in the
version script.
After ad

common/mlx5: consider local functions as internal

The functions which are not explicitly marked as internal
were exported because the local catch-all rule was missing in the
version script.
After adding the missing rule, all local functions are hidden.
The function mlx5_get_device_guid is used in another library,
so it needs to be exported (as internal).

Because the local functions were exported as non-internal
in DPDK 21.11, any change in these functions would break the ABI.
An ABI exception is added for this library, considering that all
functions are either local or internal.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...


Revision tags: v22.03-rc1
# a678c5d3 11-Feb-2022 Arek Kusztal <[email protected]>

cryptodev: add DSA random number k

This commit adds random number 'k' to DSA
op param struct for asymmetric crypto ops.

This parameter is crucial in stiuations where:
- PMD cannot generate random n

cryptodev: add DSA random number k

This commit adds random number 'k' to DSA
op param struct for asymmetric crypto ops.

This parameter is crucial in stiuations where:
- PMD cannot generate random number
- User would like to provide random source

Additionally, it makes DSA consistent with ECDSA
in terms of 'k' which includes this parameter.

Signed-off-by: Arek Kusztal <[email protected]>
Acked-by: Akhil Goyal <[email protected]>

show more ...


# 8507a169 08-Feb-2022 Akhil Goyal <[email protected]>

security: add IPsec option for IP reassembly

A new option is added in IPsec to enable and attempt reassembly
of inbound IP packets.

Signed-off-by: Akhil Goyal <[email protected]>


Revision tags: v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1
# fdab8f2e 08-Aug-2021 Thomas Monjalon <[email protected]>

version: 21.11-rc0

Start a new release cycle with empty release notes.

The ABI version becomes 22.0.
The map files are updated to the new ABI major number (22).
The ABI exceptions are dropped and C

version: 21.11-rc0

Start a new release cycle with empty release notes.

The ABI version becomes 22.0.
The map files are updated to the new ABI major number (22).
The ABI exceptions are dropped and CI ABI checks are disabled because
compatibility is not preserved.

Signed-off-by: Thomas Monjalon <[email protected]>
Acked-by: Ferruh Yigit <[email protected]>
Acked-by: David Marchand <[email protected]>

show more ...


Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1
# 02edbfab 07-Jul-2021 Huisong Li <[email protected]>

ethdev: add dev configured flag

Currently, if dev_configure is not called or fails to be called, users
can still call dev_start successfully. So it is necessary to have a flag
which indicates whethe

ethdev: add dev configured flag

Currently, if dev_configure is not called or fails to be called, users
can still call dev_start successfully. So it is necessary to have a flag
which indicates whether the device is configured, to control whether
dev_start can be called and eliminate dependency on user invocation order.

The flag stored in "struct rte_eth_dev_data" is more reasonable than
"enum rte_eth_dev_state". "enum rte_eth_dev_state" is private to the
primary and secondary processes, and can be independently controlled.
However, the secondary process does not make resource allocations and
does not call dev_configure(). These are done by the primary process
and can be obtained or used by the secondary process. So this patch
adds a "dev_configured" flag in "rte_eth_dev_data", like "dev_started".

Signed-off-by: Huisong Li <[email protected]>
Reviewed-by: Andrew Rybchenko <[email protected]>
Acked-by: Konstantin Ananyev <[email protected]>

libabigail raised a warning on this change.
This change is fine wrt ABI as far as we understand, but we can't
express an exception rule (see libabigail bug #28060) to waive the
changes only in this part of the rte_eth_dev_data struct.
The solution for now is to globally waive any change on the
rte_eth_dev_data structure.

Signed-off-by: David Marchand <[email protected]>

show more ...


Revision tags: v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1
# 9ad9ff47 19-Apr-2021 Lijun Ou <[email protected]>

ethdev: add queue state in queried queue information

Currently, upper-layer application could get queue state only
through pointers such as dev->data->tx_queue_state[queue_id],
this is not the recom

ethdev: add queue state in queried queue information

Currently, upper-layer application could get queue state only
through pointers such as dev->data->tx_queue_state[queue_id],
this is not the recommended way to access it. So this patch
add get queue state when call rte_eth_rx_queue_info_get and
rte_eth_tx_queue_info_get API.

Note: After add queue_state field, the 'struct rte_eth_rxq_info' size
remains 128B, and the 'struct rte_eth_txq_info' size remains 64B, so
it could be ABI compatible.

Signed-off-by: Chengwen Feng <[email protected]>
Signed-off-by: Lijun Ou <[email protected]>
Acked-by: Konstantin Ananyev <[email protected]>
Acked-by: Thomas Monjalon <[email protected]>
Reviewed-by: Ferruh Yigit <[email protected]>

show more ...


# f96a8ebb 15-Apr-2021 Akhil Goyal <[email protected]>

eventdev: introduce crypto adapter enqueue API

In case an event from a previous stage is required to be forwarded
to a crypto adapter and PMD supports internal event port in crypto
adapter, exposed

eventdev: introduce crypto adapter enqueue API

In case an event from a previous stage is required to be forwarded
to a crypto adapter and PMD supports internal event port in crypto
adapter, exposed via capability
RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD, we do not have
a way to check in the API rte_event_enqueue_burst(), whether it is
for crypto adapter or for eth tx adapter.

Hence we need a new API similar to rte_event_eth_tx_adapter_enqueue(),
which can send to a crypto adapter.

Note that RTE_EVENT_TYPE_* cannot be used to make that decision,
as it is meant for event source and not event destination.
And event port designated for crypto adapter is designed to be used
for OP_NEW mode.

Hence, in order to support an event PMD which has an internal event port
in crypto adapter (RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD mode), exposed
via capability RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD,
application should use rte_event_crypto_adapter_enqueue() API to enqueue
events.

When internal port is not available(RTE_EVENT_CRYPTO_ADAPTER_OP_NEW mode),
application can use API rte_event_enqueue_burst() as it was doing earlier,
i.e. retrieve event port used by crypto adapter and bind its event queues
to that port and enqueue events using the API rte_event_enqueue_burst().

Signed-off-by: Akhil Goyal <[email protected]>
Acked-by: Abhinandan Gujjar <[email protected]>
Acked-by: Jerin Jacob <[email protected]>

show more ...


# d014dddb 14-Apr-2021 Matan Azrad <[email protected]>

cryptodev: support multiple cipher data-units

In cryptography, a block cipher is a deterministic algorithm operating
on fixed-length groups of bits, called blocks.

A block cipher consists of two pa

cryptodev: support multiple cipher data-units

In cryptography, a block cipher is a deterministic algorithm operating
on fixed-length groups of bits, called blocks.

A block cipher consists of two paired algorithms, one for encryption
and the other for decryption. Both algorithms accept two inputs:
an input block of size n bits and a key of size k bits; and both yield
an n-bit output block. The decryption algorithm is defined to be the
inverse function of the encryption.

For AES standard the block size is 16 bytes.
For AES in XTS mode, the data to be encrypted\decrypted does not have to
be multiple of 16B size, the unit of data is called data-unit.
The data-unit size can be any size in range [16B, 2^24B], so, in this
case, a data stream is divided into N amount of equal data-units and
must be encrypted\decrypted in the same data-unit resolution.

For ABI compatibility reason, the size is limited to 64K (16-bit field).
The new field dataunit_len is inserted in a struct padding hole,
which is only 2 bytes long in 32-bit build.
It could be moved and extended later during an ABI-breakage window.

The current cryptodev API doesn't allow the user to select a specific
data-unit length supported by the devices.
In addition, there is no definition how the IV is detected per data-unit
when single operation includes more than one data-unit.

That causes applications to use single operation per data-unit even though
all the data is continuous in memory what reduces datapath performance.

Add a new feature flag to support multiple data-unit sizes, called
RTE_CRYPTODEV_FF_CIPHER_MULTIPLE_DATA_UNITS.
Add a new field in cipher capability, called dataunit_set,
where the devices can report the range of the supported data-unit sizes.
Add a new cipher transformation field, called dataunit_len, where the user
can select the data-unit length for all the operations.

All the new fields do not change the size of their structures,
by filling some struct padding holes.
They are added as exceptions in the ABI check file libabigail.abignore.

Using a bitmap to report the supported data-unit sizes capability allows
the devices to report a range simply as same as the user to read it
simply. also, thus sizes are usually common and probably will be shared
among different devices.

Signed-off-by: Matan Azrad <[email protected]>
Signed-off-by: Thomas Monjalon <[email protected]>
Acked-by: Akhil Goyal <[email protected]>

show more ...


Revision tags: v21.02, v21.02-rc4, v21.02-rc3
# 1a3022b2 01-Feb-2021 David Marchand <[email protected]>

devtools: remove ethdev ABI exception

Now that the ethernet driver dev_ops structure definition is not
exported anymore, there is no need for an exception.
abidiff will only consider structures defi

devtools: remove ethdev ABI exception

Now that the ethernet driver dev_ops structure definition is not
exported anymore, there is no need for an exception.
abidiff will only consider structures defined in the installed headers
(passed with --headers-dirX options).

Fixes: df96fd0d7395 ("ethdev: make driver-only headers private")

Signed-off-by: David Marchand <[email protected]>
Acked-by: Ferruh Yigit <[email protected]>
Acked-by: Maxime Coquelin <[email protected]>

show more ...


Revision tags: v21.02-rc2
# 8d935fff 26-Jan-2021 Maxime Coquelin <[email protected]>

bus/vdev: add driver IOVA VA mode requirement

This patch adds driver flag in vdev bus driver so that
vdev drivers can require VA IOVA mode to be used, which
for example the case of Virtio-user PMD.

bus/vdev: add driver IOVA VA mode requirement

This patch adds driver flag in vdev bus driver so that
vdev drivers can require VA IOVA mode to be used, which
for example the case of Virtio-user PMD.

The patch implements the .get_iommu_class() callback, that
is called before devices probing to determine the IOVA mode
to be used, and adds a check right before the device is
probed to ensure compatible IOVA mode has been selected.

It also adds a ABI exception rule to accommodate with an
update on the driver registration API

Signed-off-by: Maxime Coquelin <[email protected]>
Acked-by: David Marchand <[email protected]>
Reviewed-by: Chenbo Xia <[email protected]>

show more ...


# 78d3dd3e 20-Jan-2021 Ray Kinsella <[email protected]>

devtools: fix cryptodev ABI suppress rule

Update the ignore entry for crytodev to use named fields
instead of bit positions.
It is allowing changes between the last field (attached) in ABI 21.0,
and

devtools: fix cryptodev ABI suppress rule

Update the ignore entry for crytodev to use named fields
instead of bit positions.
It is allowing changes between the last field (attached) in ABI 21.0,
and the end of the padded struct in ABI 21.

Fixes: 1c3ffb95595e ("cryptodev: add enqueue and dequeue callbacks")

Signed-off-by: Ray Kinsella <[email protected]>
Acked-by: Thomas Monjalon <[email protected]>

show more ...


# f0f93a7a 24-Jan-2021 Dmitry Kozlyuk <[email protected]>

buildtools: use Python pmdinfogen

Use the same interpreter to run pmdinfogen as for other build scripts.
Adjust wrapper script accordingly and also don't suppress stderr from ar
and pmdinfogen. Add

buildtools: use Python pmdinfogen

Use the same interpreter to run pmdinfogen as for other build scripts.
Adjust wrapper script accordingly and also don't suppress stderr from ar
and pmdinfogen. Add configure-time check for elftools Python module for
Unix hosts.

Add pyelftools to CI configuration and build requirements for Linux and
FreeBSD. Windows targets are not currently using pmdinfogen.

Suppress ABI warnings about generated PMD information strings.

Signed-off-by: Dmitry Kozlyuk <[email protected]>
Acked-by: Neil Horman <[email protected]>
Tested-by: Jie Zhou <[email protected]>

show more ...


Revision tags: v21.02-rc1
# 1c3ffb95 22-Dec-2020 Abhinandan Gujjar <[email protected]>

cryptodev: add enqueue and dequeue callbacks

This patch adds APIs to add/remove callback functions on crypto
enqueue/dequeue burst. The callback function will be called for
each burst of crypto ops

cryptodev: add enqueue and dequeue callbacks

This patch adds APIs to add/remove callback functions on crypto
enqueue/dequeue burst. The callback function will be called for
each burst of crypto ops received/sent on a given crypto device
queue pair.

Signed-off-by: Abhinandan Gujjar <[email protected]>
Acked-by: Konstantin Ananyev <[email protected]>
Acked-by: Akhil Goyal <[email protected]>

show more ...


# 1fe3eef5 14-Jan-2021 Liang Ma <[email protected]>

ethdev: add simple power management API

Add a simple API to allow getting the monitor conditions for
power-optimized monitoring of the Rx queues from the PMD, as well as
release notes information.

ethdev: add simple power management API

Add a simple API to allow getting the monitor conditions for
power-optimized monitoring of the Rx queues from the PMD, as well as
release notes information.

Signed-off-by: Liang Ma <[email protected]>
Signed-off-by: Anatoly Burakov <[email protected]>
Acked-by: Andrew Rybchenko <[email protected]>

show more ...


Revision tags: v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2, v20.11-rc1
# 4f86c0ba 10-Aug-2020 Thomas Monjalon <[email protected]>

version: 20.11-rc0

Start a new release cycle with empty release notes.

The ABI version becomes 21.0.
The ABI major is back to normal, having only one number (21 vs 20.0).
The map files are updated

version: 20.11-rc0

Start a new release cycle with empty release notes.

The ABI version becomes 21.0.
The ABI major is back to normal, having only one number (21 vs 20.0).
The map files are updated to the new ABI major number (21).
The ABI exceptions are dropped.
Travis ABI check is disabled because compatibility is not preserved.

Signed-off-by: Thomas Monjalon <[email protected]>
Acked-by: Ray Kinsella <[email protected]>

show more ...


Revision tags: v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2
# db48bae2 17-Jul-2020 Phil Yang <[email protected]>

mbuf: use C11 atomic builtins for refcnt

Use C11 atomic builtins with explicit ordering instead of rte_atomic
ops which enforce unnecessary barriers on aarch64.

Suggested-by: Olivier Matz <olivier.

mbuf: use C11 atomic builtins for refcnt

Use C11 atomic builtins with explicit ordering instead of rte_atomic
ops which enforce unnecessary barriers on aarch64.

Suggested-by: Olivier Matz <[email protected]>
Suggested-by: Dodji Seketeli <[email protected]>
Signed-off-by: Phil Yang <[email protected]>
Reviewed-by: Ruifeng Wang <[email protected]>
Acked-by: Olivier Matz <[email protected]>

show more ...


Revision tags: v20.08-rc1
# e0a43946 09-Jul-2020 Phil Yang <[email protected]>

eal/linux: use C11 atomics for interrupt status

The event status is defined as a volatile variable and shared between
threads. Use C11 atomic built-ins with explicit ordering instead of
rte_atomic o

eal/linux: use C11 atomics for interrupt status

The event status is defined as a volatile variable and shared between
threads. Use C11 atomic built-ins with explicit ordering instead of
rte_atomic ops which enforce unnecessary barriers on aarch64.

The event status has been cleaned up by the compare-and-swap operation
when we free the event data, so there is no need to set it to invalid
after that.

Signed-off-by: Phil Yang <[email protected]>
Reviewed-by: Ruifeng Wang <[email protected]>
Reviewed-by: Honnappa Nagarahalli <[email protected]>
Reviewed-by: Harman Kalra <[email protected]>

show more ...


# 7762e013 26-Jun-2020 David Marchand <[email protected]>

build: remove special versioning for non stable libraries

Having a special versioning for experimental/internal libraries put a
additional maintenance cost while this status is already announced in

build: remove special versioning for non stable libraries

Having a special versioning for experimental/internal libraries put a
additional maintenance cost while this status is already announced in
MAINTAINERS and the library headers/documentation.
Following discussions and vote at 05/20 TB meeting [1], use a single
versioning for all libraries in DPDK.

Note: for the ABI check, an exception [2] had been added when tweaking
this special versioning [3].
Prefer explicit libabigail rules (which will be dropped in 20.11).

1: https://mails.dpdk.org/archives/dev/2020-May/168450.html
2: https://git.dpdk.org/dpdk/commit/?id=23d7ad5db41c
3: https://git.dpdk.org/dpdk/commit/?id=ec2b8cd7ed69

Signed-off-by: David Marchand <[email protected]>
Acked-by: Ray Kinsella <[email protected]>
Acked-by: Bruce Richardson <[email protected]>

show more ...


Revision tags: v20.05, v20.05-rc4, v20.05-rc3
# 6b6ca751 15-May-2020 Hemant Agrawal <[email protected]>

drivers: mark internal NXP symbols

This patch moves the internal symbols to INTERNAL sections
so that any change in them is not reported as ABI breakage.

Signed-off-by: Hemant Agrawal <hemant.agraw

drivers: mark internal NXP symbols

This patch moves the internal symbols to INTERNAL sections
so that any change in them is not reported as ABI breakage.

Signed-off-by: Hemant Agrawal <[email protected]>
Acked-by: Ray Kinsella <[email protected]>

show more ...


# 4d1f7981 15-May-2020 Hemant Agrawal <[email protected]>

drivers/mempool: mark internal NXP symbols

This patch moves the internal symbols to INTERNAL sections
so that any change in them is not reported as ABI breakage.

Signed-off-by: Hemant Agrawal <hema

drivers/mempool: mark internal NXP symbols

This patch moves the internal symbols to INTERNAL sections
so that any change in them is not reported as ABI breakage.

Signed-off-by: Hemant Agrawal <[email protected]>
Acked-by: Ray Kinsella <[email protected]>

show more ...


12