[dpdk-dev] [PATCH] ethdev: reserve space in main structs for extension
Stephen Hemminger
stephen at networkplumber.org
Fri Nov 8 04:41:33 CET 2019
On Thu, 7 Nov 2019 23:15:24 +0100
Thomas Monjalon <thomas at monjalon.net> wrote:
> The struct rte_eth_dev and rte_eth_dev_data are supposed
> to be used internally only, but there is a chance that
> increasing their size would break ABI for some applications.
> In order to allow smooth addition of features without breaking
> ABI compatibility, some space is reserved.
>
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
> lib/librte_ethdev/rte_ethdev_core.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
> index 392aea8e6b..ea8dd1d9ba 100644
> --- a/lib/librte_ethdev/rte_ethdev_core.h
> +++ b/lib/librte_ethdev/rte_ethdev_core.h
> @@ -698,6 +698,9 @@ struct rte_eth_dev {
> struct rte_eth_rxtx_callback *pre_tx_burst_cbs[RTE_MAX_QUEUES_PER_PORT];
> enum rte_eth_dev_state state; /**< Flag indicating the port state */
> void *security_ctx; /**< Context for security ops */
> +
> + uint64_t reserved_64s[4]; /**< Reserved for future fields */
> + void *reserved_ptrs[4]; /**< Reserved for future fields */
> } __rte_cache_aligned;
>
> struct rte_eth_dev_sriov;
> @@ -764,6 +767,9 @@ struct rte_eth_dev_data {
> /**< Switch-specific identifier.
> * Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
> */
> +
> + uint64_t reserved_64s[4]; /**< Reserved for future fields */
> + void *reserved_ptrs[4]; /**< Reserved for future fields */
> } __rte_cache_aligned;
>
> /**
Void * is 32 bits on 32 bit architectures is that helpful or not?
More information about the dev
mailing list