On Thu, 7 Nov 2019 23:15:24 +0100 Thomas Monjalon <tho...@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 <tho...@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?