[dpdk-dev] [PATCH 2/2] lpm: hide internal data
Bruce Richardson
bruce.richardson at intel.com
Tue Sep 15 18:02:24 CEST 2020
On Mon, Sep 07, 2020 at 04:15:17PM +0800, Ruifeng Wang wrote:
> Fields except tbl24 and tbl8 in rte_lpm structure have no
> need to be exposed to the user.
> Hide the unneeded exposure of structure fields for better
> ABI maintainability.
>
> Suggested-by: David Marchand <david.marchand at redhat.com>
> Signed-off-by: Ruifeng Wang <ruifeng.wang at arm.com>
> Reviewed-by: Phil Yang <phil.yang at arm.com>
> ---
> lib/librte_lpm/rte_lpm.c | 152 +++++++++++++++++++++++----------------
> lib/librte_lpm/rte_lpm.h | 7 --
> 2 files changed, 91 insertions(+), 68 deletions(-)
>
<snip>
> diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h
> index 03da2d37e..112d96f37 100644
> --- a/lib/librte_lpm/rte_lpm.h
> +++ b/lib/librte_lpm/rte_lpm.h
> @@ -132,17 +132,10 @@ struct rte_lpm_rule_info {
>
> /** @internal LPM structure. */
> struct rte_lpm {
> - /* LPM metadata. */
> - char name[RTE_LPM_NAMESIZE]; /**< Name of the lpm. */
> - uint32_t max_rules; /**< Max. balanced rules per lpm. */
> - uint32_t number_tbl8s; /**< Number of tbl8s. */
> - struct rte_lpm_rule_info rule_info[RTE_LPM_MAX_DEPTH]; /**< Rule info table. */
> -
> /* LPM Tables. */
> struct rte_lpm_tbl_entry tbl24[RTE_LPM_TBL24_NUM_ENTRIES]
> __rte_cache_aligned; /**< LPM tbl24 table. */
> struct rte_lpm_tbl_entry *tbl8; /**< LPM tbl8 table. */
> - struct rte_lpm_rule *rules_tbl; /**< LPM rules. */
> };
>
Since this changes the ABI, does it not need advance notice?
[Basically the return value point from rte_lpm_create() will be different,
and that return value could be used by rte_lpm_lookup() which as a static
inline function will be in the binary and using the old structure offsets.]
> /** LPM RCU QSBR configuration structure. */
> --
> 2.17.1
>
More information about the dev
mailing list