> > > > diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore > > > > index 4b676f317d..3bd39042e8 100644 > > > > --- a/devtools/libabigail.abignore > > > > +++ b/devtools/libabigail.abignore > > > > @@ -11,3 +11,17 @@ > > > > ; Ignore generated PMD information strings > > > > [suppress_variable] > > > > name_regexp = _pmd_info$ > > > > + > > > > +; Ignore fields inserted in place of reserved_opts of > > > rte_security_ipsec_sa_options > > > > +[suppress_type] > > > > + name = rte_ipsec_sa_prm > > > > + name = rte_security_ipsec_sa_options > > > > + has_data_member_inserted_between = {offset_of(reserved_opts), > end} > > > > + > > > > +[suppress_type] > > > > + name = rte_security_capability > > > > + has_data_member_inserted_between = {offset_of(reserved_opts), > > > (offset_of(reserved_opts) + 18)} > > > > + > > > > +[suppress_type] > > > > + name = rte_security_session_conf > > > > + has_data_member_inserted_between = {offset_of(reserved_opts), > > > (offset_of(reserved_opts) + 18)} > > > > > > Now, about the suppression rule, I don't understand the intention of > > > those 3 rules. > > > > > > I would simply suppress modifications (after reserved_opts) to the > > > rte_security_ipsec_sa_options struct. > > > Like: > > > > > > ; Ignore fields inserted in place of reserved_opts of > > > rte_security_ipsec_sa_options > > > [suppress_type] > > > name = rte_security_ipsec_sa_options > > > has_data_member_inserted_between = {offset_of(reserved_opts), end} > > > > > I tried this in the first place but abi check was complaining in other > > structures > which included > > rte_security_ipsec_sa_options. So I had to add suppression for those as > > well. > > Can you try at your end? > > I tried before suggesting, and it works with a single rule on this structure. > > I'm using libabigail current master, which version are you using so I > can try with the same? > I am currently using 1.6 version. I will try with latest version. $ abidiff --version abidiff: 1.6.0
and I get following issue after removing the last two suppress rules. Functions changes summary: 0 Removed, 1 Changed (8 filtered out), 0 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 function with some indirect sub-type change: [C]'function const rte_security_capability* rte_security_capabilities_get(rte_security_ctx*)' at rte_security.c:158:1 has some indirect sub-type changes: return type changed: in pointed to type 'const rte_security_capability': in unqualified underlying type 'struct rte_security_capability' at rte_security.h:808:1: type size hasn't changed 1 data member change: parameter 1 of type 'rte_security_ctx*' has sub-type changes: in pointed to type 'struct rte_security_ctx' at rte_security.h:72:1: type size hasn't changed 1 data member change: type of 'const rte_security_ops* rte_security_ctx::ops' changed: in pointed to type 'const rte_security_ops': in unqualified underlying type 'struct rte_security_ops' at rte_security_driver.h:140:1: type size hasn't changed 1 data member changes (2 filtered): type of 'security_session_create_t rte_security_ops::session_create' changed: underlying type 'int (void*, rte_security_session_conf*, rte_security_session*, rte_mempool*)*' changed: in pointed to type 'function type int (void*, rte_security_session_conf*, rte_security_session*, rte_mempool*)': parameter 2 of type 'rte_security_session_conf*' has sub-type changes: in pointed to type 'struct rte_security_session_conf' at rte_security.h:502:1: type size hasn't changed 1 data member change: