> -----Original Message----- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Tuesday, May 26, 2015 10:58 PM > To: Dumitrescu, Cristian > Cc: Gajdzica, MaciejX T; dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH v3 01/10] table: added structure for storing > table stats > > On Tue, 26 May 2015 21:40:42 +0000 > "Dumitrescu, Cristian" <cristian.dumitrescu at intel.com> wrote: > > > > > > > > -----Original Message----- > > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Stephen > > > Hemminger > > > Sent: Tuesday, May 26, 2015 3:58 PM > > > To: Gajdzica, MaciejX T > > > Cc: dev at dpdk.org > > > Subject: Re: [dpdk-dev] [PATCH v3 01/10] table: added structure for > storing > > > table stats > > > > > > On Tue, 26 May 2015 14:39:38 +0200 > > > Maciej Gajdzica <maciejx.t.gajdzica at intel.com> wrote: > > > > > > > + > > > > /** Lookup table interface defining the lookup table operation */ > > > > struct rte_table_ops { > > > > rte_table_op_create f_create; /**< Create */ > > > > @@ -194,6 +218,7 @@ struct rte_table_ops { > > > > rte_table_op_entry_add f_add; /**< Entry add */ > > > > rte_table_op_entry_delete f_delete; /**< Entry delete */ > > > > rte_table_op_lookup f_lookup; /**< Lookup */ > > > > + rte_table_op_stats_read f_stats; /**< Stats */ > > > > }; > > > > > > Another good idea, which is an ABI change. > > > > This is simply adding a new API function, this is not changing any function > prototype. There is no change required in the map file of this library. Is > there > anything we should have done and we did not do? > > > > But if I built an external set of code which had rte_table_ops (don't worry I > haven't) > and that binary ran with the new definition, the core code it table would > reference > outside the (old version) of rte_table_ops structure and find garbage.
This is just adding a new field at the end of an API data structure. Based on input from multiple people and after reviewing the rules listed on http://dpdk.org/doc/guides/rel_notes/abi.html , I think this is an acceptable change. There are other patches in flight on this mailing list that are in the same situation. Any typical/well behaved application will not break due to this change.