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.march...@redhat.com> > Signed-off-by: Ruifeng Wang <ruifeng.w...@arm.com> > Reviewed-by: Phil Yang <phil.y...@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 >